终止DebugActiveProcess或其他调试例程

时间:2013-08-12 23:44:39

标签: c++ debugging msdn detours

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

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

1 个答案:

答案 0 :(得分:0)

我不知道你对“防止调试”的意思是什么。

使用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