首页
社区
课程
招聘
[原创]《成功助理》追出注册码
发表于: 2010-5-31 16:46 12211

[原创]《成功助理》追出注册码

2010-5-31 16:46
12211
最近看到“熊猫正正”发表的一篇文章《【原创】成功助理的爆破!!!》后,自己也试着追了下注册码,没想到既然成功啦!现与大伙分享成功的喜悦!

《成功助理》追出注册码

此款软件的爆破在论坛里已经有了,作者为“熊猫正正”,主题为“【原创】成功助理的爆破!!!”此文也可定义为后续吧。
第一步查壳脱壳:这步参考“熊猫正正”的文章即可。
第二步收集软件的相关信息:运行脱了壳的软件,这里为“88.exe”,在“新建/打开账户窗口”的“新建账户名称”填入一个账户,我这里以“mingming”为例。

“确定”后进入软件的主界面,菜单栏的上方会看到这样一行字。

我们再试试“帮助”菜单下的“注册软件”,“注册名”处填入“mingming(注:为什么填“mingming”,因为不同的用户,注册码是不一样的,前面我们以“mingming”这个用户登录,那我们在这里也以“mingming”这个用户追注册码),“注册码”处随便填,这里我填“87654321”,点“完成注册”后出现“注册失败”对话框,到此我们需要的信息就收集完了。
第三步 关闭软件,OD载入。汇编窗口点击鼠标右键选择“越级字串参考+”→“查找ASCII”→在出现的窗口再右键“查找”→输入“注册失败”字样后回车。就定位在这行上:
00842A95 PUSH 88.0084303C 注册失败!
我们往下看看还有没有其他信息,往下后看到这些信息:

有“注册成功!”这个信息!看到这个信息对于喜欢爆破的来说已经离成功不远了,但要追注册码还需要一些运气,之所以说是运气,是因为这是针对初学者而言的,如果软件的设计是以明码比对的话,只要注意看“寄存器窗口”、“内存窗口”和“堆栈窗口”就可找到正确的注册码。
我们在第一个“注册失败!”这里双击鼠标进入到汇编窗口,光标停在:
00842A95 68 3C308400 PUSH 88.0084303C ; 注册失败!
往上看,看看都有些什么跳转。看到有两个跳转:
00842A55 /74 61 JE SHORT 88.00842AB8
00842A84 /74 32 JE SHORT 88.00842AB8
这两个跳转都是跳到同样的地方:00842AB8,而且这个00842AB8已经是跳过了“注册失败!”这行。得到这些信息后,我们在最上面的那个跳转的上一行按F2键下个断点。
00842A51 8078 57 00 CMP BYTE PTR DS:[EAX+57],0 在这行下断。
在弹出的“可疑的断点”对话框点选择“是”,然后按F9,把软件运行起来。软件运行后,默认是以“mingming”这个账户进入了界面,可以通过软件的“文件”菜单下的“新建/打开账户”菜单看到。

接着点开“帮助”菜单下的“注册软件”,用户名处输入“mingming”,注册码处随便输入,这里以“87654321”为例,点“完成注册”后被OD拦下,光标就停在下断处。
F8单步分析,一直走到这行:
00842B17 83F8 10 CMP EAX,10 在这行停一下,这行下面的这个跳转,我们先
用鼠标点击它看看跳到哪里。
00842B1A /0F85 74040000 JNZ 88.00842F94 跳到00842F94这里,但这里已经过了
“注册成功!”,所以这个跳是不能让它
实现的,那就得分析这句的上一句是什
么意思了。经过分析上句得知:注册码
应为16位数,CMP EAX,10,这个10是
十六进制数,转为十进制数是16
经过分析后,得知注册码必须为16位数,F9键让软件运行完注册失败动作,再在注册码处输入16位数,这里以“8765432187654321”为例。输入后再点“完成注册”。被OD拦下,再F8单步分析,走到上面那行00842B1A跳转处后,看到跳转已经不实现了,说明注册码就是16位数的。
再往下走,看到有跳转处:
00842B39 /0F85 55040000 JNZ 88.00842F94 看到有跳转处就先停下来,看看跳转到
哪里,是否跳过注册成功之类的地方,
跳过的话就要分析这个跳转的上一条指
令的意思,没跳过可不理。(个人经验)
经过分析,这个跳转已经跳过“注册成功!”,再往下就是“注册失败!”,所以这个跳转以上的指令都得认真分析:
00842B20 8D4D DC LEA ECX,DWORD PTR SS:[EBP-24]
00842B23 8B55 F4 MOV EDX,DWORD PTR SS:[EBP-C]
F8到这句,信息窗口中显示如下信息:
我们输入的注册码
00842B26 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
F8
到这句,信息窗口中显示如下信息:
我们输入的账户名
00842B29 E8 82A6D3FF CALL 88.0057D1B0 经过以上两句信息得知,这个CALL
肯定是计算正确注册码的CALL,
一般情况下看到即传送用户名又
传送注册码的时候,那往下的CALL
十有八九就是计算正确注册码的
关键CALL了(本人经验)。在这里
用F7跟进分析。
F7跟进后一直F8往下走,在注释栏里你会看到类似这样的句子:
ASCII "XXXXXXXXXXXXXXX"
这些应该都是账户名,有兴趣的大家可以分析它们,这里我不理它,一路F8一直走到这句:
0057D5DD BA 10DC5700 MOV EDX,88.0057DC10 ; *1^cgsxy*- 在这句停一下,因为
这句的“*1^cgsxy*-”
有些可疑,账户名的
话应该不可能这样取
名吧,所以得F7进入
这句的下一句CALL
分析一下。
0057D5E2 E8 997AE8FF CALL 88.00405080 F7进入这个CALL分析。
进入后一路F8,在这里边走边注意观察“信息窗口”、“寄存器窗口”和“内存窗口”的数值,具体看什么数值呢?就看我们输入的注册码“8765432187654321”,注意观察它的变化,看它的上下左右有没有同是16位的东西出现。(注:1、在一路F8的过程中,会碰到一些循环,不理它,循环就让它循环;2、在信息窗口中会看到类似这样的信息:(ASCII "1b9a1a22616300894bd26f40338549fb"),起初我还以为是注册码呢,不是的,我也不知道是什么:)菜鸟嘛,不理它,关键的是要看16位的东西)
经过一路的F8后来到了这句:
0057D7D7 8B55 D8 MOV EDX,DWORD PTR SS:[EBP-28] 来到这句后,就会在信息窗口里看到如下信息:
堆栈 SS:[0012F4D0]=093866AC, (ASCII "Z1/a316Gnh178@\1")
EDX=0012F468
数一下那个ASCII里面数有多少位?正好16位!这个就是“mingming”这个账户的真正注册码!
再往下F8走的话也会在信息窗口看到把这个数和我们输入的注册码送给寄存器,然后就是一个CALL,在这里可以看到:
0057D7E2 8B00 MOV EAX,DWORD PTR DS:[EAX]
这句是把ASCII "Z1/a316Gnh178@\1"送EAX
0057D7E4 8B55 F8 MOV EDX,DWORD PTR SS:[EBP-8]
这句是把ASCII "8765432187654321"送EDX
0057D7E7 E8 187CE8FF CALL 88.00405404
这句当然就是比较的计算公式了,要想了解的就再进入分析吧,到这里已经拿到真正的注册码了,就不理了,关闭OD重新运行未脱壳的软件,账户名:mingming;注册码:Z1/a316Gnh178@\1即可!

