关键call和关键跳

  1. 前言:
    1. 正文:

前言:

恒大的教程去到第五课,关修改关键call的值实现破解。这里也跟着学习了一遍,关键跳的上面有个关键call。而关键call是决定关键跳是否跳转的主要因素。

正文:

这里用到的是教程里面的视频转换专家,百度上找一个下载。
首先先查壳

查壳之后发现无壳,拖入OD进行分析。

搜索关键字”注册”,找到一个双击跳转


往上移看看能不能找到什么线索,发现一个跳转

这个跳转跳过了注册成功,我们不要让他成功,可以使用Noop填充之类的操作。但是我们这次要学习的修改call的值,我们看看上面的call。下个断点,然后F9运行程序输入假码看看。

从call中我们可以发现,里面有我们输入的假码。F8单步像下看看

test al,al 可以看出EAX和ECX在进行比较。如果为1则注册成功,如果为0则注册不成功。而这一切的罪魁祸首就是call,所以我们进入call中进行修改(手动滑稽啦)

F7进入call

修改如下图所示
mov eax,1(将1赋值给eax) retn(退出call)

然后选择修改的部分复制到可执行文件,将其保存。

发现已经按不了了,代表已经注册了。

转载请注明:来自422926799.github.io


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。

文章标题:关键call和关键跳

本文作者:九世

发布时间:2018-08-28, 12:30:37

最后更新:2019-04-19, 20:36:16

原始链接:http://422926799.github.io/posts/f60102e8.html

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录