Ollydbg逆向过程遇到的一个反调试机制

 

  这两天尝试逆向一个木马,MD5=C8102164058B27B5553924255093B643,再调试的时候遇到了一个诡异的地方。

  调试到上图红框处时,看到调用的是个系统函数,就直接F8准备跳过了。结果,和我想得不一样的是,居然程序跳到了系统函数的内部,如图位置,注意红色框内地址明显不是正常程序内部,然后我继续无脑F9,还是在系统函数内部,但是看到报了个RtlRaiseException错误。查了很多资料发现原来这是恶意样本反调试的一种机制,因为调试时ollydbg会自动接管处理这种错误,所以没法绕开。而直接执行样本时,样本自身会跳过这个错误:

  解决方案是,在ollydbg中选择选项(Options)-> 调试选项(Debugging Options) ->异常 -> 同时忽略以下指定的异常或范围 -> 添加范围(00000000-ffffffff), 然后就可以了。这样ollydbg就不会自动去处理这个错误。

然后在初始阶段那个函数的下一步下断点F2,随后F9,搞定!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值