-
您的位置:首页 → 精文荟萃 → 破解文章 → 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破解如何给软件脱壳基础教程
查看所有1条评论>>