加入收藏 | 设为首页 | 会员中心 | 我要投稿 西安站长网 (https://www.029zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

26种对付反调试的方法

发布时间:2019-03-22 04:10:04 所属栏目:建站 来源:luochicun
导读:副标题#e# 目前主要有3种分析软件的方法: 1.数据交换分析,研究人员使用数据包嗅探工具来分析网络数据交换。 2.对软件的二进制代码进行反汇编,然后以汇编语言列出。 3.字节码解码或二进制解码,然后以高级编程语言重新创建源代码。 本文针对的是Windows操

在这里,我们设置了一个VEH处理程序并产生中断(不需要int 1h)。在中断生成时,出现异常,控制被传送到VEH处理程序。如果设置了硬件断点,程序执行停止。如果没有硬件断点,则EIP寄存器值会增加2,以在int 1h处生成指令后继续执行。

如何避开硬件断点检查和VEH

我们来看看导致VEH处理程序的调用堆栈:

  1. 0:000> kn 
  2.  # ChildEBP RetAddr   
  3. 00 001cf21c 774d6822 AntiDebug!ExceptionHandler  
  4. 01 001cf26c 7753d151 ntdll!RtlpCallVectoredHandlers+0xba02 001cf304 775107ff ntdll!RtlDispatchException+0x7203 001cf304 00bf4a69 ntdll!KiUserExceptionDispatcher+0xf04 001cfc1c 00c2680e AntiDebug!main+0x59  
  5. 05 001cfc30 00c2665a AntiDebug!invoke_main+0x1e  
  6. 06 001cfc88 00c264ed AntiDebug!__scrt_common_main_seh+0x15a  
  7. 07 001cfc90 00c26828 AntiDebug!__scrt_common_main+0xd  
  8. 08 001cfc98 753e7c04 AntiDebug!mainCRTStartup+0x8  
  9. 09 001cfcac 7752ad1f KERNEL32!BaseThreadInitThunk+0x24 
  10. 0a 001cfcf4 7752acea ntdll!__RtlUserThreadStart+0x2f 
  11. 0b 001cfd04 00000000 ntdll!_RtlUserThreadStart+0x1b 

我们可以看到,控制从主+ 0x59转移到ntdll!KiUserExceptionDispatcher。让我们看看主+ 0x59中的什么指令导致了这个调用:

  1. 0:000> u main+59 L1 
  2. AntiDebug!main+0x59 
  3. 00bf4a69 cd02            int     1       

(编辑:西安站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读