180314 逆向-反调试技术(7)调试器检测

1625-5 王子昂 总结《2018年3月14日》 【连续第529天总结】
A. 反调试技术(7)
B.

调试器检测

书上讲了很多SoftICE的检测方法,但是那玩意儿连XP都不支持,时代的眼泪了……

OD的检测方法

  1. 查找特征码
    遍历进程,将特定地址处的值与OD的特征码进行比对,相同则确定是OD
    不过这种方法只针对特定版本的软件,不同版本可能会使得特征码不同,因此有一定缺憾
  2. 检测DBGHELP模块
    调试器一般用Microsoft提供的DBGHELP库来装载调试负好,如果一个进程加载了DBGHELP.DLL,那么它很可能是一个调试器
    可以通过创建进程快照,然后遍历进程中的加载模块来检测
    不过应对方法也很简单,只需要将DBGHELP改名,再修改OD中对应的名字字符串即可
  3. 查找窗口和进程
    因为OD只是一个R3级的调试器,本质仍然是一个程序,所以可以通过两种常见的方式去检测:
    • 查找窗口
      • FindWindow
        通过类名和标题可以查找OD的主窗口是否开启
      • EnumWindow
        这个函数枚举所有顶级窗口,并调用指定的回调函数。在回调函数中可以用GetWindowText取得窗口标题,并比对特征字符串
      • GetForeGroundWindow
        这个函数与前两种方法略有不同,它返回前台窗口(用户当前工作的窗口)。当程序正在被调试时,调用这个函数将会获得前台窗口,也就是OD的窗口句柄
    • 查找进程
      枚举进
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值