我正在尝试将调试器(windbg,ollydbg)附加到正在运行的进程,但是有一个错误,说调试器已经附加,那么我如何从该进程中分离出未知的调试器?
进程包括多线程,一个线程可以附加到调试器而其他线程不能。
答案 0 :(得分:2)
该过程可能会产生第二个进程,该进程使用DebugActiveProcess()
附加到第一个进程进行调试,以防止人们调试第一个进程。请记住,进程无法使用此方法自行调试,因此必须生成第二个进程才能执行此操作。
你可以尝试的事情:
DebugActiveProcessStop()
将其与第一个流程分离DebugActiveProcess()
(kernel32.DebugActiveProcess
,ntdll.ZwDebugActiveProcess
或在kernelmode中)并将其重定向以附加到其他虚拟进程DebugActiveProcess()
将失败