bp on payload entry

Тема в разделе "WASM.RESEARCH", создана пользователем sn0w, 28 мар 2018.

  1. sn0w

    sn0w Active Member

    Публикаций:
    0
    Регистрация:
    27 фев 2010
    Сообщения:
    958
    драсьте, может баян, короче задача такая, надо отследить запуск пейлоада. и брякнуться. известно что регистры перед этим будут восстановлены как на EP.
    единственная идея - поинструкционный трейс с проверкой регистров... мб чтото еще?

    напейсал тут, ибо раздел wasm.debug не гуглится
     
  2. Indy_

    Indy_ Well-Known Member

    Публикаций:
    4
    Регистрация:
    29 апр 2011
    Сообщения:
    4.775
    sn0w,

    Запуск приложения разделяется на фазы. Первым запускается нэйтив, он также на фазы делится. Они нужны для отладки и прочих вещей, это загрузка нэйтив инструментов, например контроллеры памяти(верифер), слой совместимости(shim) и прочие подобные вещи. Системный загрузчик сразу после запуска может вести полный лог событий, но это нужно запустить, так как это дебаг механизм. Этого обычно достаточно для отладки запуска любого апп.

    EP - это довольно размытое понятие, длл энтри или какой то тлс тоже EP. А есчо EP может быть скрыта слоем протектора. Уточните вопрос, нужны подробные детали.
     
  3. sn0w

    sn0w Active Member

    Публикаций:
    0
    Регистрация:
    27 фев 2010
    Сообщения:
    958
    это я понимаю, обычно начинаю с sxe ld:ntdll если чтото "само по себе" и внезапно происходит.
    тут всё просто: на борту бинаря, допустим ехе, есть запакованный пейлоад, известно что перед всяким мусором( антитрейс, антиэмуль итд) и последующим анпаком пейлоада, сохраняются нонволатильные регистры, вместе с esp/ebp - именно те, которые были по адресу AddressOfEntryPoint. после распаковки в памяти пейлоада, эти регистры восстанавливаются и происходит джамп на EP полезной нагрузки. но в ней кстати тотже optional_header замусорен пакером. и вот надо както отловить момент когда все регистры будут равны тем что были сохранены, либо както ждать чтоли появления страниц со взведенным битом PAGE_EXECUTE и на них вешать PAGE_GUARD.
    вот хз.
     
  4. RET

    RET Well-Known Member

    Публикаций:
    17
    Регистрация:
    5 янв 2008
    Сообщения:
    789
    Адрес:
    Jabber: darksys@sj.ms
    А что олю не заюзать? Или нужно программно? Поже вы из АВ котноры чтоле? Трейс + TF ставьте.