老文章档案 · 2003 年

ChinaRen校友录伴侣 v2.02 build 20821算法分析

赢政天下 [WINZHENG.COM] · 网络学院 · 2003-08-22 · 作者:北极熊 人气: · 出处:赢政天下整理收藏)

软件介绍:

1. 〖ChinaRen校友录伴侣〗是共享软件。如果您喜欢本软件并且决定一直使用下去,请注册使用。〖ChinaRen校友录伴侣〗的注册费为人民币20元/套。

2. 注册用户可以得到作者的技术支持和服务。相应,如果〖ChinaRen校友录伴侣〗的作者有其他服务承诺,注册用户将得到更多的好处。特别的,您的注册(付费使用)还将在最大程度上鼓励作者作出更多、更好的软件供大家使用,进而促进中国的民族软件事业的发展和壮大

......

--------------------------------------------------------------------------------------

破解人:北极熊[DFCG]

下载地址: http://www.softreg.com.cn/shareware_view.asp?id=/8FE96BBB-F95E-40B4-A97A-BC44FDEF0110/

作者主页: http://www.larryuan.com/crap.htm

破解工具:TRW2000

破解过程:

1、运行TRW2000后最小化

2、运行程序,弹出注册对话框,输入用户名和任意假注册码,先不要点“注册”按钮

3、Ctrl+N激活TRW2000

4、bpx hmemcpy → 这里用hmemcpy这个万能断点就OK了

5、按F5返回,点击注册按钮,程序被拦截

6、BC * → 清除所有断点

PMODULE → 直接进入程序领空

7、按F12键7次按F10键来到如下代码处

0167:004D6242 8D55F0 LEA EDX,[EBP-10]

0167:004D6245 8B8300030000 MOV EAX,[EBX+0300]

0167:004D624B E8406EF7FF CALL 0044D090

0167:004D6250 8B45F0 MOV EAX,[EBP-10]

0167:004D6253 8D55F4 LEA EDX,[EBP-0C] 用户名

0167:004D6256 E8A9DF0000 CALL 004E4204 算法关键CALL

0167:004D625B 8B45F4 MOV EAX,[EBP-0C]

0167:004D625E 50 PUSH EAX

0167:004D625F 8D55EC LEA EDX,[EBP-14]

0167:004D6262 8B8304030000 MOV EAX,[EBX+0304]

0167:004D6268 E8236EF7FF CALL 0044D090

0167:004D626D 8B55EC MOV EDX,[EBP-14]

0167:004D6270 58 POP EAX

0167:004D6271 E8F2E8F2FF CALL 00404B68

0167:004D6276 7416 JZ 004D628E

0167:004D6278 B8F4644D00 MOV EAX,004D64F4

0167:004D627D E85AFCF6FF CALL 00445EDC

0167:004D6282 8BC3 MOV EAX,EBX

-----------------------------//F8进入算法CALL//-----------------------

0167:004E4205 8BEC MOV EBP,ESP

0167:004E4207 83C4C0 ADD ESP,BYTE -40

0167:004E420A 56 PUSH ESI

0167:004E420B 57 PUSH EDI

0167:004E420C 33C9 XOR ECX,ECX

0167:004E420E 894DC0 MOV [EBP-40],ECX

0167:004E4211 894DC4 MOV [EBP-3C],ECX

0167:004E4214 894DC8 MOV [EBP-38],ECX

0167:004E4217 894DCC MOV [EBP-34],ECX

0167:004E421A 894DF4 MOV [EBP-0C],ECX

0167:004E421D 894DF0 MOV [EBP-10],ECX

0167:004E4220 894DEC MOV [EBP-14],ECX

0167:004E4223 894DE8 MOV [EBP-18],ECX

0167:004E4226 8955F8 MOV [EBP-08],EDX

0167:004E4229 8945FC MOV [EBP-04],EAX

0167:004E422C 8B45FC MOV EAX,[EBP-04]

0167:004E422F E8D809F2FF CALL 00404C0C

0167:004E4234 33C0 XOR EAX,EAX

0167:004E4236 55 PUSH EBP

0167:004E4237 6888444E00 PUSH DWORD 004E4488

0167:004E423C 64FF30 PUSH DWORD [FS:EAX]

0167:004E423F 648920 MOV [FS:EAX],ESP

0167:004E4242 8D55CC LEA EDX,[EBP-34]

0167:004E4245 8B45FC MOV EAX,[EBP-04]

