初学者心得--网络传神2.02(build 0310)
作者:华仔
版权:China Cracking Group
时间:2001.04.07
这几天网站有点不稳定,我还以为是我的FTP软件有问题,一时兴起把它给抓了下来,试用
后感觉还可以,就算不注册也没有任何限制,但窗口标题有一个“未注册”字样,作为一
个CRACKER来说简直是一种耻辱,杀心顿起,搞定它。(注:白菜乐园有它的破解版本,在
这里我们只是简单的了解一下破解这类程序如何从多方面入手,如果你是老CRACKER请止步。
)
一、试运行:
进入注册画面
用户名:华仔[CCG]
识别码:855F3B3B3358CFC2A3B-7A5746F65067575673
注册码:1974923
单击确定后,该软件让重新启动后验证注册码。
二、注册分析:
1、在输入用户名获取识别码时出现一个好现象:
-7A5746F65067575673始终未曾改变(我猜可能是机器码),而前面的数字(暂且叫它
用户码)855F3B3B3358CFC2A3B一直在改变(这说明真正的注册码不是唯一的)。
2、对于重新启动后验证注册码,这类软件很多,它把这些注册信息写入注册表或某个文件
在启动软件时再读出并校验。这给我们设置断点和查找关键点提供了方法。经过观察,
它是将注册信息写入注册表中:
[HKEY_CURRENT_USER\Software\Kuaiftp]
"Path"="D:\\net_tool\\kuaiftp2000"
"VER"="202"
"BUILD"="0310"
"Name"="华仔[CCG]"
"SBM"="855F3B3B3358CFC2A3B-7A5746F65067575673"
"ZCM"="1974923"
另外软件使用次数标记在这里:
[HKEY_CURRENT_USER\Software\Microsoft\data63]
"DATA63"="9E2E2E2E2"(不是吧,我已使用了7777次?:))
3、这么长的识别码,注册码也一定很长,我倒有点想打退堂鼓了,但没办法,到这一步只有
“茅厕里划船:奋(粪)勇前进”了。让大家见笑了,本人数学一向不好,看到这么多数
字,就犯头痛,老毛病。还好,我记得不知是那位学士说过,不管是暴破也好、找注册码
也好,弄清算法也好,都叫:CRACK,这样心理才稍有点平衡感。但上面三种方法我这次
都用到了。
三、实战:
1、用W32dsm89反汇编后找关键字“ZCM”(问:没什么要找这个,答:因为软件启动后要
读取这个注册表键来判断是否是真正的注册码),好运气,我们找到两个,一个是在注
册窗口中输入注册信息后,用来读写注册表的,而另一个就是我们要用到的下面这个。
2、用TRW2000载入,设断bpx 00529E0D,g继续运行,程序被拦下,下bc *清除断点:
* Possible StringData Ref from Code Obj ->"ZCM"
|
:00529E0D BAD4A05200 mov edx,
0052A0D4
:00529E12 8B45F8
mov eax, dword ptr [ebp-08]
:00529E15 E8FE7CF7FF call
004A1B18
:00529E1A 8D45F4
lea eax, dword ptr [ebp-0C]
:00529E1D 8B55F0
mov edx, dword ptr [ebp-10]
:00529E20 E85BA0EDFF call
00403E80
:00529E25 8B55F4
mov edx, dword ptr [ebp-0C]
:00529E28 B8E0A05200 mov eax,
0052A0E0
:00529E2D E822A5EDFF call
00404354
:00529E32 8BD8
mov ebx, eax
:00529E34 8B45F4
mov eax, dword ptr [ebp-0C]
:00529E37 E82CA2EDFF call
00404068
:00529E3C 8BC8
mov ecx, eax
:00529E3E 2BCB
sub ecx, ebx
:00529E40 41
inc ecx
:00529E41 8D45F4
lea eax, dword ptr [ebp-0C]
:00529E44 8BD3
mov edx, ebx
:00529E46 E865A4EDFF call
004042B0
:00529E4B 8D45E8
lea eax, dword ptr [ebp-18]
:00529E4E 8B55F4
mov edx, dword ptr [ebp-0C]
:00529E51 E82AA0EDFF call
00403E80
:00529E56 8D45F4
lea eax, dword ptr [ebp-0C]
:00529E59 8B55F0
mov edx, dword ptr [ebp-10]
:00529E5C E81FA0EDFF call
00403E80
:00529E61 8D45F4
lea eax, dword ptr [ebp-0C]
:00529E64 8BCB
mov ecx, ebx
:00529E66 BA01000000 mov edx,
00000001
:00529E6B E840A4EDFF call
004042B0
:00529E70 8D45E4
lea eax, dword ptr [ebp-1C]
:00529E73 8B55F4
mov edx, dword ptr [ebp-0C]
:00529E76 E805A0EDFF call
00403E80
:00529E7B 8D55E0
lea edx, dword ptr [ebp-20]
:00529E7E 8B45E8
mov eax, dword ptr [ebp-18] ====>> 我们输入的假
注册码
:00529E81 E8CAD4FDFF call
00507350 ====>> 在这里干了一
场革命,我不想
:00529E86 8B55E0
mov edx, dword ptr [ebp-20] 看下去,太让
人心烦了。
:00529E89 8B45EC
mov eax, dword ptr [ebp-14] ====>> 我们的用户名
:00529E8C E8E7A2EDFF call
00404178
:00529E91 751F
jne 00529EB2
====>> 用户码运算结
果不正确才跳,
:00529E93 8D45DC
lea eax, dword ptr [ebp-24] 暴破时改为NOP
经分析00507350处代码发现(又是循环,又是取位,又是取反....,搞得我头都大了),注册
码
的第一部份和用户码相同(这么简单的问题???),好了,继续执行到下面的代码。
:00529E96 E85DD1FDFF call
00506FF8 ====>> 未完成的革命
又在这里继续
:00529E9B 8B55DC
mov edx, dword ptr [ebp-24] ====>> EDX才是我们需
要的注册码第二
部分(通过机
器码运算得到)
:00529E9E 8B45E4
mov eax, dword ptr [ebp-1C] ====>> 我们的机器码
:00529EA1 E8D2A2EDFF call
00404178
:00529EA6 750A
jne 00529EB2 ====>> 机器码运算结果不正确才要跳,
暴破时改为NOP
:00529EA8 8B45FC
mov eax, dword ptr [ebp-04]
:00529EAB C6804104000001 mov byte ptr [eax+00000441],
01 ====>> 看到这里
了吗,
运行到这
里就成功了。
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:00529E91(C), :00529EA6(C)
|
:00529EB2 33C0
xor eax, eax
:00529EB4 5A
pop edx
:00529EB5 59
pop ecx
:00529EB6 59
pop ecx
四、结果:
在识别码中任意取一个用户码作为注册码的第一部份
中间有“-”
注册码第二部份在这里取:“:00529E9B 8B55DC mov edx, dword ptr [ebp-24]”
用户名:华仔[CCG]
识别码:855F3B3B3358CFC2A3B-7A5746F65067575673
注册码:2B554141495EC5D8A9B-7A2C4712443505E212
用户名:华仔[CCG]
识别码:3A544040485DC4D7A8B-7A5746F65067575673
注册码:855F3B3B3358CFC2A3B-7A2C4712443505E212
识别码:58524E3E365BC2D5A6B-7A5746F65067575673
注册码:3A544040485DC4D7A8B-7A2C4712443505E212
识别码:2B554141495EC5D8A9B-7A5746F65067575673
注册码:3A544040485DC4D7A8B-7A2C4712443505E212
- 标 题:初学者心得--网络传神2.02(build 0310) (6千字)
- 作 者:-1212-
- 时 间:2001-4-8 1:05:54
- 链 接:http://bbs.pediy.com