如果有附加保护,如何将调试器附加到应用程序?

逆向工程 反调试
2021-06-27 21:32:08

有时我试图将 Ollydbg 附加到那些对调试器有一些保护的应用程序,但我从来没有编写过这些应用程序中的任何一个,也没有在许多应用程序中看到这种保护......所以看起来绕过这个并不难,但是我很好奇,以前从未尝试过。你们是怎么做的?(至少有一些关于一些简单程序的例子)。

提前致谢。

1个回答

反附加很大程度上取决于 Windows 在目标进程中创建远程线程的事实。此线程的具体内容通常用于检测附加。

例如: Windows 为附加线程选择的入口点默认是“DbgUiRemoteBreakin”函数。反附着技巧通常会钩住这个函数或其兄弟函数,即“DbgBreakPoint”函数。

此外,附加线程(如大多数普通线程)将调用关联的 TLS 回调这一事实也被利用来检测附加。

调试块、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