|
楼主 |
发表于 2007-1-3 23:35:41
|
显示全部楼层
破解过程
破解过程:
本软件狐狸少爷已由汉化破解,但限制多,汉化有部分错误的地方,想修正之,于是有了下文;
1、先脱壳,这部分就不说了,傻瓜型的;
2、由于上网验证不是注册用户后,会自动启动sysutil.exe警示程序,从这入手;用OLLYICE载入后,找sysutil.exe,向前翻找跳过的地方
00494534 . B9 DC504900 mov ecx, 004950DC ; \sysutil.ini
00494539 . 8B15 DCAD4900 mov edx, dword ptr [49ADDC]
0049453F . E8 74FEF6FF call 004043B8
00494544 . 8D55 A8 lea edx, dword ptr [ebp-58]
00494547 . A1 B8AC4900 mov eax, dword ptr [49ACB8]
0049454C . E8 133FF7FF call 00408464
00494551 . 8B55 A8 mov edx, dword ptr [ebp-58]
00494554 . B8 F4504900 mov eax, 004950F4 ; pgware|0
00494559 . E8 5201F7FF call 004046B0
0049455E . 85C0 test eax, eax
00494560 . E9 87030000 jmp 004948EC 这里必须跳,改1
00494565 90 nop
00494566 . 33C0 xor eax, eax
00494568 . 55 push ebp
00494569 . 68 DE454900 push 004945DE
0049456E . 64:FF30 push dword ptr fs:[eax]
00494571 . 64:8920 mov dword ptr fs:[eax], esp
00494574 . B2 01 mov dl, 1
00494576 . A1 EC8E4300 mov eax, dword ptr [438EEC]
0049457B . E8 6C4AFAFF call 00438FEC
00494580 . 8BD8 mov ebx, eax
00494582 . BA 02000080 mov edx, 80000002
00494587 . 8BC3 mov eax, ebx
00494589 . E8 FE4AFAFF call 0043908C
0049458E . B1 01 mov cl, 1
00494590 . BA 18504900 mov edx, 00495018 ; \software\pgware\superram
00494595 . 8BC3 mov eax, ebx
00494597 . E8 544BFAFF call 004390F0
0049459C . 33C9 xor ecx, ecx
0049459E . BA 3C504900 mov edx, 0049503C ; name
004945A3 . 8BC3 mov eax, ebx
004945A5 . E8 024DFAFF call 004392AC
004945AA . 33C9 xor ecx, ecx
004945AC . BA 4C504900 mov edx, 0049504C ; serial
004945B1 . 8BC3 mov eax, ebx
004945B3 . E8 F44CFAFF call 004392AC
004945B8 . 33C9 xor ecx, ecx
004945BA . BA 08514900 mov edx, 00495108 ; run
004945BF . 8BC3 mov eax, ebx
004945C1 . E8 8A4DFAFF call 00439350
004945C6 . 8BC3 mov eax, ebx
004945C8 . E8 8F4AFAFF call 0043905C
004945CD . 8BC3 mov eax, ebx
004945CF . E8 E4ECF6FF call 004032B8
004945D4 . 33C0 xor eax, eax
004945D6 . 5A pop edx
004945D7 . 59 pop ecx
004945D8 . 59 pop ecx
004945D9 . 64:8910 mov dword ptr fs:[eax], edx
004945DC . EB 0A jmp short 004945E8
004945DE .^ E9 75F1F6FF jmp 00403758
004945E3 . E8 D8F4F6FF call 00403AC0
004945E8 > 6A 00 push 0
004945EA . 6A 00 push 0
004945EC . 6A 10 push 10
004945EE . 8D55 A4 lea edx, dword ptr [ebp-5C]
004945F1 . B8 02000000 mov eax, 2
004945F6 . E8 3DE4F6FF call 00402A38
004945FB . 8B45 A4 mov eax, dword ptr [ebp-5C]
004945FE . E8 6D43F7FF call 00408970
00494603 . 50 push eax ; |hWnd
00494604 . E8 6727F7FF call <jmp.&user32.SendMessageA> ; \SendMessageA
00494609 . A1 E0AD4900 mov eax, dword ptr [49ADE0]
0049460E . E8 3D47F7FF call 00408D50
00494613 . 84C0 test al, al
00494615 . 0F84 9E000000 je 004946B9
0049461B . 33C0 xor eax, eax
0049461D . 55 push ebp
0049461E . 68 AF464900 push 004946AF
00494623 . 64:FF30 push dword ptr fs:[eax]
00494626 . 64:8920 mov dword ptr fs:[eax], esp
00494629 . BA FEFFFFFF mov edx, -2
0049462E . A1 E0AD4900 mov eax, dword ptr [49ADE0]
00494633 . E8 2847F7FF call 00408D60
00494638 . 8D55 9C lea edx, dword ptr [ebp-64]
0049463B . A1 E0AD4900 mov eax, dword ptr [49ADE0]
00494640 . E8 DB47F7FF call 00408E20
00494645 . 8D45 9C lea eax, dword ptr [ebp-64]
00494648 . BA 14514900 mov edx, 00495114 ; sysutil.exe
004948EC > \8D95 68FEFFFF lea edx, dword ptr [ebp-198] 跳到这
004948F2 . A1 B8AC4900 mov eax, dword ptr [49ACB8]
004948F7 . E8 683BF7FF call 00408464
004948FC . 8B85 68FEFFFF mov eax, dword ptr [ebp-198]
00494902 . BA CC514900 mov edx, 004951CC ; pgware|1
00494907 . E8 ACFBF6FF call 004044B8
0049490C . E9 5D010000 jmp 00494A6E 这里必须跳,改2
00494911 90 nop
00494912 . 33C0 xor eax, eax
00494A6E > \8D95 54FEFFFF lea edx, dword ptr [ebp-1AC] 跳到这
00494A74 . A1 B8AC4900 mov eax, dword ptr [49ACB8]
00494A79 . E8 E639F7FF call 00408464
00494A7E . 8B85 54FEFFFF mov eax, dword ptr [ebp-1AC]
00494A84 . BA E0514900 mov edx, 004951E0 ; pgware|2
00494A89 . E8 2AFAF6FF call 004044B8
00494A8E . E9 D2000000 jmp 00494B65 这里必须跳,改3
00494A93 90 nop
改完以上三处后,其实验证为注册机注册后也无什么后果,但老访问网络总不爽。
3、如何让它不访问网络呢,想到软件中并无IP地址,要得到验证地址必须用将网址解释后转为IP地址,偷个懒找到将网址全部NOP后便无IP地址可解释,用WINHEX在脱壳后的程序里查找http://www.pgware.com,全部替换成空格即无网络验证;其实按键精灵的网络验证也可参照此法破掉,我叫它另类法。
另按格式输入假注册码后
004915B6 . 8B55 B4 mov edx, dword ptr [ebp-4C]
004915B9 . 8D45 E4 lea eax, dword ptr [ebp-1C] 此时D EAX为真注册码第一部分
004915BC . E8 832BF7FF call 00404144
附件为原版文件,大家可试试 |
|