终止DebugActiveProcess或其他调试例程

Terminate DebugActiveProcess or other debugging routines

本文关键字:调试例程 其他 DebugActiveProcess 终止      更新时间:2023-10-16

我有点想把这更多地作为一个思想实验(我在聊天中问过,但被引导到这里)。但如果有帮助的话,我可以提供代码。这是场景!

进程1正在运行并不断调试进程2,我在进程2中注入了一个DLL,并绕过了它所依赖的一个Windows函数,这样我就可以执行自己的代码。在流程2中是否有一种方法可以阻止流程1继续调试流程2?

我不知道你对"阻止调试"的唯一含义是什么。

使用NtSetInformationThread ,可以避免debbuger接收任何与进程相关的事件

push 0
push 0
push 11h ;ThreadHideFromDebugger
push -2 ;GetCurrentThread() // you can use it on every thread
call NtSetInformationThread

参考:Peter Ferrie反调试技巧http://pferrie.host22.com/papers/antidebug.pdf