![]() |
【破文标题】kingftp 简体中文版 1.2注册算法 【破文作者】XXNB 【作者邮箱】支持PYG 【作者主页】binbinbin7456.ys168.com 【破解工具】OD 【破解平台】XPsp2 【软件名称】kingftp 简体中文版 1.2 【软件大小】85KB 【原版下载】http://www.newhua.com |
【破解过程】 ------------------------------------------------------------------------ 1、今天无聊中,发现了华军的这个软件,下载下来一看,居然是“kingftp 简体中文版 1.1”的我也搞不懂了。管他呢。 这软件图标都没有改,放眼看去就知道是VC。而且还没有任何壳。真是正合我等菜菜的意了,那我就looklook了。 经过我的分析这个软件连输入的东西都没有做检测。所以我输入邮箱:b 注册码:1 因为里面有循环,所以要尽量省 字符串查找“注册码错误,请重新注册!”。得到: 00414C80 . 6A FF push -1 00414C82 . 68 30F84100 push 0041F830 ; SE 处理程序安装 00414C87 . 64:A1 0000000>mov eax, dword ptr fs:[0] 00414C8D . 50 push eax 00414C8E . 64:8925 00000>mov dword ptr fs:[0], esp 00414C95 . 83EC 20 sub esp, 20 00414C98 . 56 push esi 00414C99 . 8BF1 mov esi, ecx 00414C9B . 8D4C24 0C lea ecx, dword ptr [esp+C] 00414C9F . E8 CC730000 call <jmp.&MFC42.#540> 00414CA4 . 8D4C24 08 lea ecx, dword ptr [esp+8] 00414CA8 . C74424 2C 000>mov dword ptr [esp+2C], 0 00414CB0 . E8 BB730000 call <jmp.&MFC42.#540> 00414CB5 . 8D4C24 04 lea ecx, dword ptr [esp+4] 00414CB9 . C64424 2C 01 mov byte ptr [esp+2C], 1 00414CBE . E8 AD730000 call <jmp.&MFC42.#540> 00414CC3 . 8D4424 08 lea eax, dword ptr [esp+8] 00414CC7 . 8BCE mov ecx, esi 00414CC9 . 50 push eax 00414CCA . 68 FC030000 push 3FC 00414CCF . C64424 34 02 mov byte ptr [esp+34], 2 00414CD4 . E8 197C0000 call <jmp.&MFC42.#3097> 00414CD9 . 8D4C24 0C lea ecx, dword ptr [esp+C] ; 得到机器码 00414CDD . 51 push ecx 00414CDE . 68 FB030000 push 3FB 00414CE3 . 8BCE mov ecx, esi 00414CE5 . E8 087C0000 call <jmp.&MFC42.#3097> ; 得到邮箱 00414CEA . 8D5424 04 lea edx, dword ptr [esp+4] 00414CEE . 8BCE mov ecx, esi 00414CF0 . 52 push edx 00414CF1 . 68 FD030000 push 3FD 00414CF6 . E8 F77B0000 call <jmp.&MFC42.#3097> ; 得到假的注册码。看见没有都是对称的 00414CFB . 68 ED000000 push 0ED 00414D00 . 51 push ecx 00414D01 . 8D4C24 14 lea ecx, dword ptr [esp+14] 00414D05 . 8BC4 mov eax, esp 00414D07 . 896424 1C mov dword ptr [esp+1C], esp 00414D0B . 8D5424 10 lea edx, dword ptr [esp+10] 00414D0F . 51 push ecx 00414D10 . 52 push edx 00414D11 . 50 push eax 00414D12 . E8 63750000 call <jmp.&MFC42.#922> ; 这个call跟进去看的话会看到一个连接函数的,看堆栈数据 00414D17 . 8D4424 18 lea eax, dword ptr [esp+18] 上面的call后将机器码和邮箱连接起来了。 00414D1B . 50 push eax 00414D1C . E8 1FC3FEFF call 00401040 ; 这个应该就是算法call了,进入看看《《《《《《《《《《《《 00414D21 . 8B4C24 1C mov ecx, dword ptr [esp+1C] ; 这里不会就是真码了吧,那上面那个call不就是!! 00414D25 . 8B5424 10 mov edx, dword ptr [esp+10] ; (initial cpu selection) 00414D29 . 51 push ecx ; /真码入栈 00414D2A . 52 push edx ; |假码入栈 00414D2B . C64424 40 03 mov byte ptr [esp+40], 3 ; | 00414D30 . FF15 A4194200 call dword ptr [<&MSVCRT._mbscmp>>; \_mbscmp 00414D36 . 83C4 14 add esp, 14 ; 上面这比较函数是逐位比较,从头开始,只要有一位不同就结束 00414D39 . 85C0 test eax, eax 00414D3B . 0F85 93000000 jnz 00414DD4 00414D41 . 68 02000080 push 80000002 00414D46 . 8D4C24 1C lea ecx, dword ptr [esp+1C] 00414D4A . E8 41FAFFFF call 00414790 00414D4F . 8D4C24 14 lea ecx, dword ptr [esp+14] 00414D53 . C64424 2C 04 mov byte ptr [esp+2C], 4 ;写注册表 00414D58 . E8 13730000 call <jmp.&MFC42.#540> 00414D5D . 68 E4944200 push 004294E4 ; software\kingftp\register 00414D62 . 8D4C24 1C lea ecx, dword ptr [esp+1C] 00414D66 . C64424 30 05 mov byte ptr [esp+30], 5 00414D6B . E8 B0FAFFFF call 00414820 00414D70 . 85C0 test eax, eax 00414D72 . 75 21 jnz short 00414D95 00414D74 . 68 E4944200 push 004294E4 ; software\kingftp\register 00414D79 . 8D4C24 1C lea ecx, dword ptr [esp+1C] 00414D7D . E8 EEFAFFFF call 00414870 00414D82 . 68 78904200 push 00429078 ; 1 00414D87 . 68 D8944200 push 004294D8 ; register 00414D8C . 8D4C24 20 lea ecx, dword ptr [esp+20] 00414D90 . E8 0BFBFFFF call 004148A0 00414D95 > 68 78904200 push 00429078 ; 1 00414D9A . 68 D8944200 push 004294D8 ; register 00414D9F . 8D4C24 20 lea ecx, dword ptr [esp+20] 00414DA3 . E8 F8FAFFFF call 004148A0 00414DA8 . 6A 00 push 0 00414DAA . 6A 00 push 0 00414DAC . 68 20954200 push 00429520 ; 谢谢您的使用,你的软件已注册! 00414DB1 . E8 36750000 call <jmp.&MFC42.#1200> 00414DB6 . 8D4C24 14 lea ecx, dword ptr [esp+14] 00414DBA . C64424 2C 04 mov byte ptr [esp+2C], 4 00414DBF . E8 82720000 call <jmp.&MFC42.#800> 00414DC4 . 8D4C24 18 lea ecx, dword ptr [esp+18] 00414DC8 . C64424 2C 03 mov byte ptr [esp+2C], 3 00414DCD . E8 FEF9FFFF call 004147D0 00414DD2 . EB 0E jmp short 00414DE2 00414DD4 > 6A 00 push 0 00414DD6 . 6A 00 push 0 00414DD8 . 68 08954200 push 00429508 ; 注册码错误,请重新注册! 00414DDD . E8 0A750000 call <jmp.&MFC42.#1200> 00414DE2 > 8D4C24 10 lea ecx, dword ptr [esp+10] ----------------------------------------------------------------------- |