- UID
- 47211
注册时间2008-2-26
阅读权限10
最后登录1970-1-1
周游历练
该用户从未签到
|
软件名称:雨田进销存(单机版)
下载地址:http://www.bwled.com/jishuziliao/bsjxc.exe(不要转到其他网站,我的小网站,流量大了,承受不了)
作者说明:本文仅做学习研究只用,作者不保证软件真实有效。这个软件我用了“一键OEM工具”替换了某些关键词,不影响使用。
使用工具:OD AspackDie.eXe PEID
一,脱壳过程:
1.用PEID查:ASPack 2.12 -> Alexey Solodovnikov。这个手工用很多方法可以搞定,这里我们用工具AspackDie.eXe ,直接打开文件,提示成功。
2.用PEID查脱壳后的文件,Borland Delphi 6.0 - 7.0,这里就不多说了
二,注册码寻找:
1.OD载入
0064AAE8 > $ 55 PUSH EBP 》》》》》》》》》》》OD载入 ,后停在这里。
0064AAE9 . 8BEC MOV EBP,ESP
0064AAEB . 83C4 F0 ADD ESP,-10
0064AAEE . B8 58A26400 MOV EAX,Unpacked.0064A258
0064AAF3 . E8 D8C5DBFF CALL Unpacked.004070D0
0064AAF8 . A1 1CFA6400 MOV EAX,DWORD PTR DS:[64FA1C]
2.我们直接运行软件(F9),输入默认的管理员密码123456。
3.帮助中点软件注册,随便输入注册码11112222。(844B2036)这个是我机器的机器玛,你的可能不一样。
4.提示注册码错误。在OD插件里找“寻找ASCII"找到下面这个”
超级字串参考, 项目 5300
地址=00646D01
反汇编=MOV EDX,Unpacked.00646D8C
文本字串=注册码错误
5.双击进去,OD停在这里:
00646D01 |. BA 8C6D6400 MOV EDX,Unpacked.00646D8C ; 注册码错误
00646D06 |. A1 1CFA6400 MOV EAX,DWORD PTR DS:[64FA1C]
00646D0B |. 8B00 MOV EAX,DWORD PTR DS:[EAX]
00646D0D |. E8 7A46E4FF CALL Unpacked.0048B38C
00646D12 |> 33C0 XOR EAX,EAX
00646D14 |. 5A POP EDX
00646D15 |. 59 POP ECX
00646D16 |. 59 POP ECX
6.找到这段的段首,F2下断,
00646C5C |. 68 3A6D6400 PUSH Unpacked.00646D3A
00646C61 |. 64:FF30 PUSH DWORD PTR FS:[EAX]
00646C64 |. 64:8920 MOV DWORD PTR FS:[EAX],ESP
00646C67 |. 8D55 F4 LEA EDX,DWORD PTR SS:[EBP-C]
00646C6A |. 8B83 08030000 MOV EAX,DWORD PTR DS:[EBX+308]
00646C70 |. E8 FF41E2FF CALL Unpacked.0046AE74
00646C75 |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C]
00646C78 |. 8D4D F8 LEA ECX,DWORD PTR SS:[EBP-8]
00646C7B |. BA 506D6400 MOV EDX,Unpacked.00646D50 ; l雨i田f进8销l存d
7.重新载如程序,F9运行,输入假注册码。注册,OD断下来了!停在我们刚下断这里:
00646C5C |. 68 3A6D6400 PUSH Unpacked.00646D3A
00646C61 |. 64:FF30 PUSH DWORD PTR FS:[EAX]
00646C64 |. 64:8920 MOV DWORD PTR FS:[EAX],ESP
00646C67 |. 8D55 F4 LEA EDX,DWORD PTR SS:[EBP-C]
00646C6A |. 8B83 08030000 MOV EAX,DWORD PTR DS:[EBX+308]
00646C70 |. E8 FF41E2FF CALL Unpacked.0046AE74
00646C75 |. 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C] ; 我的机器码
00646C78 |. 8D4D F8 LEA ECX,DWORD PTR SS:[EBP-8]
00646C7B |. BA 506D6400 MOV EDX,Unpacked.00646D50 ; l雨i田f进8销l存d
00646C80 |. E8 8B86F7FF CALL Unpacked.005BF310
00646C85 |. 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
00646C88 |. 8D55 FC LEA EDX,DWORD PTR SS:[EBP-4] ; 我的机器码
00646C8B |. E8 5485F7FF CALL Unpacked.005BF1E4
00646C90 |. 8D55 F0 LEA EDX,DWORD PTR SS:[EBP-10]
00646C93 |. 8B83 0C030000 MOV EAX,DWORD PTR DS:[EBX+30C]
00646C99 |. E8 D641E2FF CALL Unpacked.0046AE74
00646C9E |. 8B55 F0 MOV EDX,DWORD PTR SS:[EBP-10] ; 假注册码(11112222)
00646CA1 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4] ; 真注册码
8.单步到 “00646CA1 ”在堆栈里出现了真的注册玛。复制到文本里,运行软件,注册成功!
0012F1B8 025A0B0C ASCII "'T'#$E7#$DE'+'#$FE#$DF'U'#$8B"这个是我的机器对应的注册码。(引号里面粉红色的)
说明:这个软件就是典型的明码比较,按纽事件和寻找ASCII,脱壳和破解都很容易,希望对新手的学习有所帮助
[ 本帖最后由 y2008 于 2009-6-28 01:00 编辑 ] |
|