这里真的是一个字破解了
继上一版教程:https://www.52pojie.cn/thread-1461661-1-1.html
看了大家的评论其实还是比较伤心的啊,没有给大家带来一完美的破解,最后发现是假破解(伪破解),只是提示信息变成了已注册,但是其实没破解。最近加班比较严重,没有及时更新帖子,惭愧啊!
废话不多说,上一篇帖子,可以简单看看,解包不再叙述。
上正题:
继续用吾爱论坛的 工具: 《呕雷第八哥》(OllyDbg)
1. 把软件拖进od,先让它断下载,不要F9走完了。
这里是入口点,
QQ截图20210622144252.png (175.87 KB, 下载次数: 0)
下载附件
2021-6-22 14:43 上传
2.往下分析:
大概执行到了几百行,要F8往下走,不要F9走完了。
走到这里的时候,就不要F8往下走了,我们需要去call里面。
QQ截图20210622144631.png (93.66 KB, 下载次数: 0)
下载附件
2021-6-22 14:47 上传
00F86112 . E8 D9080000 call WebSocke.00F869F0
3.分析这个call WebSocke.00F869F0
这个很关键:
我们F7跳进去
call WebSocke.00F869F0
这个地址里面的方法我盲猜是判断有没有授权,然后绘制倒计时窗口的。
话不多说,往下走,重点又来了
QQ截图20210622145320.png (97.63 KB, 下载次数: 0)
下载附件
2021-6-22 14:54 上传
00F86AD0 |. E8 DB05FFFF call WebSocke.00F770B0
call WebSocke.00F770B0 这个也很很关键,题外话,我是怎么判断这些个call比较关键的,1.凭感觉,2.当你发现某个call执行完了,程序出现了某些动作,这些动作是阻碍验证的,或者不在自己假设范围内的,你就应该进去看看
4.分析call WebSocke.00F770B0
我们F7进去跳进去分析,F8往下走.......
当你看到哇,这么多call的时候,初学者肯定会奔溃的,一个一个跳进去分析,那不得分析到明年去了,其实没必要,还是那句话,凭感觉,你就知道这个函数,应该是处理字符的,记录什么,但是真正意义上对我们分析不太大,
况且这些call都不在我们程序的 领空。F8走过就完事....
QQ截图20210622145811.png (214.24 KB, 下载次数: 0)
下载附件
2021-6-22 14:59 上传
一定要注意一切的判断比较类型的 汇编执行:
比如:J 开头的指令:
JE
;等于则跳转
JNE
;不等于则跳转
JZ
;为 0 则跳转
JNZ
;不为 0 则跳转
JS
;为负则跳转
JNS
;不为负则跳转
JC
;进位则跳转
JNC
;不进位则跳转
JO
;溢出则跳转
JNO
;不溢出则跳转
JA
;无符号大于则跳转
JNA
;无符号不大于则跳转
JAE
;无符号大于等于则跳转
JNAE
;无符号不大于等于则跳转
JG
;有符号大于则跳转
JNG
;有符号不大于则跳转
JGE
;有符号大于等于则跳转
JNGE
;有符号不大于等于则跳转
JB
;无符号小于则跳转
JNB
;无符号不小于则跳转
JBE
;无符号小于等于则跳转
JNBE
;无符号不小于等于则跳转
JL
;有符号小于则跳转
JNL
;有符号不小于则跳转
JLE
;有符号小于等于则跳转
JNLE
;有符号不小于等于则跳转
JP
;奇偶位置位则跳转
JNP
;奇偶位清除则跳转
JPE
;奇偶位相等则跳转
JPO
;奇偶位不等则跳转
选自 :https://blog.csdn.net/weixin_32589873/article/details/78207020
然后就是 比较指令、跳转指令
看这里 :https://www.jb51.net/article/179106.htm
话不多耍,F8往下走
、
看这里:
QQ截图20210622150816.png (91.14 KB, 下载次数: 0)
下载附件
2021-6-22 15:08 上传
这里会加载一个 license.txt 的文件,文件内容我想应该是正确的密钥
继续F8往下走,胜利就在眼前了...........
QQ截图20210622151052.png (110.71 KB, 下载次数: 0)
下载附件
2021-6-22 15:11 上传
00F774B2 |. E8 69F6FFFF call WebSocke.00F76B20
00F774B7 |. 8B35 78B6F800 mov esi,dword ptr ds:[] ; Qt5Widge.QWidget::show
00F774BD |. 83C4 08 add esp,0x8
00F774C0 |. B3 01 mov bl,0x1
00F774C2 |. 3D C8000000 cmp eax,0xC8
00F774C7 74 7B je short WebSocke.00F77544
00F774C9 |. 68 A8F70001 push WebSocke.0100F7A8 ; N
00F774CE |. B9 A4F70001 mov ecx,WebSocke.0100F7A4 ; N
这里就是关键点了:
先看这句话,写过窗口应用的同学应该知道,窗口被初始化完成后,一般会调用一个show函数,显示出来
00F774B7 |. 8B35 78B6F800 mov esi,dword ptr ds:[] ; Qt5Widge.QWidget::show
在看这句话
00F774B2 |. E8 69F6FFFF call WebSocke.00F76B20
这个call其实就是校验密钥用的call,我怎么知道?说实话,1.大胆假设,2.细心求证,3.凭感觉.........
有兴趣,或者有能力的同学可以去分析的,应该会得到真正的密钥算法
我太菜了,分析不来。
其实你看到
00F774B2 |. E8 69F6FFFF call WebSocke.00F76B20
00F774B7 |. 8B35 78B6F800 mov esi,dword ptr ds:[] ; Qt5Widge.QWidget::show
00F774BD |. 83C4 08 add esp,0x8
00F774C0 |. B3 01 mov bl,0x1
00F774C2 |. 3D C8000000 cmp eax,0xC8
这些个代码,应该能猜到的
调用一个函数,后面赋值还要判断,,重点是还有一个cmp je 没跑了,就是它
00F774C2 |. 3D C8000000 cmp eax,0xC8
00F774C7 74 7B je short WebSocke.00F77544
精华部分来了,点题了,一个字破解真正开始了
你只需要把 je 改为 jne ,就完事了
解释下:
JE
;等于则跳转
JNE
;不等于则跳转
然后你就可以F9走完了。
5.结果:
当当当当.............,看到没:你们要的 终身赞赏版来了,我试了下,东西还是听完整的,不会再跳到关于界面了
QQ截图20210622152057.png (22.09 KB, 下载次数: 0)
下载附件
2021-6-22 15:21 上传
当然了,注册码还是老规矩,随便输入,
QQ截图20210622152437.png (65.39 KB, 下载次数: 0)
下载附件
2021-6-22 15:25 上传
感觉支持,完结,撒花
上一篇帖子管理不让放破解版,我这里就不放了
附上原软件作者地址:https://blog.csdn.net/openownworld/article/details/95178583?spm=1001.2014.3001.5501
QQ截图20210622152856.png (93.85 KB, 下载次数: 0)
下载附件
2021-6-22 15:29 上传
往下翻翻就能找到下载地址
@不苦小和尚 你要的破解版来了。
[color=]5a4d