老文章档案 · 2003 年

cardIt V1.2

破解教程 · 算法分析 · 2003-06-22 · 作者:飞狐 人气: · 出处:嬴政天下整理收藏)

万丈高楼平地起,学PJ先打好基础,最好下载后自己先练习追踪一下,否则只是come easy go easy.

cardIt V1.2是专业的名片设计系统,运行于Windows95/98/NT4平台,它不仅适应于名片设计,还适应于各种证件、卡片的制作。

前面的过程,我想你应该了解吧。又给版主添麻烦了。~~~~~~~

:004156B9 E840FC0200 call 004452FE

:004156BE 8BCE mov ecx, esi

:004156C0 E82B000000 call 004156F0此处要按F8进入。

:004156C5 85C0 test eax, eax

:004156C7 6A00 push 00000000

:004156C9 6A00 push 00000000

:004156CB 7412 je 004156DF 为零则跳转到失败处

***************************

:004156F0 64A100000000 mov eax, dword ptr fs:[00000000]

:004156F6 6AFF push FFFFFFFF

:004156F8 68D8834600 push 004683D8

:004156FD 50 push eax

:004156FE 64892500000000 mov dword ptr fs:[00000000], esp

:00415705 83EC38 sub esp, 00000038

:00415708 56 push esi

:00415709 8B74244C mov esi, dword ptr [esp+4C]

:0041570D 837EF810 cmp dword ptr [esi-08], 00000010

[esi-08]是你所输入的注册码的长度。如果不是16个就跳.

:00415711 0F85C0000000 jne 004157D7

:00415717 BAF7FFFFFF mov edx, FFFFFFF7

:0041571C 33C9 xor ecx, ecx

:0041571E 8D4609 lea eax, dword ptr [esi+09]此处是把你所输入的注册码的首地址+9赋值给EAX,也就是取第10位数字

:00415721 2BD6 sub edx, esi

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

|:00415742(C)

|

:00415723 0FBE70F9 movsx esi, byte ptr [eax-07]此处首先是取第三位数字。

:00415727 83EE30 sub esi, 00000030把其ASCII值减30

:0041572A 89740C04 mov dword ptr [esp+ecx+04], esi存入此处,需要注意此处地址每次地址都不一样。

:0041572E 83C104 add ecx, 00000004 ECX+4

:00415731 0FBE30 movsx esi, byte ptr [eax]见上。

:00415734 83EE30 sub esi, 00000030把其ASCII值减30

:00415737 40 inc eax地址指针加1

:00415738 89740C1C mov dword ptr [esp+ecx+1C], esi存入此处,需要注意此处地址每次地址都不一样。

:0041573C 8D3402 lea esi, dword ptr [edx+eax]

:0041573F 83FE07 cmp esi, 00000007是否循环7次。

:00415742 7CDF jl 00415723低于继续循环,否则进行比较。

上面的取所输入的注册码的的顺序是,第3位、第10位、第4位、第11位、第5位、

第12位、第6位、第13位、第7位、第14位、第8位、第15位、第9位、第16位。

而其ASCII值减30存入地址依次是:70EB20、70EB3C、70EB24、70EB40、70EB28、

70EB44、70EB2C、70EB48、70EB30、70EB4C、70EB34、70EB50、70EB38、70EB54

:00415744 8B442430 mov eax, dword ptr [esp+30]

:00415748 8B4C2404 mov ecx, dword ptr [esp+04]

:0041574C 03C1 add eax, ecx

:0041574E 83F809 cmp eax, 00000009

这一部分是第3位注册码与第14位注册码相加之和是否等于9

:00415751 0F8580000000 jne 004157D7不相同就跳到失败处

:00415757 8B542428 mov edx, dword ptr [esp+28]

:0041575B 8B442408 mov eax, dword ptr [esp+08]

:0041575F 03D0 add edx, eax

:00415761 83FA09 cmp edx, 00000009

这一部分是第4位注册码与第12位注册码相加之和是否等于9

