多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
IsDebuggerPresent 示在被调试器调试情况下,调用该函数会返回正在被调试。 并且该函数是被Kernel32.dll导出的,该函数没有参数,如果当前程序正在被调试的话,返回值为1,没有被调试的话,返回值为0 跟其他API函数一样,IsDebuggerPersent的返回值也保存在EAX中。 下面是一个带反调试函数`IsDebuggerPresent`的程序 用原版OD会自动停下(因为检测到有调试器) 链接:https://pan.baidu.com/s/1MFTdRcRarONy3OIbSKdLGA 下函数断点:`bp IsDebuggerPresent` Ctrl+F9执行到返回,可以看到EAX为1,说明检测到调试器 接着运行,程序回自动停下来 我们把EAX的值改为0,程序成功运行 可以给程序打个补丁: 跟到函数返回接着F8,跳过结束进程的函数,把程序从存一份