Windows下常见反调试具体办法.docxVIP

  • 3
  • 0
  • 约2.09万字
  • 约 23页
  • 2018-11-16 发布于江苏
  • 举报
Windows下常见反调试具体办法

仁人教育 仁人教育 Windows 下常见的反调试方法 稍稍总结一下在Crack或Rervese中比较常见的一些反调试方法,实现起来也比较简单,之后有写的Demo源码参考,没有太大的难度。 ? ①最简单也是最基础的,Windows提供的API接口:IsDebuggerPresent(),这API实际上就是访问PEB的BeingDebugged标志来判断是否处于调试状态。 if (IsDebuggerPresent()) //API接口 { AfxMessageBox(L检测到调试器); } else { AfxMessageBox(L没有检测到调试器); } ②自己用汇编实现实现IsDebuggerPresent,如何获得PEB呢?在应用层,fs寄存器是指向当前线程的TEB结构的,而在内核层,fs寄存器指向PCR(Processor Control Region)的内存,其数据类型是KPCR。所以可以通过当前线程的TEB获得PEB,再取出BeingDebugged的值。 mov eax, fs:18h // TEB Self指针 mov eax, [eax+30h] // PEB movzx eax, [eax+2] // PEB-BeingDebugged _asm { push eax; //

文档评论(0)

1亿VIP精品文档

相关文档