好友
阅读权限30
听众
最后登录1970-1-1
|
本帖最后由 lvbuqing 于 2021-6-22 19:19 编辑
WebSocketMan-bin-v1.0.8一个字破解教程(第二版)
这里真的是一个字破解了
继上一版教程:https://www.52pojie.cn/thread-1461661-1-1.html
看了大家的评论其实还是比较伤心的啊,没有给大家带来一完美的破解,最后发现是假破解(伪破解),只是提示信息变成了已注册,但是其实没破解。最近加班比较严重,没有及时更新帖子,惭愧啊!
废话不多说,上一篇帖子,可以简单看看,解包不再叙述。
上正题:
继续用吾爱论坛的 工具: 《呕雷第八哥》(OllyDbg)
1. 把软件拖进od,先让它断下载,不要F9走完了。
这里是入口点,
2.往下分析:
大概执行到了几百行,要F8往下走,不要F9走完了。
走到这里的时候,就不要F8往下走了,我们需要去call里面。
00F86112 . E8 D9080000 call WebSocke.00F869F0
3.分析这个call WebSocke.00F869F0
这个很关键:
我们F7跳进去
call WebSocke.00F869F0
这个地址里面的方法我盲猜是判断有没有授权,然后绘制倒计时窗口的。
话不多说,往下走,重点又来了
00F86AD0 |. E8 DB05FFFF call WebSocke.00F770B0
call WebSocke.00F770B0 这个也很很关键,题外话,我是怎么判断这些个call比较关键的,1.凭感觉,2.当你发现某个call执行完了,程序出现了某些动作,这些动作是阻碍验证的,或者不在自己假设范围内的,你就应该进去看看
4.分析call WebSocke.00F770B0
我们F7进去跳进去分析,F8往下走.......
当你看到哇,这么多call的时候,初学者肯定会奔溃的,一个一个跳进去分析,那不得分析到明年去了,其实没必要,还是那句话,凭感觉,你就知道这个函数,应该是处理字符的,记录什么,但是真正意义上对我们分析不太大,
况且这些call都不在我们程序的 领空。F8走过就完事....
一定要注意一切的判断比较类型的 汇编执行:
比如: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往下走
、
看这里:
这里会加载一个 license.txt 的文件,文件内容我想应该是正确的密钥
继续F8往下走,胜利就在眼前了...........
00F774B2 |. E8 69F6FFFF call WebSocke.00F76B20
00F774B7 |. 8B35 78B6F800 mov esi,dword ptr ds:[<&Qt5Widgets.QWidget::show>] ; 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:[<&Qt5Widgets.QWidget::show>] ; 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:[<&Qt5Widgets.QWidget::show>] ; 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.结果:
当当当当.............,看到没:你们要的 终身赞赏版来了,我试了下,东西还是听完整的,不会再跳到关于界面了
当然了,注册码还是老规矩,随便输入,
感觉支持,完结,撒花
上一篇帖子管理不让放破解版,我这里就不放了
附上原软件作者地址:https://blog.csdn.net/openownworld/article/details/95178583?spm=1001.2014.3001.5501
往下翻翻就能找到下载地址
@不苦小和尚 你要的破解版来了。
5a4d
|
免费评分
-
查看全部评分
|
发帖前要善用【论坛搜索】功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。 |
|
|
|
|