首页
社区
课程
招聘
[原创]eXeScope 6.50 简体中文版算法分析+Delphi注册机
发表于: 2007-9-18 16:30 12137

[原创]eXeScope 6.50 简体中文版算法分析+Delphi注册机

2007-9-18 16:30
12137

【破文标题】eXeScope 6.50 简体中文版算法分析+Delphi注册机
【破文作者】小子贼野
【作者主页】http://mayday.unpack.cn
【破解工具】OD
【原版下载】http://www.onlinedown.net/soft/9594.htm
【破解声明】我是一只小菜鸟,偶得一点心得,愿与大家分享:)
**********************************************************************************************
004CBF7C  /$  55            push ebp
004CBF7D  |.  8BEC          mov ebp,esp
004CBF7F  |.  51            push ecx
004CBF80  |.  53            push ebx
004CBF81  |.  8955 FC       mov dword ptr ss:[ebp-4],edx
004CBF84  |.  8B45 FC       mov eax,dword ptr ss:[ebp-4]
004CBF87  |.  E8 B48EF3FF   call eXeScope.00404E40
004CBF8C  |.  33C0          xor eax,eax
004CBF8E  |.  55            push ebp
004CBF8F  |.  68 1BC04C00   push eXeScope.004CC01B
004CBF94  |.  64:FF30       push dword ptr fs:[eax]
004CBF97  |.  64:8920       mov dword ptr fs:[eax],esp
004CBF9A  |.  33DB          xor ebx,ebx
004CBF9C  |.  8B45 FC       mov eax,dword ptr ss:[ebp-4]
004CBF9F  |.  E8 AC8CF3FF   call eXeScope.00404C50
004CBFA4  |.  83F8 0A       cmp eax,0A
004CBFA7  |.  75 5C         jnz short eXeScope.004CC005           ;  注册码必须大于10位
004CBFA9  |.  8B55 FC       mov edx,dword ptr ss:[ebp-4]
004CBFAC  |.  B8 30C04C00   mov eax,eXeScope.004CC030             ;  ASCII "A1910"
004CBFB1  |.  E8 DE8FF3FF   call eXeScope.00404F94                ;  注册码前5位=A1910
004CBFB6  |.  48            dec eax
004CBFB7  |.  74 10         je short eXeScope.004CBFC9
004CBFB9  |.  8B55 FC       mov edx,dword ptr ss:[ebp-4]
004CBFBC  |.  B8 40C04C00   mov eax,eXeScope.004CC040             ;  ASCII "A1423"
004CBFC1  |.  E8 CE8FF3FF   call eXeScope.00404F94                ;  注册码前5位=A1423
004CBFC6  |.  48            dec eax
004CBFC7  |.  75 3C         jnz short eXeScope.004CC005
004CBFC9  |>  B8 02000000   mov eax,2
004CBFCE  |>  8B55 FC       /mov edx,dword ptr ss:[ebp-4]
004CBFD1  |.  8A5402 FF     |mov dl,byte ptr ds:[edx+eax-1]
004CBFD5  |.  80FA 30       |cmp dl,30
004CBFD8  |.  72 2B         |jb short eXeScope.004CC005
004CBFDA  |.  80FA 39       |cmp dl,39
004CBFDD  |.  77 26         |ja short eXeScope.004CC005
004CBFDF  |.  40            |inc eax
004CBFE0  |.  83F8 0B       |cmp eax,0B
004CBFE3  |.^ 75 E9         \jnz short eXeScope.004CBFCE          ;  比较注册码从第二位开始是否是数字,不是就完了
004CBFE5  |.  8B45 FC       mov eax,dword ptr ss:[ebp-4]
004CBFE8  |.  0FB640 08     movzx eax,byte ptr ds:[eax+8]         ;  eax=注册码第九位Ascii
004CBFEC  |.  8B55 FC       mov edx,dword ptr ss:[ebp-4]
004CBFEF  |.  0FB652 09     movzx edx,byte ptr ds:[edx+9]         ;  edx=最后一位Ascii
004CBFF3  |.  03C2          add eax,edx                           ;  eax=ord(eax)+ord(edx)
004CBFF5  |.  B9 0A000000   mov ecx,0A                            ;  ecx=$10
004CBFFA  |.  33D2          xor edx,edx                           ;  edx=0
004CBFFC  |.  F7F1          div ecx                               ;  整除以$10
004CBFFE  |.  83FA 04       cmp edx,4                             ;  和4比较
004CC001  |.  75 02         jnz short eXeScope.004CC005           ;  如果不想等就挂
004CC003  |.  B3 01         mov bl,1
004CC005  |>  33C0          xor eax,eax
004CC007  |.  5A            pop edx
004CC008  |.  59            pop ecx
004CC009  |.  59            pop ecx
004CC00A  |.  64:8910       mov dword ptr fs:[eax],edx
004CC00D  |.  68 22C04C00   push eXeScope.004CC022
004CC012  |>  8D45 FC       lea eax,dword ptr ss:[ebp-4]
004CC015  |.  E8 7689F3FF   call eXeScope.00404990
004CC01A  \.  C3            retn
004CC01B   .^ E9 5483F3FF   jmp eXeScope.00404374
004CC020   .^ EB F0         jmp short eXeScope.004CC012
004CC022   .  8BC3          mov eax,ebx                           ;  在这里也可以爆破的
004CC024   .  5B            pop ebx
004CC025   .  59            pop ecx
004CC026   .  5D            pop ebp
004CC027   .  C3            retn
**********************************************************************************************
var
a,b,c:integer;
begin
a:=Randomrange(100,999);
b:=randomrange(0,9);
c:=randomrange(0,9);
repeat
b:=randomrange(0,9);
c:=randomrange(0,9);
until
((48+b)+(48+c)) mod 10=4;
if b/2=0 then edit1.text:='A1910'+inttostr(a)+inttostr(b)+inttostr(c)
else
edit1.Text:='A1423'+inttostr(a)+inttostr(b)+inttostr(c);
end;
**********************************************************************************************
感谢lelfei的热心帮助,感谢fonge的提示,是他们帮助我完成了算法keygen的编写


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 7
支持
分享
最新回复 (10)
雪    币: 217
活跃值: (68)
能力值: ( LV12,RANK:210 )
在线值:
发帖
回帖
粉丝
2
高手 强烈支持 哈哈
2007-9-18 17:00
0
雪    币: 206
活跃值: (37)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
注册机呢?
没有看到啊
2007-9-19 09:29
0
雪    币: 347
活跃值: (30)
能力值: ( LV9,RANK:420 )
在线值:
发帖
回帖
粉丝
4
var
a,b,c:integer;
begin
a:=Randomrange(100,999);
b:=randomrange(0,9);
c:=randomrange(0,9);
repeat
b:=randomrange(0,9);
c:=randomrange(0,9);
until
((48+b)+(48+c)) mod 10=4;
if b/2=0 then edit1.text:='A1910'+inttostr(a)+inttostr(b)+inttostr(c)
else
edit1.Text:='A1423'+inttostr(a)+inttostr(b)+inttostr(c);
end;


这个还不够?
2007-9-19 10:33
0
雪    币: 2943
活跃值: (1788)
能力值: ( LV9,RANK:850 )
在线值:
发帖
回帖
粉丝
5
支持你,这个软件总不更新,关于它的注册机版本是多得不得了。而且好像注册算法都不改变。
2007-9-19 10:35
0
雪    币: 6051
活跃值: (1441)
能力值: ( LV15,RANK:1473 )
在线值:
发帖
回帖
粉丝
6
出破文还得精了?呵呵,支持下下
2007-9-19 11:59
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
小子编程学得好啊,哈哈
2007-11-19 19:36
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
呵呵,俺在一步一步学
2007-11-19 19:53
0
雪    币: 4
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
我已经在看雪潜水很久很久,对汇编基本指令有点了解...
想从现在问问题...以后问的问题会很傻,请各位不要嘲笑
谢谢...
路过...学习中..
2007-11-19 22:06
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
小子真是越发努力了啊,支持支持!!
2007-11-21 11:25
0
雪    币: 244
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
学习了,谢谢。
2013-5-2 19:51
0
游客
登录 | 注册 方可回帖
返回
//