网表的破解
首先,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"好了注册成功!!! 来学习一下哦,谢谢 来学习一下
长知识了
谢谢lxk836的建议
以后我会整理好代码的,我是菜菜鸟希望得到大家的帮助只是学习,爱好! /:014可以做内存注册机 支持原创,感谢分享!~ 来学习了!!看看!!到底怎么弄!!
新手 明码比较,学习! 学习了/:001 /:001
页:
[1]
2