Комментарии 4
После того, как наша функция готова, компилируем ее и берем двоичный код объектного файла.
Вот это можно поподробнее? Чем компилируем, как берем код?
Далее создаем для нее поток
Каким образом создается поток?
Поддерживаю. Самое интересное осталось за кадром. (Подробнее о восстановлении таблицы импорта.)
"Чем компилируем" - любым C++ компилятором. Можно воспользоваться тем, что идет в составе Visual Studio.
"как берем код" - скомпилированный машинный код можно найти в созданном после компиляции объектном (*.obj) файле. Сохранить бинарное представление функции в отдельный файл можно с помощью любого HEX-редактора (Hiew, WinHEX и тд)
"Каким образом создается поток?" - с помощью отладчика xdbg это делается достаточно просто: в окне дизассемблера нажав ПКМ на первой инструкции будущего потока выбрать в выпадающем меню "Создать новый поток здесь"
Использование IDA+IDAPython+Xdbg при восстановлении обфусцированного семпла