Как стать автором
Поиск
Написать публикацию
Обновить

Комментарии 4

После того, как наша функция готова, компилируем ее и берем двоичный код объектного файла. 

Вот это можно поподробнее? Чем компилируем, как берем код?

Далее создаем для нее поток

Каким образом создается поток?

Поддерживаю. Самое интересное осталось за кадром. (Подробнее о восстановлении таблицы импорта.)

"Чем компилируем" - любым C++ компилятором. Можно воспользоваться тем, что идет в составе Visual Studio.


"как берем код" - скомпилированный машинный код можно найти в созданном после компиляции объектном (*.obj) файле. Сохранить бинарное представление функции в отдельный файл можно с помощью любого HEX-редактора (Hiew, WinHEX и тд)


"Каким образом создается поток?" - с помощью отладчика xdbg это делается достаточно просто: в окне дизассемблера нажав ПКМ на первой инструкции будущего потока выбрать в выпадающем меню "Создать новый поток здесь"

Я так понимаю это все-таки инструмент, который называется x64dbg, поправьте, если не прав. Теперь ждем статью о том, как работают утилиты для восстановления импорта, чтобы знать что они кушают на вход для восстановления.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий