- UID
- 9863
注册时间2006-3-21
阅读权限10
最后登录1970-1-1
周游历练
TA的每日心情 | 慵懒 2015-12-17 23:46 |
---|
签到天数: 1 天 [LV.1]初来乍到
|
楼主 |
发表于 2006-9-16 11:21:07
|
显示全部楼层
破文3
【破解作者】 coder
【作者邮箱】 [email protected]
【作者主页】 www666.ttsite.com
【使用工具】 od,peid,脑子
【破解平台】 Win9x/NT/2000/XP
【软件名称】 spuerdic.exe
【下载地址】 附件里
【软件简介】 一个字典生成器,居然要15元的注册费,像我这样的穷人哪有钱注册,只好破解你了,对不住了!
【软件大小】 332kb
【加壳方式】 无壳
【破解声明】 我是一只小菜鸟,偶得一点心得,愿与大家分享:)
--------------------------------------------------------------------------------
【破解内容】
首先查壳,发现VC编译
无壳就好办了。点注册选项卡,打入91919191,这可是我的大法哦,次次成功!呵
点注册,晕!它要重起验证,看看有没有生成什么文件,没有,那就是注册表里了,找啊找
终于在HKEY_CURRENT_USER\Software\EUsoft\superdic里找出她的!
删了它!
OD载入,然后找未注册字样。找到一处,上面还有已注册哦。看来作者还是挺好的。不破她还是过意不去了!
先来爆破,天热嘛,多爆几个解解火!
来到这里
004030F6 . 83D8 FF SBB EAX,-1
004030F9 85C0 TEST EAX,EAX
004030FB 0F85 AB000000 JNZ superdic.004031AC //跳到未注册
00403101 8D6C24 2C LEA EBP,DWORD PTR SS:[ESP+2C]
00403105 8D86 A4050000 LEA EAX,DWORD PTR DS:[ESI+5A4]
0040310B 8A10 MOV DL,BYTE PTR DS:[EAX]
0040310D 8A5D 00 MOV BL,BYTE PTR SS:[EBP]
00403110 8ACA MOV CL,DL
00403112 3AD3 CMP DL,BL
00403114 75 1E JNZ SHORT superdic.00403134
00403116 84C9 TEST CL,CL
00403118 74 16 JE SHORT superdic.00403130
0040311A 8A50 01 MOV DL,BYTE PTR DS:[EAX+1]
0040311D 8A5D 01 MOV BL,BYTE PTR SS:[EBP+1]
00403120 8ACA MOV CL,DL
00403122 3AD3 CMP DL,BL
00403124 75 0E JNZ SHORT superdic.00403134
00403126 83C0 02 ADD EAX,2
00403129 83C5 02 ADD EBP,2
0040312C 84C9 TEST CL,CL
0040312E ^ 75 DB JNZ SHORT superdic.0040310B
00403130 33C0 XOR EAX,EAX
00403132 EB 05 JMP SHORT superdic.00403139
00403134 1BC0 SBB EAX,EAX
00403136 83D8 FF SBB EAX,-1
00403139 85C0 TEST EAX,EAX
0040313B 74 6F JE SHORT superdic.004031AC //跳到未注册
0040313D 8D4424 2C LEA EAX,DWORD PTR SS:[ESP+2C]
00403141 . 8BCE MOV ECX,ESI
00403143 . 50 PUSH EAX
00403144 . 68 A1040000 PUSH 4A1
00403149 . E8 C8AB0200 CALL superdic.0042DD16
下面是已注册与未注册代码处:
0040319B . 8BC8 MOV ECX,EAX
0040319D . E8 7EAD0200 CALL superdic.0042DF20
004031A2 . 68 B4214400 PUSH superdic.004421B4 ; 易优软件--超级字典生成器 v3.2 (已注册)
004031A7 . E9 0E030000 JMP superdic.004034BA
004031AC > 6A 00 PUSH 0
004031AE . 68 52040000 PUSH 452
004031B3 . 8BCE MOV ECX,ESI
004031B5 . E8 04AB0200 CALL superdic.0042DCBE
004031BA . 8BC8 MOV ECX,EAX
004031BC . E8 5FAD0200 CALL superdic.0042DF20
004031C1 . 6A 00 PUSH 0
004031C3 . 68 9D040000 PUSH 49D
004031C8 . 8BCE MOV ECX,ESI
004031CA . E8 EFAA0200 CALL superdic.0042DCBE
004031CF . 8BC8 MOV ECX,EAX
004031D1 . E8 4AAD0200 CALL superdic.0042DF20
004031D6 . 6A 00 PUSH 0
004031D8 . 68 75040000 PUSH 475
004031DD . 8BCE MOV ECX,ESI
004031DF . E8 DAAA0200 CALL superdic.0042DCBE
004031E4 . 8BC8 MOV ECX,EAX
004031E6 . E8 35AD0200 CALL superdic.0042DF20
004031EB . 6A 00 PUSH 0
我们在刚才跳到未注册字样的两处汇编,NOP掉还有早吗?
好吧,保存运行,成功注册了。
下面我们来做注册机,先删了注册表的注册项。
打开我们的KEYMAKE1。7
选内存注册机,我们找到刚才的注册按纽处,下断,再找到两个跳到未注册的跳传前面下断,运行,断在跳到未
注册字样的那个断点上,我们再来F8来到这里:
004030F4 > \1BC0 SBB EAX,EAX //下断处
004030F6 . 83D8 FF SBB EAX,-1
004030F9 85C0 TEST EAX,EAX
004030FB 0F85 AB000000 JNZ superdic.004031AC //跳向未注册,死亡跳
00403101 8D6C24 2C LEA EBP,DWORD PTR SS:[ESP+2C]
00403105 8D86 A4050000 LEA EAX,DWORD PTR DS:[ESI+5A4]
0040310B 8A10 MOV DL,BYTE PTR DS:[EAX]
0040310D 8A5D 00 MOV BL,BYTE PTR SS:[EBP]
00403110 8ACA MOV CL,DL
00403112 3AD3 CMP DL,BL
00403114 75 1E JNZ SHORT superdic.00403134
00403116 84C9 TEST CL,CL
00403118 74 16 JE SHORT superdic.00403130
0040311A 8A50 01 MOV DL,BYTE PTR DS:[EAX+1]
0040311D 8A5D 01 MOV BL,BYTE PTR SS:[EBP+1]
00403120 8ACA MOV CL,DL
00403122 3AD3 CMP DL,BL
00403124 75 0E JNZ SHORT superdic.00403134
00403126 83C0 02 ADD EAX,2
00403129 83C5 02 ADD EBP,2
0040312C 84C9 TEST CL,CL
0040312E ^ 75 DB JNZ SHORT superdic.0040310B
00403130 33C0 XOR EAX,EAX
00403132 EB 05 JMP SHORT superdic.00403139
00403134 1BC0 SBB EAX,EAX
00403136 83D8 FF SBB EAX,-1
00403139 85C0 TEST EAX,EAX
0040313B 74 6F JE SHORT superdic.004031AC //跳向未注册
0040313D 8D4424 2C LEA EAX,DWORD PTR SS:[ESP+2C]
00403141 . 8BCE MOV ECX,ESI
00403143 . 50 PUSH EAX
00403144 . 68 A1040000 PUSH 4A1
00403149 . E8 C8AB0200 CALL superdic.0042DD16
0040314E . 6A 00 PUSH 0
00403150 . 68 A0040000 PUSH 4A0
00403155 . 8BCE MOV ECX,ESI
我们F8来到 004030F9 85C0 TEST EAX,EAX
这句的意思是把两个EAX的值相比较,然后再执行下一句,跳还是不跳!等就不跳,不等就跳向over
我们停在这里查看EAX发现其值为-1
难道这就是注册码?
不敢相信,我们就打入试试,天那,居然成功了。
再在KEYMAKE里写入地址
4030F9
1
85
2
添加,然后要注意的是,我们这回不是内存方式的。因为我们看不到注册码,可爱的宝贝在寄存器当中呢。
我们就在寄存器那里点勾,然后选EAX
生成,测试,成功注册,到此程序已破解成功!拿着内存注册机玩去吧!
--------------------------------------------------------------------------------
【破解总结】
第一次破重起注册成功!没有开注册表监视也没有文件监视就成功了,可怜的作者啊~~!成功的原因是发现了程序的字符串没加密,要不我也搞不定了!运气而已! |
|