- UID
- 8198
注册时间2006-2-16
阅读权限40
最后登录1970-1-1
独步武林
该用户从未签到
|
【破文标题】eXeScope 6.50 中文版注册分析
【破文作者】ZHOU2X
【破解工具】PEID,OD,W32Dasm
【破解平台】WinXP sp2
【软件名称】eXeScope 6.50
【软件大小】1.05 MB
【原版下载】论坛有下载
【保护方式】ID、时间限制
【软件简介】
【破解声明】初学Crack,只是感兴趣,没有其它目的。失误之处敬请诸位大侠赐教!
------------------------------------------------------------------------
【破解过程】PEID扫描,Borland Delphi 6.0 - 7.0,无壳
试注册,提示“无效的 id 或名字”
OD载入,“超级字串参考”插件搜索“无效的 id 或名字”
- 004C2A44 /. 55 push ebp
- 004C2A45 |. 8BEC mov ebp,esp
- 004C2A47 |. 33C9 xor ecx,ecx
- 004C2A49 |. 51 push ecx
- 004C2A4A |. 51 push ecx
- 004C2A4B |. 51 push ecx
- 004C2A4C |. 51 push ecx
- 004C2A4D |. 51 push ecx
- 004C2A4E |. 53 push ebx
- 004C2A4F |. 56 push esi
- 004C2A50 |. 57 push edi
- 004C2A51 |. 8BD8 mov ebx,eax
- 004C2A53 |. 33C0 xor eax,eax
- 004C2A55 |. 55 push ebp
- 004C2A56 |. 68 A12B4C00 push eXeScope.004C2BA1
- 004C2A5B |. 64:FF30 push dword ptr fs:[eax]
- 004C2A5E |. 64:8920 mov dword ptr fs:[eax],esp
- 004C2A61 |. A1 5CFC4C00 mov eax,dword ptr ds:[4CFC5C]
- 004C2A66 |. 8038 00 cmp byte ptr ds:[eax],0
- 004C2A69 |. 74 0F je short eXeScope.004C2A7A
- 004C2A6B |. C783 4C020000 02000000 mov dword ptr ds:[ebx+24C],2
- 004C2A75 |. E9 FF000000 jmp eXeScope.004C2B79
- 004C2A7A |> 8D55 FC lea edx,[local.1]
- 004C2A7D |. 8B83 F8020000 mov eax,dword ptr ds:[ebx+2F8]
- 004C2A83 |. E8 F4F8FAFF call eXeScope.0047237C
- 004C2A88 |. 8B55 FC mov edx,[local.1]
- 004C2A8B |. A1 E8FE4C00 mov eax,dword ptr ds:[4CFEE8]
- 004C2A90 |. E8 4F1FF4FF call eXeScope.004049E4
- 004C2A95 |. 8D55 F8 lea edx,[local.2]
- 004C2A98 |. 8B83 FC020000 mov eax,dword ptr ds:[ebx+2FC]
- 004C2A9E |. E8 D9F8FAFF call eXeScope.0047237C
- 004C2AA3 |. 8B55 F8 mov edx,[local.2]
- 004C2AA6 |. A1 4CFE4C00 mov eax,dword ptr ds:[4CFE4C]
- 004C2AAB |. E8 341FF4FF call eXeScope.004049E4
- 004C2AB0 |. 8B15 4CFE4C00 mov edx,dword ptr ds:[4CFE4C] ; eXeScope.004D2E58
- 004C2AB6 |. 8B12 mov edx,dword ptr ds:[edx]
- 004C2AB8 |. A1 54FC4C00 mov eax,dword ptr ds:[4CFC54]
- 004C2ABD |. 8B00 mov eax,dword ptr ds:[eax]
- 004C2ABF |. E8 B8940000 call eXeScope.004CBF7C ; 关键CALL,跟进
- 004C2AC4 |. 84C0 test al,al
- 004C2AC6 |. 0F84 8D000000 je eXeScope.004C2B59
- 004C2ACC |. A1 E8FE4C00 mov eax,dword ptr ds:[4CFEE8]
- 004C2AD1 |. 8B00 mov eax,dword ptr ds:[eax]
- 004C2AD3 |. E8 7821F4FF call eXeScope.00404C50
- 004C2AD8 |. 85C0 test eax,eax
- 004C2ADA |. 7E 7D jle short eXeScope.004C2B59
- 004C2ADC |. 8D55 F0 lea edx,[local.4]
- 004C2ADF |. A1 FCFE4C00 mov eax,dword ptr ds:[4CFEFC]
- 004C2AE4 |. 8B00 mov eax,dword ptr ds:[eax]
- 004C2AE6 |. E8 11FCFCFF call eXeScope.004926FC
- 004C2AEB |. 8B45 F0 mov eax,[local.4]
- 004C2AEE |. 8D4D F4 lea ecx,[local.3]
- 004C2AF1 |. BA B82B4C00 mov edx,eXeScope.004C2BB8 ; .ini
- 004C2AF6 |. E8 2570F4FF call eXeScope.00409B20
- 004C2AFB |. 8B4D F4 mov ecx,[local.3]
- 004C2AFE |. B2 01 mov dl,1
- 004C2B00 |. A1 2CBE4300 mov eax,dword ptr ds:[43BE2C]
- 004C2B05 |. E8 D293F7FF call eXeScope.0043BEDC
- 004C2B0A |. 8BF0 mov esi,eax
- 004C2B0C |. A1 E8FE4C00 mov eax,dword ptr ds:[4CFEE8]
- 004C2B11 |. 8B00 mov eax,dword ptr ds:[eax]
- 004C2B13 |. 50 push eax
- 004C2B14 |. B9 C82B4C00 mov ecx,eXeScope.004C2BC8 ; name
- 004C2B19 |. BA D82B4C00 mov edx,eXeScope.004C2BD8 ; reg
- 004C2B1E |. 8BC6 mov eax,esi
- 004C2B20 |. 8B38 mov edi,dword ptr ds:[eax]
- 004C2B22 |. FF57 04 call near dword ptr ds:[edi+4]
- 004C2B25 |. A1 4CFE4C00 mov eax,dword ptr ds:[4CFE4C]
- 004C2B2A |. 8B00 mov eax,dword ptr ds:[eax]
- 004C2B2C |. 50 push eax
- 004C2B2D |. BA D82B4C00 mov edx,eXeScope.004C2BD8 ; reg
- 004C2B32 |. B9 E42B4C00 mov ecx,eXeScope.004C2BE4 ; id
- 004C2B37 |. 8BC6 mov eax,esi
- 004C2B39 |. 8B38 mov edi,dword ptr ds:[eax]
- 004C2B3B |. FF57 04 call near dword ptr ds:[edi+4]
- 004C2B3E |. 8BC6 mov eax,esi
- 004C2B40 |. E8 9B10F4FF call eXeScope.00403BE0
- 004C2B45 |. A1 5CFC4C00 mov eax,dword ptr ds:[4CFC5C]
- 004C2B4A |. C600 01 mov byte ptr ds:[eax],1
- 004C2B4D |. C783 4C020000 01000000 mov dword ptr ds:[ebx+24C],1
- 004C2B57 |. EB 20 jmp short eXeScope.004C2B79
- 004C2B59 |> 6A 00 push 0 ; 由 004C2AC6, 004C2ADA 跳来
- 004C2B5B |. 8D55 EC lea edx,[local.5]
- 004C2B5E |. B8 F02B4C00 mov eax,eXeScope.004C2BF0 ; 无效的 id 或 名字 //来到这里,向上看
- 004C2B63 |. E8 680D0000 call eXeScope.004C38D0
- 004C2B68 |. 8B45 EC mov eax,[local.5] ; |
- 004C2B6B |. 66:8B0D 202C4C00 mov cx,word ptr ds:[4C2C20] ; |
- 004C2B72 |. B2 01 mov dl,1 ; |
- 004C2B74 |. E8 2F4BF7FF call eXeScope.004376A8 ; \eXeScope.004376A8
- 004C2B79 |> 33C0 xor eax,eax
- 004C2B7B |. 5A pop edx
- 004C2B7C |. 59 pop ecx
- 004C2B7D |. 59 pop ecx
- 004C2B7E |. 64:8910 mov dword ptr fs:[eax],edx
- 004C2B81 |. 68 A82B4C00 push eXeScope.004C2BA8
- 004C2B86 |> 8D45 EC lea eax,[local.5]
- 004C2B89 |. BA 03000000 mov edx,3
- 004C2B8E |. E8 211EF4FF call eXeScope.004049B4
- 004C2B93 |. 8D45 F8 lea eax,[local.2]
- 004C2B96 |. BA 02000000 mov edx,2
- 004C2B9B |. E8 141EF4FF call eXeScope.004049B4
- 004C2BA0 \. C3 ret
- 004C2BA1 .^ E9 CE17F4FF jmp eXeScope.00404374
- 004C2BA6 .^ EB DE jmp short eXeScope.004C2B86
- 004C2BA8 . 5F pop edi
- 004C2BA9 . 5E pop esi
- 004C2BAA . 5B pop ebx
- 004C2BAB . 8BE5 mov esp,ebp
- 004C2BAD . 5D pop ebp
- 004C2BAE . C3 ret
复制代码
- 004CBF7C /$ 55 push ebp
- 004CBF7D |. 8BEC mov ebp,esp
- 004CBF7F |. 51 push ecx
- 004CBF80 |. 53 push ebx
- 004CBF81 |. 8955 FC mov [local.1],edx
- 004CBF84 |. 8B45 FC mov eax,[local.1]
- 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,[local.1]
- 004CBF9F |. E8 AC8CF3FF call eXeScope.00404C50
- 004CBFA4 |. 83F8 0A cmp eax,0A ; 比较注册码长度是否为10
- 004CBFA7 |. 75 5C jnz short eXeScope.004CC005 ; 爆破点,改为 jmp 004CC003
- 004CBFA9 |. 8B55 FC mov edx,[local.1]
- 004CBFAC |. B8 30C04C00 mov eax,eXeScope.004CC030 ; ASCII "A1910"
- 004CBFB1 |. E8 DE8FF3FF call eXeScope.00404F94 ; 比较注册码前五个字符是否为"A1910"
- 004CBFB6 |. 48 dec eax
- 004CBFB7 |. 74 10 je short eXeScope.004CBFC9
- 004CBFB9 |. 8B55 FC mov edx,[local.1]
- 004CBFBC |. B8 40C04C00 mov eax,eXeScope.004CC040 ; ASCII "A1423"
- 004CBFC1 |. E8 CE8FF3FF call eXeScope.00404F94 ; 比较注册码前五个字符是否为"A1423"
- 004CBFC6 |. 48 dec eax
- 004CBFC7 |. 75 3C jnz short eXeScope.004CC005 ; 跳过注册标志
- 004CBFC9 |> B8 02000000 mov eax,2
- 004CBFCE |> 8B55 FC /mov edx,[local.1] ; 这个循环判断注册码从第二个字符开始是否是数字
- 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,[local.1]
- 004CBFE8 |. 0FB640 08 movzx eax,byte ptr ds:[eax+8] ; 取注册码第9个字符ASSIC码值
- 004CBFEC |. 8B55 FC mov edx,[local.1]
- 004CBFEF |. 0FB652 09 movzx edx,byte ptr ds:[edx+9] ; 取注册码第10个字符ASSIC码值
- 004CBFF3 |. 03C2 add eax,edx ; eax=eax+edx
- 004CBFF5 |. B9 0A000000 mov ecx,0A ; 常数 10
- 004CBFFA |. 33D2 xor edx,edx ;
- 004CBFFC |. F7F1 div ecx ; eax/ecx,余数入edx
- 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,[local.1]
- 004CC015 |. E8 7689F3FF call eXeScope.00404990
- 004CC01A \. C3 ret
复制代码
------------------------------------------------------------------------
【破解总结】注册名跟注册码无关,未加入计算
注册码长度为10
比较注册码前五个字符是"A1423"或"A1910"
取注册码第9、10位字符ASSIC码值和除以10,得余数4
易语言注册机源码
- .版本 2
- .局部变量 tmp2, 整数型
- .局部变量 tmp1, 整数型
- .局部变量 tmp3, 整数型
- 置随机数种子 ()
- tmp1 = 取随机数 (100, 999)
- tmp2 = 取随机数 (0, 9)
- tmp3 = 取随机数 (0, 9)
- .判断循环首 ((取代码 (到文本 (tmp2), ) + 取代码 (到文本 (tmp3), )) % 10 ≠ 4)
- tmp2 = 取随机数 (0, 9)
- tmp3 = 取随机数 (0, 9)
- .判断循环尾 ()
- .如果 (tmp2 % 2 = 0)
- 编辑框1.内容 = “A1910” + 到文本 (tmp1) + 到文本 (tmp2) + 到文本 (tmp3)
- .否则
- 编辑框1.内容 = “A1423” + 到文本 (tmp1) + 到文本 (tmp2) + 到文本 (tmp3)
复制代码
------------------------------------------------------------------------
【版权声明】本文纯属技术交流,转载请注明作者并保持文章的完整,谢谢!
[ 本帖最后由 ZHOU2X 于 2006-12-26 13:58 编辑 ] |
|