您的位置:首页精文荟萃破解文章 → ChinaRen校友录伴侣 v2.02 build 20821算法分析

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

时间:2004/10/15 0:55:00来源:本站整理作者:蓝点我要评论(1)

 

软件介绍:
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注册机源代码略!



    
    
     
    
    
     

相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 去除winrar注册框方法

最新文章 比特币病毒怎么破解 比去除winrar注册框方法 华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)通过Access破解MSSQL获得数据

人气排行 华为无线路由器HG522-C破解教程(附超级密码JEB格式文件京东电子书下载和阅读限制破解教UltraISO注册码全集(最新)qq相册密码破解方法去除winrar注册框方法(适应任何版本)怎么用手机破解收费游戏华为无线猫HG522破解如何给软件脱壳基础教程