玩玩破解(第九集)之个人问题分享
本帖最后由 huangdc 于 2021-1-28 15:11 编辑本篇写的是个人在做作业(第九集的exe)的时候,针对作者文章一些不理解的地方(我没看懂的地方),做一些个人阐述(破解完成后有了一些自己的认识)。
问题:
1、如何判断程序读取到“登录失败”后,需要返回几层CALL。
2、作者说的JMP和JMP下面还有一个跳转能够跳过来,在哪里?
解答:
问题1:
1、说明:在本案例中,跟着作者的思路,我们找到了程序取得“登录失败”的位置,作者也在文章中指出,我们现在停留的位置是在验证CALL与弹框错误提示之间。所以我们目前要找到软件展示错误提示的位置,本案例中就是弹框。
2、操作:一步一步F8,直到跳出弹框。
问题2:
1、说明:一开始没看懂作者说的话,后来自己找到会走向失败的流程才看懂。真正含义是我们在找出弹框的代码后,向上找到了大跳转的代码,再观察会发现上面还有个跳转会让逻辑跳过这个jmp的判断,从而导致流程走向失败!
2、把图中的je改为nop,即完成破解。
如有错误,请大家帮忙指出 ma5635 发表于 2021-1-29 12:45
但是 麻烦问下怎么具体分析哪段是:“信息”,哪段是“弹窗”,有什么代码标志么?
我理解主要在于CALL调用函数。
因为我们是根据错误信息反向找的,在不断F8,跳出的过程中,如果到了我们需要修改的代码段(即验证+提示的整个代码)那么此时代码停留的位置的上一条CALL就是信息获取的方法。
弹框就比较好确定了,就一直F8,如果程序CALL调用了一个方法,然后弹框了,那就说明弹框逻辑在这个方法里。 nice,感谢楼主分享!
4012E7的跳转不实现就不会触发“登录失败”。JE的意思是相等则跳转,将其改为JNE或nop掉都行
JE或JZ,含义为:相等则跳转
JNE或JNZ,含义为:不相等则跳 小白学习中
有大佬知道win10不能执行到返回怎么解决!!! 谢谢分享,第二个问题,确实想了好久。 有点高级,没做过开发的人表示看不懂
小白学习中 对嘛,一起讨论才有提高,我的就是研究方向错误,破解应该不彻底,登陆后有提示框,但是没得文字,还以为成功来,原来还是失败了。 但是 麻烦问下怎么具体分析哪段是:“信息”,哪段是“弹窗”,有什么代码标志么?