0167:004E4248 E8374BF2FF CALL 00408D84

0167:004E424D 8B55CC MOV EDX,[EBP-34]

0167:004E4250 8D45FC LEA EAX,[EBP-04]

0167:004E4253 E8AC05F2FF CALL 00404804

0167:004E4258 8B45FC MOV EAX,[EBP-04]

0167:004E425B E8C407F2FF CALL 00404A24

0167:004E4260 8B55FC MOV EDX,[EBP-04]

0167:004E4263 0FB612 MOVZX EDX,BYTE [EDX] //取用户名第一位ASCII码

0167:004E4266 83E201 AND EDX,BYTE +01 和数字"1"xor运算

0167:004E4269 85D2 TEST EDX,EDX

0167:004E426B 0F9445D3 SETZ [EBP-2D] 如果结果是0就置标志位"1" 这里记为AA

0167:004E426F 8B55FC MOV EDX,[EBP-04]

0167:004E4272 0FB65402FF MOVZX EDX,BYTE [EDX+EAX-01] //取用户名最后一位ASCII码

0167:004E4277 83E201 AND EDX,BYTE +01 和数字"1"xor运算

0167:004E427A 85D2 TEST EDX,EDX

0167:004E427C 0F9445D2 SETZ [EBP-2E] 如果结果是0就置标志位"1" 这里记为BB

-------------- //下面有四个分支,分别设置初值-------------------

分支1. AA=1,BB=1

[EBP-1C]=$3B, [EBP-20]=&H17,ESI=7

分支2. AA=1,BB=0

[EBP-1C]=$3B, [EBP-20]=7,ESI=&H17

分支2. AA=0,BB=1

[EBP-1C]=$17, [EBP-20]=&H3B,ESI=7

分支2. AA=0,BB=0

[EBP-1C]=$17, [EBP-20]=7,ESI=&H3B

0167:004E4280 807DD301 CMP BYTE [EBP-2D],01 //分支1

0167:004E4284 751B JNZ 004E42A1

0167:004E4286 807DD201 CMP BYTE [EBP-2E],01

0167:004E428A 7515 JNZ 004E42A1

0167:004E428C C745E43B000000 MOV DWORD [EBP-1C],3B

0167:004E4293 C745E017000000 MOV DWORD [EBP-20],17

0167:004E429A BE07000000 MOV ESI,07

0167:004E429F EB55 JMP SHORT 004E42F6

0167:004E42A1 807DD301 CMP BYTE [EBP-2D],01 //分支2

0167:004E42A5 751B JNZ 004E42C2

0167:004E42A7 807DD200 CMP BYTE [EBP-2E],00

0167:004E42AB 7515 JNZ 004E42C2

0167:004E42AD C745E43B000000 MOV DWORD [EBP-1C],3B

0167:004E42B4 C745E007000000 MOV DWORD [EBP-20],07

0167:004E42BB BE17000000 MOV ESI,17

0167:004E42C0 EB34 JMP SHORT 004E42F6

0167:004E42C2 807DD300 CMP BYTE [EBP-2D],00 //分支3

0167:004E42C6 751B JNZ 004E42E3

0167:004E42C8 807DD201 CMP BYTE [EBP-2E],01

0167:004E42CC 7515 JNZ 004E42E3

0167:004E42CE C745E417000000 MOV DWORD [EBP-1C],17

0167:004E42D5 C745E03B000000 MOV DWORD [EBP-20],3B

0167:004E42DC BE07000000 MOV ESI,07

0167:004E42E1 EB13 JMP SHORT 004E42F6

0167:004E42E3 C745E417000000 MOV DWORD [EBP-1C],17 //分支4

0167:004E42EA C745E007000000 MOV DWORD [EBP-20],07

0167:004E42F1 BE3B000000 MOV ESI,3B

0167:004E42F6 33D2 XOR EDX,EDX

0167:004E42F8 8955DC MOV [EBP-24],EDX

0167:004E42FB 33D2 XOR EDX,EDX

0167:004E42FD 8955D8 MOV [EBP-28],EDX

0167:004E4300 33D2 XOR EDX,EDX

0167:004E4302 8955D4 MOV [EBP-2C],EDX

0167:004E4305 8BC8 MOV ECX,EAX

0167:004E4307 85C9 TEST ECX,ECX

0167:004E4309 7E17 JNG 004E4322

0167:004E430B BF01000000 MOV EDI,01

0167:004E4310 8B55FC MOV EDX,[EBP-04] 取用户名

