weihao 发表于 2008-4-3 19:04

爆破黄金岛斗地主记牌器过程

爆破黄金岛斗地主记牌器过程
【破文标题】爆破黄金岛斗地主记牌器过程
【破文作者】hnld
【作者邮箱】
【作者主页】
【破解工具】OD
【破解平台】盗版XP sp2
【软件名称】DDZ
【软件大小】
【原版下载】搜一下吧!
【保护方式】
【软件简介】一个外挂
【破解声明】刚学破解,超级菜鸟一个,大侠不要见笑.
------------------------------------------------------------------------
【破解过程】本人才学破解,由于没有老师指点,所以很多事情学起来是颠三倒四的,那个地方走不通了,就临时学一下.然后回个头来再破.但总是破不了.正因为这样所以越破越没信心了.无聊中找到这个外挂.无意中竞然破解了它.狂喜之后,拿出来分享一下.请大家不要见笑,总算是我独立完成的东西.

用PEID0.94查壳,显示:ASPack 2.12 -> Alexey Solodovnikov
用超级巡警之虚拟机自动脱壳机直接脱壳。运行脱过后的程序显示:注册码不正确.再用PEID0.94查壳。显示:Borland Delphi 6.0 - 7.0。
用OD载入:
00459230 >/$ 55      pushebp               ; (initial cpu selection)
00459231 |. 8BEC   mov   ebp, esp
00459233 |. 83C4 E4    add   esp, -1C
00459236 |. 53      pushebx
00459237 |. 33C0   xor   eax, eax
00459239 |. 8945 EC    mov   dword ptr , eax
0045923C |. 8945 E8    mov   dword ptr , eax
0045923F |. 8945 E4    mov   dword ptr , eax
00459242 |. B8 00904500mov   eax, 00459000          ; e
00459247 |. E8 4CD1FAFFcall00406398
0045924C |. 33C0   xor   eax, eax
0045924E |. 55      pushebp
0045924F |. 68 30934500push00459330
00459254 |. 64:FF30    pushdword ptr fs:
00459257 |. 64:8920    mov   dword ptr fs:, esp
0045925A |. E8 D597FAFFcall00402A34
0045925F |. 48      dec   eax
00459260 |. 7E 50   jle   short 004592B2
00459262 |. 6A 01   push1
00459264 |. 6A 00   push0

用OD插件查看ASCⅡ。
上下查看发现有2处注册码不正确。一处注册成功。双击注册成功处。往上查看来到如下地址:

00456EB0. 55      pushebp
00456EB1. 68 4F704500push0045704F
00456EB6. 64:FF30    pushdword ptr fs:
00456EB9. 64:8920    mov   dword ptr fs:, esp
00456EBC. 8D55 F0    lea   edx, dword ptr
00456EBF. 8B86 FC020000 mov   eax, dword ptr
00456EC5. E8 12D2FDFFcall004340DC
00456ECA. 8B45 F0    mov   eax, dword ptr
00456ECD. E8 06D9FAFFcall004047D8
00456ED2. 85C0   testeax, eax
00456ED4. 75 25   jnz   short 00456EFB
00456ED6. 6A 00   push0
00456ED8. B9 DC704500mov   ecx, 004570DC          ; 错误
00456EDD. BA E4704500mov   edx, 004570E4          ; 注册码不能为空!
00456EE2. A1 DCB14500mov   eax, dword ptr
00456EE7. 8B00   mov   eax, dword ptr
00456EE9. E8 22CDFFFFcall00453C10
00456EEE. 33C0   xor   eax, eax
00456EF0. 5A      pop   edx
00456EF1. 59      pop   ecx
00456EF2. 59      pop   ecx
00456EF3. 64:8910    mov   dword ptr fs:, edx
00456EF6. E9 A0010000jmp   0045709B
00456EFB> 8D55 E8    lea   edx, dword ptr
00456EFE. 8B86 FC020000 mov   eax, dword ptr
00456F04. E8 D3D1FDFFcall004340DC
00456F09. 8B45 E8    mov   eax, dword ptr
00456F0C. 8D4D EC    lea   ecx, dword ptr
00456F0F. BA 00714500mov   edx, 00457100          ; xingsoft
00456F14. E8 03E4FFFFcall0045531C
00456F19. 8B45 EC    mov   eax, dword ptr
00456F1C. BA 14714500mov   edx, 00457114          ; hjdddz20080306
00456F21. E8 FED9FAFFcall00404924
00456F26. EB 48   je   short 00456F70
00456F28. 6A 00   push0
00456F2A. B9 DC704500mov   ecx, 004570DC          ; 错误
00456F2F. BA 24714500mov   edx, 00457124          ; 注册码不正确!
00456F34. A1 DCB14500mov   eax, dword ptr
00456F39. 8B00   mov   eax, dword ptr
00456F3B. E8 D0CCFFFFcall00453C10
00456F40. 6A 01   push1                ; /IsShown = 1
00456F42. 6A 00   push0                ; |DefDir = NULL
00456F44. 6A 00   push0                ; |Parameters = NULL
00456F46. 68 34714500push00457134             ; |
00456F4B. 68 58714500push00457158             ; |open
00456F50. 6A 00   push0                ; |hWnd = NULL
00456F52. E8 91FBFCFFcall<jmp.&shell32.ShellExecuteA>   ; \ShellExecuteA
00456F57. A1 DCB14500mov   eax, dword ptr
00456F5C. 8B00   mov   eax, dword ptr
00456F5E. E8 09CCFFFFcall00453B6C
00456F63. 33C0   xor   eax, eax
00456F65. 5A      pop   edx
00456F66. 59      pop   ecx
00456F67. 59      pop   ecx
00456F68. 64:8910    mov   dword ptr fs:, edx
00456F6B. E9 2B010000jmp   0045709B
00456F70> 6A 00   push0
00456F72. B9 60714500mov   ecx, 00457160          ; 提示
00456F77. BA 68714500mov   edx, 00457168          ; 注册成功!


通过往上翻看知道注册成功是由
00456F26. EB 48   je   short 00456F70
跳转得来,把je改成jmp.保存修改后的程序。运行。随便输入一个数字。提示注册成功。

530555760 发表于 2009-8-16 01:46

噢噢!!~!

tongmaocheng 发表于 2009-8-28 19:15

噢噢!!~!

破烂王 发表于 2009-8-28 23:03

向高手学习。

lsb2002 发表于 2009-8-29 02:41

不错,学习一下
页: [1]
查看完整版本: 爆破黄金岛斗地主记牌器过程