老文章档案 · 2003 年

如何计算 批量文件设置器 2.05 的注册码

破解教程 · 算法分析 · 2003-09-24 · 作者:小楼 人气: · 出处:赢政天下整理收藏)

作者主页 http://glowing.yeah.net/

上次得冰毒大侠帮助,破了那个renameman,但有时那个软件会拒绝工作。忍无可忍情况下,我delete it,近日用上了国人的产品 批量文件设置器 2.05。

这个软件是用aspack 1.083压缩的,这次不高兴去用解压加暴力破解的方法,我来试试找出注册码的计算方法。

随便填入用户名:sunwk

公司名:sunwk

注册码:213546

trw中下命令:

bpx:hmemcpy

g

回到目标程序中,按下“现在注册”按钮,见trw跳出。

bd,中断断点。F12按14下(按15下,注册失败的窗户就跳出来了),改按F10一直走。

以下为了解说的方便,定义一些缩略语,并都是16进制表示。u1:用户名第一个字母。u2:用户名第二个字母。c1:公司名第一个字母。c2:公司名第二个字母。s指注册码,3位数字为一组,共8组,依次为s1、s2、s3、s4、s5、s6、s7、s8。

:004AA386 8B45C0 mov eax, dword ptr [ebp-40]

:004AA389 0FB64001 movzx eax, byte ptr [eax+01] <--eax=c2,ebx=u2.

:004AA38D 03D8 add ebx, eax <--ebx=c2+u2

:004AA38F 0FB707 movzx eax, word ptr [edi] <--eax=s1

:004AA392 3BD8 cmp ebx, eax <--s1=c2+u2 ?

:004AA394 0F8502010000 jne 004AA49C <--no,then end.

:004AA39A 8D55BC lea edx, dword ptr [ebp-44]

:004AA39D 8B45FC mov eax, dword ptr [ebp-04]

:004AA3A0 8B80DC020000 mov eax, dword ptr [eax+000002DC]

:004AA3A6 E86188F8FF call 00432C0C

:004AA3AB 8B45BC mov eax, dword ptr [ebp-44]

:004AA3AE 33DB xor ebx, ebx

:004AA3B0 8A18 mov bl, byte ptr [eax]

:004AA3B2 8D55B8 lea edx, dword ptr [ebp-48]

:004AA3B5 8B45FC mov eax, dword ptr [ebp-04]

:004AA3B8 8B80E0020000 mov eax, dword ptr [eax+000002E0]

:004AA3BE E84988F8FF call 00432C0C

:004AA3C3 8B45B8 mov eax, dword ptr [ebp-48]

:004AA3C6 0FB600 movzx eax, byte ptr [eax] <--eax=c1,ebx=u1

:004AA3C9 03D8 add ebx, eax <--ebx=c1+u1

:004AA3CB 0FB74702 movzx eax, word ptr [edi+02] <--ebx=s2

:004AA3CF 3BD8 cmp ebx, eax <--s2=c1+u1 ?

:004AA3D1 0F85C5000000 jne 004AA49C

:004AA3D7 8D55B4 lea edx, dword ptr [ebp-4C]

:004AA3DA 8B45FC mov eax, dword ptr [ebp-04]

:004AA3DD 8B80DC020000 mov eax, dword ptr [eax+000002DC]

:004AA3E3 E82488F8FF call 00432C0C

:004AA3E8 8B45B4 mov eax, dword ptr [ebp-4C]

:004AA3EB 33DB xor ebx, ebx

:004AA3ED 8A18 mov bl, byte ptr [eax]

:004AA3EF 8D55B0 lea edx, dword ptr [ebp-50]

:004AA3F2 8B45FC mov eax, dword ptr [ebp-04]

:004AA3F5 8B80DC020000 mov eax, dword ptr [eax+000002DC]

:004AA3FB E80C88F8FF call 00432C0C

:004AA400 8B45B0 mov eax, dword ptr [ebp-50]

:004AA403 0FB64001 movzx eax, byte ptr [eax+01]

:004AA407 03D8 add ebx, eax

:004AA409 0FB74704 movzx eax, word ptr [edi+04]

:004AA40D 3BD8 cmp ebx, eax <--s3=u1+u2 ?

:004AA40F 0F8587000000 jne 004AA49C

:004AA415 8D55AC lea edx, dword ptr [ebp-54]

:004AA418 8B45FC mov eax, dword ptr [ebp-04]

:004AA41B 8B80E0020000 mov eax, dword ptr [eax+000002E0]

:004AA421 E8E687F8FF call 00432C0C

:004AA426 8B45AC mov eax, dword ptr [ebp-54]

:004AA429 33DB xor ebx, ebx

:004AA42B 8A18 mov bl, byte ptr [eax]

:004AA42D 8D55A8 lea edx, dword ptr [ebp-58]

:004AA430 8B45FC mov eax, dword ptr [ebp-04]

:004AA433 8B80E0020000 mov eax, dword ptr [eax+000002E0]

:004AA439 E8CE87F8FF call 00432C0C

:004AA43E 8B45A8 mov eax, dword ptr [ebp-58]

:004AA441 0FB64001 movzx eax, byte ptr [eax+01]