0167:004E4313 0FB6543AFF MOVZX EDX,BYTE [EDX+EDI-01] 逐位取用户名ASCII码

0167:004E4318 0355E4 ADD EDX,[EBP-1C] 加上初值[EBP-1C]

0167:004E431B 0155DC ADD [EBP-24],EDX 累加

0167:004E431E 47 INC EDI 计数器加1

0167:004E431F 49 DEC ECX

0167:004E4320 75EE JNZ 004E4310 循环,结果记为a

0167:004E4322 8BC8 MOV ECX,EAX

0167:004E4324 85C9 TEST ECX,ECX

0167:004E4326 7E18 JNG 004E4340

0167:004E4328 BF01000000 MOV EDI,01

0167:004E432D 8B55FC MOV EDX,[EBP-04] 取用户名

0167:004E4330 0FB6543AFF MOVZX EDX,BYTE [EDX+EDI-01] 逐位取用户名ASCII码

0167:004E4335 0FAF55E0 IMUL EDX,[EBP-20] 乘上初值[EBP-20]

0167:004E4339 0155D8 ADD [EBP-28],EDX 累加

0167:004E433C 47 INC EDI 计数器加1

0167:004E433D 49 DEC ECX

0167:004E433E 75ED JNZ 004E432D 循环,结果记为b

0167:004E4340 8BC8 MOV ECX,EAX

0167:004E4342 85C9 TEST ECX,ECX

0167:004E4344 7E21 JNG 004E4367

0167:004E4346 BF01000000 MOV EDI,01

0167:004E434B 8B45FC MOV EAX,[EBP-04] 取用户名

0167:004E434E 0FB64438FF MOVZX EAX,BYTE [EAX+EDI-01] 逐位取用户名ASCII码

0167:004E4353 99 CDQ

0167:004E4354 F7FE IDIV ESI 除以初值esi

0167:004E4356 0345D4 ADD EAX,[EBP-2C]

0167:004E4359 8BD7 MOV EDX,EDI 取当前位数i

0167:004E435B 0FAFD6 IMUL EDX,ESI 位数i乘以初值esi

0167:004E435E 03C2 ADD EAX,EDX 加

0167:004E4360 8945D4 MOV [EBP-2C],EAX 累加

0167:004E4363 47 INC EDI 计数器加1

0167:004E4364 49 DEC ECX

0167:004E4365 75E4 JNZ 004E434B 循环,结果记为c

0167:004E4367 8D55C8 LEA EDX,[EBP-38]

0167:004E436A 8B45DC MOV EAX,[EBP-24] 取a

0167:004E436D 0FAF45E4 IMUL EAX,[EBP-1C] a乘初值[EBP-1C]

0167:004E4371 E83E4FF2FF CALL 004092B4 转换为10进制输出

0167:004E4376 8B45C8 MOV EAX,[EBP-38]

0167:004E4379 8D4DF4 LEA ECX,[EBP-0C]

0167:004E437C BA06000000 MOV EDX,06

0167:004E4381 E8D2FDFFFF CALL 004E4158 比较长度是否6位,不够在前面补上 "0",多了就取右端的6位

0167:004E4386 8D55C4 LEA EDX,[EBP-3C]

0167:004E4389 8B45D8 MOV EAX,[EBP-28] 取b

0167:004E438C 0FAF45E0 IMUL EAX,[EBP-20] b乘初值[EBP-20]

0167:004E4390 E81F4FF2FF CALL 004092B4 转换为10进制输出

0167:004E4395 8B45C4 MOV EAX,[EBP-3C]

0167:004E4398 8D4DF0 LEA ECX,[EBP-10]

0167:004E439B BA06000000 MOV EDX,06

0167:004E43A0 E8B3FDFFFF CALL 004E4158 比较长度是否6位...

0167:004E43A5 8D55C0 LEA EDX,[EBP-40]

0167:004E43A8 8B45D4 MOV EAX,[EBP-2C] 取c

0167:004E43AB 0FAF45E4 IMUL EAX,[EBP-1C] c乘初值[EBP-1c]

0167:004E43AF 0FAF45E0 IMUL EAX,[EBP-20] 结果乘初值[EBP-20]

0167:004E43B3 0FAFC6 IMUL EAX,ESI 结果乘初值esi

0167:004E43B6 E8F94EF2FF CALL 004092B4 转换为10进制输出

0167:004E43BB 8B45C0 MOV EAX,[EBP-40]

