Сейчас на форуме: hgdagon, asfa, bartolomeo (+4 невидимых) |
![]() |
eXeL@B —› Программирование —› Как перехватить управление процессом до выполнения функции DllMain |
Посл.ответ | Сообщение |
|
Создано: 19 января 2007 10:39 · Личное сообщение · #1 Вопрос такой: Делаю перехватчик функций в заданной программе. Запускаю исследуемый процесс функцией CreateProcess с флагами CREATE_NEW_CONSOLE or CREATE_SUSPENDED. Потом с помощью функции CreateRemoteThread внедряю свою dll для перехвата Api. Потом с помощью ResumeThread запускаю иследуюмый процесс. Но вызов фунции DllMain моей dll стартует после вызова функции DllMain всех статических dll определенных в иследуемом процессе, в результате чего приложение может противодействовать перехвату заранее на этапе загрузки определив точки входа перехватываемых функций, а также возможно и начальный фрагмент кода входа в функции. Есть ли мысли как обойти данное ограничение? P.S. На wasm.ru предложили для этих целей использовать DebugAPI (LOAD_DLL_DEBUG_EVENT) Насколько затормозится работа приложения в режиме пассивной отладки (приложение тайм критикал - движок Unreal) Насколько реально приложению засечь отладку? А самое главное есть ли еще другие варианты решения данной проблемы? ![]() |
|
Создано: 19 января 2007 10:44 · Личное сообщение · #2 |
|
Создано: 19 января 2007 10:52 · Личное сообщение · #3 Не неправильно понял ![]() И не факт что моя длл успеет перехватить функции раньше dll программы. ![]() |
|
Создано: 19 января 2007 11:07 · Личное сообщение · #4 |
|
Создано: 19 января 2007 11:09 · Личное сообщение · #5 |
|
Создано: 19 января 2007 12:42 · Личное сообщение · #6 |
|
Создано: 19 января 2007 14:23 · Личное сообщение · #7 |
![]() |
eXeL@B —› Программирование —› Как перехватить управление процессом до выполнения функции DllMain |