OD学习笔记(退出暗桩的解决方法)

        我的上一篇博客写了Push法绕过登录框(https://blog.csdn.net/qq_43065505/article/details/98901017),其中提到了该方法的弊端之一:暗桩。

        那么暗桩到底是什么呢?暗桩一般是指程序的二次或多次验证,在特定的条件下触发,用来判断文件是否被修改或破解,一般用于反破解保护。而有些软件的作者会利用暗桩来诱导计算机关机甚至是格盘,所以Push法理应慎用;但今天讲到的就是如何破解这个暗桩,我上一篇博客中提到的软件已经用push法拿到了多个窗口,而这诸多窗口中就不乏有暗桩。我们一个个点开看了之后发现有一个程序,点开后立马就退出,而从任务管理器中看到该进程一闪而过,便推测该程序可能是一个退出暗桩即打开后会验证程序是否被破解,若是的话便退出执行。

一、载入OD

        我们依旧将其载入OD看看,按F9执行程序后发现程序正常退出;所以我们要在其退出之前下断点,找到菜单栏里的插件->API断点设置工具->常用断点设置,打开断点设置工具,在常用断点里找到程序退出断点ExitProcess,根据OD版本的不同可以在不同的栏里多找找,下好断点后F9运行程序。

        程序在将要退出时被断了下来,我们看右下方的堆栈窗口,可以看到有一个Call 到 ExitProcess,这毫无疑问就是退出程序的call了我们在其下方发现了一个返回到 0x520100.004D0660的数据,右键点击选择反汇编窗口中跟随来到了反汇编界面,在反汇编代码里我们发现了关键call和关键跳;箭头指向的那个call就是退出程序的call,而箭头指向的那个跳转jle就是跳过此call的关键跳,跳转前面的部分可能是在验证该程序是否被破解,若被破解则跳转不成立,向下执行进入call,若未被破解则跳转成立,跳过此call,很明显此处只需要将jle改为jmp无条件跳转即可。

        改完以后保存到可执行文件,发现已经可以正常使用而不会退出了,至此破解暗桩就已经完成了。

二、总结

        用Push法绕过窗体时一定得谨慎,不能盲目的打开窗口,这次遇见的暗桩属于较为友好的类型,但难免存在有攻击性的暗桩。

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值