反调试
向你扔鸡爪
Go!Go!Go!
展开
-
热补丁反调试API Hook—上跳/下跳
以 IsDebuggerPresent 函数为例,可以看到可以上跳(简单),也可以下跳(复杂)。原创 2024-09-30 14:15:34 · 260 阅读 · 0 评论 -
反调试—API2
就后面的几个异常而言:程序不挂调试器,是不会产生异常的,只是无效操作(你的代码产生的错误,不够发生异常,并不是不挂就永远不会异常)。挂了调试器就会抛出异常(内核抛),调试器接受异常,由于调试器只能处理断点异常,所以调试器有会把异常还给程序的异常处理模块,所以执行了return TRUE;如果不挂调试器,程序要执行__except块,必须在抛一个异常(throw)或者代码错误足够产生异常才会进入,不然永远不会进去__except块。原创 2024-09-29 22:22:01 · 163 阅读 · 0 评论 -
反调试防护-API1
上面有些都是依靠api,如果对方挂钩了,api就失效,只有手动实现标志位检查。其内部实际调用NtQueryInformationProcess()FS指向TEB,FS:30指向PEB,PEB+2指向debug标志。GS指向TEB,GS:60指向PEB,PEB+2指向debug标志。原创 2024-09-29 15:48:23 · 328 阅读 · 0 评论