:004AA445 03D8 add ebx, eax

:004AA447 0FB74706 movzx eax, word ptr [edi+06]

:004AA44B 3BD8 cmp ebx, eax <--s4=c1+c2 ?

:004AA44D 754D jne 004AA49C

:004AA44F 0FB707 movzx eax, word ptr [edi]

:004AA452 0FB75702 movzx edx, word ptr [edi+02]

:004AA456 03C2 add eax, edx

:004AA458 0FB75704 movzx edx, word ptr [edi+04]

:004AA45C 03C2 add eax, edx

:004AA45E 0FB75706 movzx edx, word ptr [edi+06]

:004AA462 03C2 add eax, edx

:004AA464 0FB75708 movzx edx, word ptr [edi+08]

:004AA468 0FB74F0A movzx ecx, word ptr [edi+0A]

:004AA46C 03D1 add edx, ecx

:004AA46E 0FB74F0C movzx ecx, word ptr [edi+0C]

:004AA472 03D1 add edx, ecx

:004AA474 0FB74F0E movzx ecx, word ptr [edi+0E]

:004AA478 03D1 add edx, ecx

:004AA47A 3BC2 cmp eax, edx <-- s1+s2+s3+s4 == s5+s6+s7+s8 ?

:004AA47C 751E jne 004AA49C

:004AA47E 663B7708 cmp si, word ptr [edi+08]

:004AA482 7518 jne 004AA49C <-- 这里好像是比较所有输入的字母或

数字的个数是否等于s5(中文算2个

。我此处的si=2f)

:004AA484 0FB74708 movzx eax, word ptr [edi+08]

:004AA488 0FB717 movzx edx, word ptr [edi]

:004AA48B 03C2 add eax, edx

:004AA48D 0FB7570A movzx edx, word ptr [edi+0A]

:004AA491 3BC2 cmp eax, edx <--s1+s5 =s6 ?

:004AA493 7507 jne 004AA49C

:004AA495 66837F0C64 cmp word ptr [edi+0C], 0064 <--s7=64h ?

:004AA49A 743B je 004AA4D7 <--jump,成功!

* Referenced by a (U)nconditional or (C)onditional Jump at Addresses:

|:004AA394(C), :004AA3D1(C), :004AA40F(C), :004AA44D(C), :004AA47C(C)

|:004AA482(C), :004AA493(C)

|

:004AA49C 6A10 push 00000010

:004AA49E 684CA64A00 push 004AA64C

:004AA4A3 6888A64A00 push 004AA688

:004AA4A8 8B45FC mov eax, dword ptr [ebp-04]

:004AA4AB E870E9F8FF call 00438E20

:004AA4B0 50 push eax

:004AA4B1 E826CFF5FF call 004073DC

这样我们就可以推算出注册码的条件了。

u1=73h u2=75h

c1=73h c2=75h

s1 s2 s3 s4 s5 s6 s7 s8

u2 + c2 = s1 234

u1 + c1 = s2 230

u1 + u2 = s3 232

c1 + c2 = s4 232

s1 + s2 + s3 + s4 = s5 + s6 + s7 + s8

s1 + s5 = s6

s6 = 100

sum = s5 (当用户名只为一中文字时,sum=1Ah)47

s1. 234

s2. 230

s3. 232

s4. 232

s5. 047

s6. 281

s7. 100

s8. 500

这样,我的

用户名:sunwk

公司名:sunwk

注册码:234230232232047281100500

end. (出处:赢政天下整理收藏)

相关文章:

·语音界面2.0算法分析及注册机源码!

·侠客系统修改器1.21破解手记--算法分析

·中文拨号上网计时计费器 V4.12注册算法分析

·ClockWise 3.22e注册码算法分析

·CoolClock V1.02注册算法分析

·Directory Scanner v1.5 注册算法分析

·Disk Chief 1.2 简单注册算法分析

·EffeTech HTTP Sniffer 3.2注册算法分析

·eLib2.01算法分析

·EZ MP3 Recorder 1.15 注册算法分析

相关软件:

→ 特别推荐

→ 热点TOP10

我为人人《《==》》人人为我

关于我们 |

帮助(?)

| 广告服务 |

版权声明 |

商业合作 |

发展历程 |

加盟我们 |

联系我们

Copyright © 1999-2003

winzheng.com All Rights Reserved.

繁体版:由华琦数码技术提供

Powered

by:MeSky.Net

2003-2004 年,宽带刚刚普及,下载站的文章区是许多人学电脑的第一课堂。
🕰 → 🤖 从那时到现在

当年一篇教程能让一台电脑焕然一新;今天的效率工具换成了 AI。 想知道当下最可靠的 AI 模型怎么选?看 赢政指数——我们用了 28 年的选软件严谨,现在用来评测大模型。

档案性质声明:本页为赢政天下(1998-2011)老文章的历史档案复原, 内容反映当年发表时的原貌——包括当年的技术表述、软件版本与观点,部分方法在今天已不适用或不合规,仅作互联网历史记录与研究用途, 不提供任何形式的下载。原始数据经由公共网络存档(Internet Archive)复原。发现问题请联系我们
← 返回老文章档案 · 软件史档案馆 · 赢政天下站史