:00415764 7571 jne 004157D7不相同就跳到失败处

:00415766 8B4C240C mov ecx, dword ptr [esp+0C]

:0041576A 8B542434 mov edx, dword ptr [esp+34]

:0041576E 03D1 add edx, ecx

:00415770 83FA09 cmp edx, 00000009

这一部分是第5位注册码与第15位注册码相加之和是否等于9

:00415773 7562 jne 004157D7不相同就跳到失败处

:00415775 8B442410 mov eax, dword ptr [esp+10]

:00415779 8B4C242C mov ecx, dword ptr [esp+2C]

:0041577D 03C8 add ecx, eax

:0041577F 3BCA cmp ecx, edx

这一部分是第6位注册码与第13位注册码相加之和是否等于9

:00415781 7554 jne 004157D7不相同就跳到失败处

:00415783 8B542414 mov edx, dword ptr [esp+14]

:00415787 8B442420 mov eax, dword ptr [esp+20]

:0041578B 03C2 add eax, edx

:0041578D 83F809 cmp eax, 00000009

这一部分是第7位注册码与第10位注册码相加之和是否等于9

:00415790 7545 jne 004157D7不相同就跳到失败处

:00415792 8B4C2418 mov ecx, dword ptr [esp+18]

:00415796 8B542424 mov edx, dword ptr [esp+24]

:0041579A 03D1 add edx, ecx

:0041579C 3BD0 cmp edx, eax

这一部分是第8位注册码与第11位注册码相加之和是否等于9

:0041579E 7537 jne 004157D7不相同就跳到失败处

:004157A0 8B44241C mov eax, dword ptr [esp+1C]

:004157A4 8B4C2438 mov ecx, dword ptr [esp+38]

:004157A8 03C8 add ecx, eax

:004157AA 83F909 cmp ecx, 00000009

这一部分是第9位注册码与第16位注册码相加之和是否等于9

:004157AD 7528 jne 004157D7不相同就跳到失败处

:004157AF 8D4C244C lea ecx, dword ptr [esp+4C]

:004157B3 C7442444FFFFFFFF mov [esp+44], FFFFFFFF

:004157BB E8C9FD0200 call 00445589

:004157C0 B801000000 mov eax, 00000001 01是成功标志。

:004157C5 5E pop esi

:004157C6 8B4C2438 mov ecx, dword ptr [esp+38]

:004157CA 64890D00000000 mov dword ptr fs:[00000000], ecx

:004157D1 83C444 add esp, 00000044

:004157D4 C20400 ret 0004

总结:

前两位可以是任意字符,而后14位注册码的算法是:

第3位注册码+第14位注册码=9

第4位注册码+第12位注册码=9

第5位注册码+第15位注册码=9

第6位注册码+第13位注册码=9

第7位注册码+第10位注册码=9

第8位注册码+第11位注册码=9

第9位注册码+第16位注册码=9

如:$%00000009999999

(出处:嬴政天下整理收藏)

相关文章:

·ASProtect的加密算法初步分析

·MD5算法研究

·Active Ebook Compiler的注册算法

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

·简单算法——小护士 V1.2

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

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

·加密算法之RSA算法

·加密算法之DES算法

·加密算法之ElGamal算法

相关软件:

·胜新出纳-支票打印软件 V4.0X 的注册码算法

·胜新现代办公百宝箱 V5.01 的注册码算法

·胜新信函宝典-信封打印软件 V2.02 注册码的算法

·胜新通用企业计划管理系统的注册码算法

·共享软件加密算法库 V3.2

·操作系统内存分配银行家算法模拟系统 XP

→ 特别推荐

→ 热点TOP10

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

关于我们 |

帮助(?)

| 广告服务 |

版权声明 |

商业合作 |

发展历程 |

加盟我们 |

联系我们

Copyright © 1999-2003

winzheng.com All Rights Reserved.

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

Powered

by:MeSky.Net

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

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

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