【纯小白】【玩玩破解,写给新人看(第六集) 】跳过-实践
本帖最后由 vulpe 于 2021-1-31 18:09 编辑学到第六集了,感谢大佬@yyhd 的教程。
继续实践,大佬在第六集中讲了跳过call,我个人感觉是跳过弹"登录失败"的那个call,不过要怎么跳过,得看情况,有一次就行的,也有需要多次的。
大佬给的CM中,一个是只需要一个“返回到”就可以破解,一个需要多次“返回到”。
先来练习第一个----只需要一个“返回到”即可破解的:
还是老样子,打开OD,拖入CM软件,这里用到了一个下断点的命令:BP,需要在命令栏输入BP MessageBoxA,在数据区的下面输入:
这样就给调用MessageBoxA的地方下好了断点,然后F9运行程序,随便输入,点击确定后,会在MessageBoxA调用处停下来,在右下角的堆栈区可见:
地下的地方,是即将要执行的地方,但未执行,那么堆栈区中,在MessageBoxA下面最近的一个“返回到”便是刚刚执行了的,需要优先追踪。鼠标右击这个“返回到”,选择:反汇编窗口跟踪,则代码区会转至该“返回到”的call执行结束处:
接着,在代码区往上一行,就是一个call,而要做的就是跳过这个call,不让他执行,怎么跳过,去上面代码处找有没有跳转语句,恰好有个jmp,可以跳过,不用做处理了:
但是,在这个jmp下面一行前面有个”>“箭头说明,还有其他语句会跳过来,跳过来后会依次执行下去,那这个call就还会执行,所以得再往前找那个跳过来的语句,我们可以左键点一下“>”处的语句,便可看到是哪跳过来的:
那目标就很明确了,修改这个je为nop,不让他跳转到那个mov语句,那么程序执行到此,会顺序往下执行,直到执行到上面说的那个jmp时就发生跳转,自然就跳过了那个call,也就破解成功了,再把程序保存起,试下是不是输入任意就提示登录成功了呢:
然后这个多次“返回到”程序好像有问题,打不开(附带一句,win10真强,我把自带的windows defender都通过注册表禁用了,还能给我灭了)。但思路应该都是一样,当发现没有任何可以跳过那个call的,就继续从“返回到”最终上一个call,直到找到为止。 尼阿爸 发表于 2021-2-1 01:16
我在命令栏输入BP MessageBoxA了 ,后来每次都运行都不会完整,老是一半自动断点,这个东西怎么关掉啊, ...
页面上应该有个b符号,点进去可以看到所有下的断点,右键删除,然后ctrl+F2重载即可,或者OD-->选项-->调试选项-->异常,把里面的√全部去掉,再Ctrl+F2重载 谢谢帅哥的教程。 感谢楼主的分享教学 很棒,谢谢楼主分享!
很棒,谢谢楼主分享! 感谢楼主分享,但看不懂{:1_937:} 不错,值得学习
感谢楼主分享 很棒,谢谢楼主分享!我也是新人:Dweeqw 我在命令栏输入BP MessageBoxA了 ,后来每次都运行都不会完整,老是一半自动断点,这个东西怎么关掉啊,删掉字符运行还是一样
页:
[1]
2