预先感谢。
#1 楼
反连接在很大程度上取决于Windows在目标进程中创建远程线程的事实。通常使用此线程的特定功能来检测连接。例如:
Windows为连接线程选择的入口点默认是“ DbgUiRemoteBreakin”功能。反连接技巧通常会钩住此功能或其同级功能“ DbgBreakPoint”功能。
调试块,NtContinue,ThreadHideFromDebugger等。
http://waleedassar.blogspot.de/2011/12/ debuggers-anti-attaching-techniques.html
http://waleedassar.blogspot.de/2011/12/debuggers-anti-attaching-techniques_11.html
http://waleedassar.blogspot.de/ 2011/12 / debuggers-anti-attaching-techniques_13.html
http://waleedassar.blogspot.de/2012/02/debuggers-anti-attaching-techniques_15.html
http:// waleedassar。 blogspot.de/2012/11/sizeofstackreserve-as-anti-attaching.html
评论
您指的是哪种反调试保护?测试ptrace只能使用将在代码中本地化的测试来完成。而且,我不确定附加到正在运行的软件是否会导致写入0xcc(是吗?)。因此,检测到源代码修改的自检例程将失败。.我的猜测是,将调试器附加到程序并以安全模式停止时,您只需要幸运。完全取决于平台。在Windows上,一个常见的技巧是在连接调试器后立即修补内核调用的某些例程(在ntdll中)。一种解决方案是在附加之前简单地在内存中还原ntdll。我认为这个问题很棘手,您能更具体一点吗?