2024年5月2日发(作者:)

第十九章-OllyDbg反调试之IsDebuggerPresent

本章开始,我们将讨论反调试的相关话题,包括手工以及通过OD插件来绕过对应的反

调试的技巧。很多程序会检测自身是否正在被调试,如果检测到正在被调试的话,就会结束自

身进程或者不按常规流程运行。所以绕过程序对OD的检测是很有必要的。

本章就介绍使用API函数-IsDebuggerPresent检测OD,这也是最常用的检测调试器

的方法。

这里,我们使用来讲解,用OD加载它。

我们记得我们的OD只安装了命令栏插件,并没有安装绕过IsDebuggerPresent检测

的插件,那么是如何使用IsDebuggerPresent来检测OD的呢?

如果我们按F9键让程序运行起来,我们会发现并没有弹出CrackMe窗口,程序直接终

止了。

OD的左下方显示程序已经终止,所以,我们看不到窗口出现,嘿嘿。该CrackMe可能使

用的是最常见的API函数IsDebuggerPresent来检测是否被调试的。

重启该CrackMe,通过单击鼠标右键选择Search for-Name(label) in current

module查看API函数列表,看看是否使用了IsDebuggerPresent。

我们看看API函数列表