0167:004E43BE 8D4DEC LEA ECX,[EBP-14]

0167:004E43C1 BA06000000 MOV EDX,06

0167:004E43C6 E88DFDFFFF CALL 004E4158 比较长度是否6位

-------------------//下面又是按四种情况进行连接//-------------

分支1. AA=1,BB=1 注册码=b-c-a

分支2. AA=1,BB=0 注册码=c-b-a

分支2. AA=0,BB=1 注册码=c-a-b

分支2. AA=0,BB=0 注册码=a-c-b

0167:004E43CB 807DD301 CMP BYTE [EBP-2D],01 //分支1

0167:004E43CF 751E JNZ 004E43EF

0167:004E43D1 807DD201 CMP BYTE [EBP-2E],01

0167:004E43D5 7518 JNZ 004E43EF

0167:004E43D7 FF75F0 PUSH DWORD [EBP-10]

0167:004E43DA FF75EC PUSH DWORD [EBP-14]

0167:004E43DD FF75F4 PUSH DWORD [EBP-0C]

0167:004E43E0 8D45E8 LEA EAX,[EBP-18]

0167:004E43E3 BA03000000 MOV EDX,03

0167:004E43E8 E8F706F2FF CALL 00404AE4

0167:004E43ED EB5E JMP SHORT 004E444D

0167:004E43EF 807DD301 CMP BYTE [EBP-2D],01 //分支2

0167:004E43F3 751E JNZ 004E4413

0167:004E43F5 807DD200 CMP BYTE [EBP-2E],00

0167:004E43F9 7518 JNZ 004E4413

0167:004E43FB FF75EC PUSH DWORD [EBP-14]

0167:004E43FE FF75F0 PUSH DWORD [EBP-10]

0167:004E4401 FF75F4 PUSH DWORD [EBP-0C]

0167:004E4404 8D45E8 LEA EAX,[EBP-18]

0167:004E4407 BA03000000 MOV EDX,03

0167:004E440C E8D306F2FF CALL 00404AE4

0167:004E4411 EB3A JMP SHORT 004E444D

0167:004E4413 807DD300 CMP BYTE [EBP-2D],00 //分支3

0167:004E4417 751E JNZ 004E4437

0167:004E4419 807DD201 CMP BYTE [EBP-2E],01

0167:004E441D 7518 JNZ 004E4437

0167:004E441F FF75EC PUSH DWORD [EBP-14]

0167:004E4422 FF75F4 PUSH DWORD [EBP-0C]

0167:004E4425 FF75F0 PUSH DWORD [EBP-10]

0167:004E4428 8D45E8 LEA EAX,[EBP-18]

0167:004E442B BA03000000 MOV EDX,03

0167:004E4430 E8AF06F2FF CALL 00404AE4

0167:004E4435 EB16 JMP SHORT 004E444D

0167:004E4437 FF75F4 PUSH DWORD [EBP-0C] //分支4

0167:004E443A FF75EC PUSH DWORD [EBP-14]

0167:004E443D FF75F0 PUSH DWORD [EBP-10]

0167:004E4440 8D45E8 LEA EAX,[EBP-18]

0167:004E4443 BA03000000 MOV EDX,03

0167:004E4448 E89706F2FF CALL 00404AE4

0167:004E444D 8B45F8 MOV EAX,[EBP-08]

0167:004E4450 8B55E8 MOV EDX,[EBP-18]

0167:004E4453 E86803F2FF CALL 004047C0

0167:004E4458 33C0 XOR EAX,EAX

0167:004E445A 5A POP EDX

0167:004E445B 59 POP ECX

0167:004E445C 59 POP ECX

0167:004E445D 648910 MOV [FS:EAX],EDX

0167:004E4460 688F444E00 PUSH DWORD 004E448F

0167:004E4465 8D45C0 LEA EAX,[EBP-40]

0167:004E4468 BA04000000 MOV EDX,04

0167:004E446D E81E03F2FF CALL 00404790

0167:004E4472 8D45E8 LEA EAX,[EBP-18]

0167:004E4475 BA04000000 MOV EDX,04

0167:004E447A E81103F2FF CALL 00404790

0167:004E447F 8D45FC LEA EAX,[EBP-04]

0167:004E4482 E8E502F2FF CALL 0040476C

VB注册机源代码略!

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

相关文章:

·语音界面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)复原。发现问题请联系我们
← 返回老文章档案 · 软件史档案馆 · 赢政天下站史