llight 发表于 2009-9-7 14:39

破解“kingftp”

【文章标题】: 破解“kingftp”
【文章作者】: Mr.vit
【下载地址】: http://www.31buy.com/Soft/Soft_6502.htm
【编写语言】: Microsoft Visual C++ 6.0
【使用工具】: OD FastScannerv2.1
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
很简单的破解,本来也不想写的,但是在后来看到了软件有注册漏洞(利用注册表),觉得还是有点新鲜的,就随便写了一下,高手
见笑了!
FastScannerv2.1查一下,Microsoft Visual C++ 6.0
先运行一下软件,在帮助菜单中点击注册,提示 注册码错误,请重新注册
用OD载入

0041DDB5 k>55                   push ebp               
0041DDB6   8BEC               mov ebp,esp
0041DDB8   6A FF                push -1
0041DDBA   68 E04F4200          push kingftp_.00424FE0
0041DDBF   68 20DF4100          push <jmp.&MSVCRT._except_handler3>
0041DDC4   64:A1 00000000       mov eax,dword ptr fs:
0041DDCA   50                   push eax
0041DDCB   64:8925 00000000   mov dword ptr fs:,esp
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

根据刚才的错误提示,查找字符串 注册码错误,请重新注册,找到后,向上找,直到段首为止

004159C0   6A FF                push -1
004159C2   68 A0094200          push kingftp_.004209A0                  ; 辅{b
004159C7   64:A1 00000000       mov eax,dword ptr fs:
004159CD   50                   push eax
004159CE   64:8925 00000000   mov dword ptr fs:,esp
004159D5   83EC 20            sub esp,20
004159D8   56                   push esi
004159D9   8BF1               mov esi,ecx
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

接着在段首下一个断点,运行程序,注册一下,注册信息我输入的是
邮箱:llight@yahoo.cn
注册码:0123456789
点击注册后就断下来了
接着单步跟踪
00415A5B   50                   push eax
00415A5C   E8 FFB5FEFF          call kingftp_.00401060
00415A61   8B4C24 1C            mov ecx,dword ptr ss:             ; 注册码出现了
00415A65   8B5424 10            mov edx,dword ptr ss:
00415A69   51                   push ecx
00415A6A   52                   push edx
00415A6B   C64424 40 03         mov byte ptr ss:,3
00415A70   FF15 A0294200      call dword ptr ds:[<&MSVCRT._mbscmp>]   ; 比较函数
00415A76   83C4 14            add esp,14
00415A79   85C0               test eax,eax
00415A7B   0F85 93000000      jnz kingftp_.00415B14                     ; 这就是关键跳转了
00415A81   68 02000080          push 80000002
00415A86   8D4C24 1C            lea ecx,dword ptr ss:
00415A8A   E8 21FAFFFF          call kingftp_.004154B0
00415A8F   8D4C24 14            lea ecx,dword ptr ss:
00415A93   C64424 2C 04         mov byte ptr ss:,4
00415A98   E8 15750000          call <jmp.&MFC42.#540>                  ;写注册表了
00415A9D   68 B0A44200          push kingftp_.0042A4B0                  ; software\kingftp\register
00415AA2   8D4C24 1C            lea ecx,dword ptr ss:
00415AA6   C64424 30 05         mov byte ptr ss:,5
00415AAB   E8 90FAFFFF          call kingftp_.00415540
00415AB0   85C0               test eax,eax
00415AB2   75 21                jnz short kingftp_.00415AD5
00415AB4   68 B0A44200          push kingftp_.0042A4B0                  ; software\kingftp\register
00415AB9   8D4C24 1C            lea ecx,dword ptr ss:
00415ABD   E8 CEFAFFFF          call kingftp_.00415590
00415AC2   68 80A04200          push kingftp_.0042A080                  ; 1
00415AC7   68 A4A44200          push kingftp_.0042A4A4                  ; register
00415ACC   8D4C24 20            lea ecx,dword ptr ss:
00415AD0   E8 EBFAFFFF          call kingftp_.004155C0
00415AD5   68 80A04200          push kingftp_.0042A080                  ; 1
00415ADA   68 A4A44200          push kingftp_.0042A4A4                  ; register
00415ADF   8D4C24 20            lea ecx,dword ptr ss:
00415AE3   E8 D8FAFFFF          call kingftp_.004155C0
00415AE8   6A 00                push 0
00415AEA   6A 00                push 0
00415AEC   68 54A54200          push kingftp_.0042A554                  ; 谢谢您的使用,你的软件已注册!
00415AF1   E8 B0770000          call <jmp.&MFC42.#1200>
00415AF6   8D4C24 14            lea ecx,dword ptr ss:
00415AFA   C64424 2C 04         mov byte ptr ss:,4
00415AFF   E8 9C740000          call <jmp.&MFC42.#800>
00415B04   8D4C24 18            lea ecx,dword ptr ss:
00415B08   C64424 2C 03         mov byte ptr ss:,3
00415B0D   E8 DEF9FFFF          call kingftp_.004154F0
00415B12   EB 0E                jmp short kingftp_.00415B22
00415B14   6A 00                push 0
00415B16   6A 00                push 0
00415B18   68 3CA54200          push kingftp_.0042A53C                  ; 注册码错误,请重新注册!
00415B1D   E8 84770000          call <jmp.&MFC42.#1200>
00415B22   8D4C24 10            lea ecx,dword ptr ss:
00415B26   C64424 2C 02         mov byte ptr ss:,2
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

其实到这里可以用两种方法来实现注册:

第一种:
追码
对这个软件来说,追码很简单,有些耐心,注册码就能明文追出来

第二种:
修改注册表(这也可以说是软件的注册漏洞吧)
打开注册表,HKEY_LOCAL_MACHINE\SOFTWARE\Kingftp
其下建立一个register项,然后在这个项中建立一个字符串值,把这个值设为1即可,这样也实现了破解
这种做方法的好处就是不用管机器码,通用注册
把以下文件复制到记事本,然后把记事本的扩展名改为.reg,导入注册表即可

Windows Registry Editor Version 5.00


"Register"="1"


--------------------------------------------------------------------------------
【经验总结】
利用注册表破解软件接触不多,但是修改注册表确实是一个好方法!

--------------------------------------------------------------------------------
【版权声明】: 转载请注明作者并保持文章的完整, 谢谢!

什么也不是 发表于 2009-9-7 16:22

{:299_842:}
   进来学习下

ZeNiX 发表于 2009-9-8 10:24

分析得不錯.
我以前也遇過這種漏洞的, 但不幸的是, 有暗椿.

热火朝天 发表于 2009-9-9 00:41

学习了,好像能有这种注册表漏洞的软件不多
页: [1]
查看完整版本: 破解“kingftp”