Пришла мне идея отладчика с эмуляцией 0. Создается процесс CREATE_SUSPENDED 1. Внедряется наша dll 2. Берется точка входа и с нее начинается эмуляция EIP = EntryPoint. 3. Вызовы API просто исполняются без эмуляции. 4. Если эмуляция команды еще не реализована в эмуляторе, то нужно после команды записать прыжок на отладчик, а саму команду исполнить процессором Вопросы 0. самый радикальный - если вообще смысл такого отладчика 1. если таковой существует, то нет смысла разрабатывать 2. что делать с исключениями 3. что делать с многопоточностью
Rustem такой эмулятор есть ( ну или почти такой) vmware а для чего это нужно - то ? если для дизассеблера то весчь нужная и полезная так как позволит достоверно отделить исполняемый код от данных и показать реальный flow
> 3. Вызовы API просто исполняются без эмуляции. А если у функции есть callback параметр, что тогда? А тогда мы теряем управление и выполняем любой код - некошерно! > 4. Если эмуляция команды еще не реализована в эмуляторе, то > нужно после команды записать прыжок на отладчик, а саму команду > исполнить процессором А смысл тогда вообще что-то эмулить - можно все на процессоре выполнять - получится обычный отладчик =)