关键call和关键跳
前言:
恒大的教程去到第五课,关修改关键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://jiushill.github.io/posts/f60102e8.html版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。