CMailServer V3.2 注册码算法及CrackCode 2000 的注册机
作 者:PaulYoung
时 间:2001.08.18
软件简介:1、支持通用邮件客户端软件 Outlook Express、Foxmail 等收发邮件。2、支持 Web 页面收发邮件。3、支持 Internet
收发邮件。4、支持用户通过 Web 浏览器申请邮箱、修改邮箱密码、修改用户信息等资料。5、支持管理员新建、删除、禁用用户邮箱和设置用户邮箱大小。6、支持管理员同时向多个用户发送邮件。7、支持管理员生成
HTML 和 INI 格式的用户邮箱信息报表。8、支持作为 NT 服务运行。
软件下载:http://microserver.top263.net/cmailserver/cmailserver32cr2.exe
破解工具:TRW 2000,CrackCode 2000
_________________________________________________________________________________________________
首先感谢 TAE![CCG] 关于 CCproxy 4.11d 的破解方法给我的启示,使我了解到“遥志软件”系列软件的注册陷阱,下面,我说说另外一个“遥志软件”:CMailServer
V3.2 的注册码破解,因为与 CCProxy 同属一系列,所以注册码算法方面比较相似,TAE![CCG],借你的算法来参考一下吧。哈……
在注册框处填写任意序列号和注册码,运行 TRW ,下 bpx hmemcpy ,F5退出,点确定,中断后下 bd *,再下 pmodule ,按1次F12(2次出错),F10单步跟踪……
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004176E5(C)
|
:0041774B 8B4C2418 mov
ecx, dword ptr [esp+18]
:0041774F 8B542414 mov
edx, dword ptr [esp+14]
:00417753 8D44242C lea
eax, dword ptr [esp+2C]
:00417757 50
push eax
:00417758 51
push ecx //机器码
:00417759 52
push edx //假注册码
:0041775A E831FBFFFF call 00417290
//计算注册码,F8进入,F10单步跟踪
.
.
.
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00417353(C)
|
:0041730E 8B442434 mov
eax, dword ptr [esp+34]
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0041730C(U)
|
:00417312 0FBE0408 movsx
eax, byte ptr [eax+ecx] //将microserver1的字符依次传给eax
:00417316 0FBE140B movsx
edx, byte ptr [ebx+ecx] //将cmailserver3的字符依次传给edx
:0041731A 03C2
add eax, edx
//eax+edx的和放到eax
:0041731C BD3E000000 mov ebp,
0000003E //"3E"给ebp
:00417321 0FBE140F movsx
edx, byte ptr [edi+ecx] //将序列号的字符依次传给edx
:00417325 03C2
add eax, edx
//相加给eax
:00417327 0FBE11
movsx edx, byte ptr [ecx] //将机器码的字符依次传给edx
:0041732A 03C2
add eax, edx
//再相加给eax
:0041732C 99
cdq
:0041732D F7FD
idiv ebp
//最后的和除以ebp,也就是"3E"余数给dl
:0041732F 83FA1A
cmp edx, 0000001A //大于"1A"吗
:00417332 7D05
jge 00417339 //大于就跳
:00417334 80C261
add dl, 61 //小于就加上61
:00417337 EB0D
jmp 00417346 //跳到00417346处
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00417332(C)
|
:00417339 83FA34
cmp edx, 00000034 //大于"34"吗
:0041733C 7D05
jge 00417343 //大于就跳
:0041733E 80C227
add dl, 27 //小于就减去"27"
:00417341 EB03
jmp 00417346
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0041733C(C)
|
:00417343 80EA04
sub dl, 04 //上面如果小于就到了这里,减去"4"
* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:
|:00417337(U), :00417341(U)
|
:00417346 8B442438 mov
eax, dword ptr [esp+38]
:0041734A 88140E
mov byte ptr [esi+ecx], dl //保存注册码
:0041734D 41
inc ecx
//指向下一个机器码的字符
:0041734E 48
dec eax
//计数器
:0041734F 89442438 mov
dword ptr [esp+38], eax
:00417353 75B9
jne 0041730E
//形成循环
:00417355 5F
pop edi
:00417356 5E
pop esi
:00417357 5D
pop ebp
:00417358 5B
pop ebx
:00417359 83C420
add esp, 00000020
:0041735C C3
ret
一大串的算法,令我等菜鸟头痛,如何快速知道自己的注册码呢,我教你一个方法吧。在
:00417355 5F
pop edi
处设断,重新运行 CMailServer ,程序会被中断,F10几次后,会来到
:00402C95 E846B20200 call 0042DEE0
//下 d eax 可以直接看到注册码。
用 CrackCode 2000 写个注册机吧:
[Options]
CommandLine=CMailServer.exe
Mode=0
First_Break_Address=402C95
First_Break_Address_Code=E8
First_Break_Address_Code_Lenth=2
Save_Code_Address=EAX
在程序一运行就会看到正确的注册码,序列号可以任意,也可以为空。你填入注册码时,会提示注册失败,不要怕,这是个陷阱,如果提示你成功你就完蛋了。重新运行吧,你会发现已经成为注册用户了。哈……
再次感谢 TAE![CCG] 师父!
THE END
- 标 题:CMailServer V3.2 注册码算法及CrackCode 2000 的注册机 (4千字)
- 作 者:paulyoung
- 时 间:2001-8-18 14:38:02
- 链 接:http://bbs.pediy.com