剑客之道 发表于 2008-1-7 21:28:37

网表的破解

首先,PEID查壳,无壳Microsoft Visual C++ 6.0写的

现在,我们运行程序,进行注册。我输入“778877888”
提示“注册失败!”
我用W32ASM载入程序根本就看不到示“注册失败!”的地方

用OD载入程序吧。
查找超级字符串“注册失败!”
0040957C处,我们双击后,来到反汇编窗口
向上找,
004094D0   .E8 FF78020>call SuperSvr.00430DD4
004094D5   .8B86 84000>mov eax,dword ptr ds:
004094DB   .85C0       test eax,eax
004094DD   .74 07      je short SuperSvr.004094E6
004094DF   .68 A84B460>push SuperSvr.00464BA8
004094E4   .EB 05      jmp short SuperSvr.004094EB
004094E6   >68 984B460>push SuperSvr.00464B98
004094EB   >8D4C24 70lea ecx,dword ptr ss:
004094EF   .E8 3079020>call SuperSvr.00430E24
004094F4   .8D4C24 10lea ecx,dword ptr ss:
004094F8   .E8 8635020>call SuperSvr.0042CA83
004094FD   .83F8 01    cmp eax,1
00409500   .0F85 80000>jnz SuperSvr.00409586
00409506   .8D8C24 F40>lea ecx,dword ptr ss:
0040950D   .8DBE 80000>lea edi,dword ptr ds:
00409513   .51         push ecx    ;//我在这里下断点
00409514   .8BCF       mov ecx,edi;// 小窗口中显示edi=00AB5158, (ASCII "HMF")
                                          ecx=0012FBA8

00409516   .E8 B978020>call SuperSvr.00430DD4
0040951B   .8B46 7C    mov eax,dword ptr ds:;//显示ds:=00AB3C78,                                                                                                (ASCII "BB25-6576-AC1D-2300")
                                                            eax=00AB5158

0040951E   .8B0F       mov ecx,dword ptr ds:;//显示ds:=00AB3D18, (ASCII                                                          "778877888")
                                                         ecx=00AB3D0C我输入的假注册码

00409520   .50         push eax         ; /Arg2;//再次显示eax=00AB3C78,
                                                         (ASCII "BB25-6576-AC1D-2300")
看来这个"BB25-6576-AC1D-2300"就是我的注册码哈哈!…………
00409521   .51         push ecx          ; |Arg1;//再次显示我的假注册码
00409522   .E8 4F9F000>call SuperSvr.00413476;   //现在看右下角的寄存器窗口显示

                              0012F9AC   00AB3D18    |Arg1 = 00AB3D18 ASCII "778877888"
                              0012F9B0   00AB3C78    \Arg2 = 00AB3C78 ASCII "BB25-6576-AC1D-2300"
                           

00409527   .83C4 08    add esp,8
0040952A   .85C0       test eax,eax
0040952C   .75 4A      jnz short SuperSvr.00409578
0040952E   .51         push ecx
0040952F   .C786 84000>mov dword ptr ds:,1
00409539   .8BCC       mov ecx,esp
0040953B   .896424 10mov dword ptr ss:,esp
0040953F   .57         push edi
00409540   .E8 CB74020>call SuperSvr.00430A10
00409545   .51         push ecx
00409546   .C68424 080>mov byte ptr ss:,1
0040954E   .8BCC       mov ecx,esp
00409550   .896424 10mov dword ptr ss:,esp
00409554   .68 F849460>push SuperSvr.004649F8            ;ASCII "RegCode"
00409559   .E8 AB77020>call SuperSvr.00430D09
0040955E   .8BCE       mov ecx,esi                     ; |
00409560   .C68424 080>mov byte ptr ss:,0       ; |
00409568   .E8 D3DEFFF>call SuperSvr.00407440            ; \SuperSvr.00407440
0040956D   .6A 00      push 0
0040956F   .6A 00      push 0
00409571   .68 844B460>push SuperSvr.00464B84
00409576   .EB 09      jmp short SuperSvr.00409581
00409578   >6A 00      push 0                            ; /Arg3 = 00000000
0040957A   .6A 00      push 0                            ; |Arg2 = 00000000
0040957C   .68 784B460>push SuperSvr.00464B78            ; |Arg1 = 00464B78
00409581   >E8 23F8020>call SuperSvr.00438DA9            ; \SuperSvr.00438DA9

重新运行程序进行注册用"BB25-6576-AC1D-2300"好了注册成功!!!

yzxyz68 发表于 2008-1-7 22:20:54

来学习一下哦,谢谢

源氏 发表于 2008-1-7 22:59:14

来学习一下
长知识了

剑客之道 发表于 2008-1-8 21:11:27

谢谢lxk836的建议

以后我会整理好代码的,我是菜菜鸟希望得到大家的帮助
只是学习,爱好!

magic659117852 发表于 2008-1-8 21:13:06

/:014可以做内存注册机

save425 发表于 2008-1-8 21:39:07

支持原创,感谢分享!~

liien 发表于 2008-1-8 22:38:52

来学习了!!看看!!到底怎么弄!!

新手

wazgs 发表于 2008-1-9 09:50:09

soychino 发表于 2008-1-9 10:28:06

明码比较,学习!

雪里红 发表于 2008-1-9 10:53:56

学习了/:001 /:001
页: [1] 2
查看完整版本: 网表的破解