后话:大虾们见笑了,我也是一名初学者!在此对成功助理软件公司开发商----郑州天行健商务咨询有限公司表示深深的歉意!希望大家能从此文中学到自己想要的东东。
本贴仅供学习研究测试之用。切勿用与非法用途。请下载后24小时内自行删除。
出现一切后果,LZ不负直接或连带责任。

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

上传的附件:
收藏
免费 0
支持
分享
最新回复 (11)
雪    币: 9
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
站个一楼,支持一下
2010-6-3 09:20
0
雪    币: 450
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
支持一下!好像还有网络验证的哟
2010-6-3 15:39
0
雪    币: 222
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
赞 一 个先...
2010-6-3 20:14
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
感谢分享!!支持!!!!
2010-6-4 14:27
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
值得初学者学习,只有这样才能慢慢地成为高手。
2010-6-7 10:07
0
雪    币: 934
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
楼主太小看这个软件了,这个软件追注册码是很简单的事情,关键是要能完美爆破,此软件暗桩多的很,不是一般人能解决的,我曾经开了一贴讨论此软件,http://bbs.pediy.com/showthread.php?t=111459
不过还是没人人patch。本人发现的暗桩说一说:
1.程序会自动更新,弹出更新对话框就不能用了,这个应该好破(OD直接NOOP);
2.注册成功后把系统时间向后调1-2个月,会出现网络验证:见图

3.程序会在这个版本的某一时间后不能启动(大于月份或者年份都不能启动),各个版本的具体时间可以参考我帖子中的图,帖子中是5.1的时间,程序将会在这个时间发布新的版本修改时间否则交钱注册了,程序也会启不来,跳也是不行的,会出现登陆格式错误。
目前发现的就这些暗桩,此程序最难的是时间验证,网络验证也好弄。
希望楼主能继续研究研究,保证原创的含量
上传的附件:
2010-6-25 11:37
0
雪    币: 145
活跃值: (85)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
8
收藏      改日实践学习。
2010-6-25 21:26
0
雪    币: 285
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
成功助理的作者应该要吐血了~~~~~~
2010-6-26 08:40
0
雪    币: 226
活跃值: (72)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
如果有暗桩,还是少用为好。。。时间验证。。。。
2010-6-26 17:14
0
雪    币: 34
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
时间的暗桩很好去掉,5.1和5.2版本限制都是2010.10.10
2010-6-27 21:06
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
成功助理5.2完美破解版说明:
1、去掉了2010-10-10以后主程序无法运行和数据库读取时格式错误的提示;

-----读取系统时间和固定的日期进行比较,大于就出错。
2、任意注册名,任意的16位注册码注册,使软件将正确的注册码写入到数据库文件中(即软件实现自注册);

-----软件使用明码比较,使用真码和真码进行比较,并把真码写入到注册文件中。
3、去掉了30天试用的限制,也就是实现了永远的试用版,即不注册也可以永久试用;

-----NOP到计算使用天数的两个CALL,使试用天数永远保持初始值。
4、去掉了新版本的升级提示及左下角的滚动提示;

-----直接RETN
5、最后,其实这个软件的网络验证完全是虚设的,没有过试用期的话,也就永远不会出现网络验证的注册框。

-----搞定试用天数,也就搞定了这个了。
注意:注册码必须是16位。
2010-7-5 10:34
0
游客
登录 | 注册 方可回帖
返回
//