ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

[练习]多体位轮爆式破解练习

2019-03-30 13:39:54  阅读:512  来源: 互联网

标签:F8 练习 CALL 体位 跳转 报错 断点 注册码 爆式


前戏一:先打开软件看一下

 

点击注册

 

 

一般有这种注册失败弹窗,都是软件的巨大漏洞。

前戏二:DIE查一下软件信息

OK,前戏做足,开始办正事。

体位一:通过搜索报错信息破解

既然有报错信息,那就OD载入先搜索一下看看

 

点击JMP看一下

那就简单了,找到跳过这个JMP的跳转看一下

发现是一个JE。这个JE完整的跳过了注册成功的信息。上面是一个关键CALL,毫无疑问这个JE就是关键跳

 

既然找到关键CALL,关键跳,进CALL改EAX,还是JE改JMP或者直接NOP就随意了。

 

体位二:通过设置MessageBox断点破解

因为软件注册失败有报错弹窗,所以可以下一个MessageBox断点

重新载入OD,下断点

F9运行,点注册,填上任意注册码

程序停在了断点处,看一下机器码,是系统领空,OK,F8单步运行看看

 

记下这个机器码,将刚才设置的其他断点禁用。

 

重新载入,F9运行,程序停在断点处,按F7进CALL,F8继续单步。寻找一个能跳过CALL验证的跳转.

发现F8到一个CALL的时候程序又运行了,而且还是在系统领空。

重复上面的步骤:下断点---重新载入---F7进CALL---F8继续下一步

 

 

 

 

(F4跳过有时会直接运行程序,可以配合修改Z标志位跳出循环。)

依然在系统领空,继续F8

终于来到了程序领空,可以看到刚跳出来的错误弹窗的CALL,而且发现有一个JMP跳过了错误提示

但同时有一个跳转进来,跳过JMP,这跳转应该就是关键跳。

 

发现果然是第一种方法时候找到的关键跳

那后面就没什么好说的了,和之前的操作方法一样。

 

体位三:暂停法

OD载入程序后,直接F9运行,点击注册,任意输入注册码,弹出报错信息。

此时不要点确定关闭弹窗,回到OD,点击工具栏上暂停(或者按F12),然后点击工具栏上的“K”图标

(或者F12暂停后直接ALT+F9“执行到用户代码”更快捷,可以跳过“显示调用”这一步)

点击“K”图标后,进入下图界面。

此时可以看到有两个“user32.MessageBoxExA”,而且都在程序领空。任意选中一个,右键---显示调用

回到了反汇编窗口,发现确实是调用信息框的那个CALL(user32.MessageBoxExA)。F2下个断点,重新载入。

重新载入后,继续F9运行,软件弹出注册界面,任意输入注册码,点击注册。程序停在了刚才下的断点处。

F8单步,发现程序运行了。

没关系,正常情况。点报错弹窗的确定让程序暂停,再回到OD。

继续F8,出CALL。看看有没有一个跳转能跳过这个控制报错弹框的CALL。

果然有一个JMP能跳过信息框。

 

再看一眼左侧红圈出进来的跳转是不是之前找到过的关键跳。

果然是,那没有什么可说的了。

 

总结:

其实上面的几种方法都只是一个思路,都未必能够直接破解掉。

为啥呢?

因为只是找到一个能跳过报错信息的跳转,不管用什么办法令这个跳转不实现,那也只是跳过了一处验证而已。

一个软件作者很可能设置很多处的验证,只跳过一处是没用的。

最低限度,起码得有一个重启验证吧。

重启后软件一检查发现注册码都没有或者不正确,还是要你重新注册。

所以说,找到正确是注册码才是根本的解决之道。

那怎么找呢?

思考一下:决定一个跳转是否实现的因素是什么?

是它前面的CALL。

软件如何能判断用户输入的注册码是对是错?必然是因为它内部存在正确的注册码。(这里只讨论不需要联网验证的单机版软件)

当用户输入注册码后,会和正确的注册码进行比对。

这个比对的过程就是在关键CALL里进行的。

那就进关键CALL内部去寻找注册码。

 

最后一步:寻找注册码

 

在之前找到的关键CALL的位置F2下个断点。重新载入后,F9运行。

输入假码,点注册。

程序停在了断点处,F7进CALL,再F8单步,发现程序在对我们刚输入的假码进行比对。

 

继续F8,真码就要出现了。

OK,把这行疑似的真码复制下来,注册页面试一下,注册成功。

 

标签:F8,练习,CALL,体位,跳转,报错,断点,注册码,爆式
来源: https://www.cnblogs.com/vawa1900/p/10616765.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有