написал модуль с перехватом одной апи функции и прописал dll в реестр. скомпилировал испытуемое приложение которое использует перехваченную функцию , оконное, юзер32 есть - но перехват не работает. Если запустить под отладчиком - все ок. Как быть и в чем причина?
какая ос ? в висте и севене кроме AppInit_DLLs нужно еще в LoadAppInit_DLLs единичку писать. еще проверь, возможно ты неправильный путь к длл указываешь.
Следует применить до захвата такой не сложный макрос: Код (Text): BREAK macro break_$__: jmp break_$__ endm Затем в дебуггере аттач сделать. Или в случая ядерного дебаггера - юзаем Int 0x2A, бряк тудаже.
Clerk дебеггер олли. я использовал в коде инт3 и после запуска испытуемого приложения под олли происходит бряк в коде с хуком на инт3. если просто запускать испытуемый ехе - ничего не работает. но я то хочу чтобы работало без дебуггера!
Значит без дебуггера останов не происходит ? Тогда нужно ставить останов до установки перехвата, вобщем код нужно видеть.
Один убеждён, что перехват не работает? Возможно, управление на код-заместитель передаётся — просто код-заместитель работает не так, как ожидается. И, в результате, создаётся впечатление, что не работает перехват.