- UID
- 48749
注册时间2008-4-1
阅读权限50
最后登录1970-1-1
感悟天道
TA的每日心情 | 开心 2016-12-24 08:16 |
---|
签到天数: 464 天 [LV.9]以坛为家II
|
【文章标题】系统优化大师 2009 build 03.01破解教程及算法注册机
【软件名称】系统优化大师 2009 build 03.01
【软件大小】: 1.88 M
【更新时间】: 2009-02-23
【软件类别】: 国产软件 / 系统设置
【软件语言】: 简体中文
【应用平台】: Win9x/WinNT/Win2000/WinXP
【软件性质】: 共享(收费)软件 购买
【下载地址】http://www1.skycn.com/soft/12317.html
【软件介绍】: 〖系统优化大师〗软件被评为2004年中国十大装机必备
软件,2005年中国十大最优秀共享软件,2006年中国优秀共享软件,
2007年中国优秀共享软件常青树特别奖。软件全方位、高效、安全地提
高你的系统性能,软件使用简单,界面友好,傻瓜式操作,使用本软件
可能迅速达到系统优化目的。包括桌面优化、菜单优化、网络优化、软
件优化、系统优化以及禁用设置、选择设置、更改设置等一系列个性化
优化及设置选项。软件可以进行高速的注册表清理及高速的硬盘垃圾文
件清理,清理全面、安全、不影响任何运行性能。
【破解作者】萧萧黄叶
【加壳方式】ASPack 2.12 -> Alexey Solodovnikov
【使用工具】OllyICE,PEiD v0.94
【详细过程】这是一个加壳(ASPack 2.12 -> Alexey Solodovnikov)
软件,但这种壳是压缩壳,而且我们要的算法,所以就不脱壳了。直接
用OD载入吧,F9运行,软件注册,要填写确认码和注册码,简单一点,
123,45678,先下个万能断点,然后确认注册,程序被被断下来了:
77D33566 F3:A5 REP MOVS DWORD PTR ES:[EDI],DWORD
PTR DS>
77D33568 8BC8 MOV ECX,EAX
77D3356A 83E1 03 AND ECX,3
慢慢往回走,一直到这里:
0054E5F0 83BD A8FEFFFF 0>CMP DWORD PTR SS:[EBP-158],0
0054E5F7 74 1D JE SHORT yhds.0054E616
0054E5F9 8D95 A4FEFFFF LEA EDX,DWORD PTR SS:[EBP-15C]
继续向下走,F8单步:
0054E5DC 8D95 A8FEFFFF LEA EDX,DWORD PTR SS:[EBP-158]
0054E5E2 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0054E5E5 8B80 F8020000 MOV EAX,DWORD PTR DS:[EAX+2F8]
0054E5EB E8 F01BF0FF CALL yhds.004501E0
; 这里测试了确认码是否为空。
0054E5F0 83BD A8FEFFFF 0>CMP DWORD PTR SS:[EBP-158],0
0054E5F7 74 1D JE SHORT yhds.0054E616
0054E5F9 8D95 A4FEFFFF LEA EDX,DWORD PTR SS:[EBP-15C]
0054E5FF 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0054E602 8B80 00030000 MOV EAX,DWORD PTR DS:[EAX+300]
0054E608 E8 D31BF0FF CALL yhds.004501E0
; 这里测试看看注册码是否为空。
0054E60D 83BD A4FEFFFF 0>CMP DWORD PTR SS:[EBP-15C],0
0054E614 75 0F JNZ SHORT yhds.0054E625
0054E616 B8 70E85400 MOV EAX,yhds.0054E870
0054E61B E8 F4A7EFFF CALL yhds.00448E14
0054E620 E9 CC010000 JMP yhds.0054E7F1
0054E625 8D95 9CFEFFFF LEA EDX,DWORD PTR SS:[EBP-164]
0054E62B 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0054E62E 8B80 00030000 MOV EAX,DWORD PTR DS:[EAX+300]
0054E634 E8 A71BF0FF CALL yhds.004501E0
0054E639 8B85 9CFEFFFF MOV EAX,DWORD PTR SS:[EBP-164]
0054E63F 8D95 A0FEFFFF LEA EDX,DWORD PTR SS:[EBP-160]
0054E645 E8 1AB4EBFF CALL yhds.00409A64
0054E64A 8B85 A0FEFFFF MOV EAX,DWORD PTR SS:[EBP-160]
0054E650 50 PUSH EAX
0054E651 8D95 90FEFFFF LEA EDX,DWORD PTR SS:[EBP-170]
0054E657 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0054E65A 8B80 F8020000 MOV EAX,DWORD PTR DS:[EAX+2F8]
0054E660 E8 7B1BF0FF CALL yhds.004501E0
0054E665 8B85 90FEFFFF MOV EAX,DWORD PTR SS:[EBP-170]
0054E66B E8 F0B6EBFF CALL yhds.00409D60
; 这个CALL是将确认码由十进制转换为十六进制形式。结果放在
EAX上。
0054E670 B9 59000000 MOV ECX,59
; 取固定码十六进制数59
0054E675 99 CDQ
0054E676 F7F9 IDIV ECX
; EAX MOD 59,结果设为Y。
0054E678 8BC2 MOV EAX,EDX
0054E67A 8D95 94FEFFFF LEA EDX,DWORD PTR SS:[EBP-16C]
0054E680 E8 FBB5EBFF CALL yhds.00409C80
0054E685 8D85 94FEFFFF LEA EAX,DWORD PTR SS:[EBP-16C]
0054E68B 50 PUSH EAX
0054E68C 8D95 84FEFFFF LEA EDX,DWORD PTR SS:[EBP-17C]
0054E692 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0054E695 8B80 F8020000 MOV EAX,DWORD PTR DS:[EAX+2F8]
0054E69B E8 401BF0FF CALL yhds.004501E0
0054E6A0 8B85 84FEFFFF MOV EAX,DWORD PTR SS:[EBP-17C]
0054E6A6 E8 B5B6EBFF CALL yhds.00409D60
0054E6AB 8D95 88FEFFFF LEA EDX,DWORD PTR SS:[EBP-178]
0054E6B1 E8 2EFCFFFF CALL yhds.0054E2E4
; 这个CALL先对确认码进行了第一部分的运算,跟进!
0054E6B6 8B85 88FEFFFF MOV EAX,DWORD PTR SS:[EBP-178]
0054E6BC E8 9FB6EBFF CALL yhds.00409D60
; 这里将X又转换为了十六进制并放在EAX上。
0054E6C1 8D95 8CFEFFFF LEA EDX,DWORD PTR SS:[EBP-174]
0054E6C7 E8 F8FCFFFF CALL yhds.0054E3C4
; 这里进行了第二部分的运算,跟进!
0054E6CC 8B95 8CFEFFFF MOV EDX,DWORD PTR SS:[EBP-174]
0054E6D2 58 POP EAX
0054E6D3 E8 2C69EBFF CALL yhds.00405004
; 将Y与X相连,这就是与确认码相对应的正确的注册码了
0054E6D8 8B85 94FEFFFF MOV EAX,DWORD PTR SS:[EBP-16C]
0054E6DE 8D95 98FEFFFF LEA EDX,DWORD PTR SS:[EBP-168]
0054E6E4 E8 7BB3EBFF CALL yhds.00409A64
0054E6E9 8B95 98FEFFFF MOV EDX,DWORD PTR SS:[EBP-168]
0054E6EF 58 POP EAX
0054E6F0 E8 4B6AEBFF CALL yhds.00405140
; 真假对比
0054E6F5 0F85 CC000000 JNZ yhds.0054E7C7
; 真假不相符就跳走!一跳就死!
0054E6FB BA 90E85400 MOV EDX,yhds.0054E890
; ASCII "yhdtn.dll"
0054E6B1 CALL 跟进:
0054E2F6 68 B4E35400 PUSH yhds.0054E3B4
0054E2FB 64:FF30 PUSH DWORD PTR FS:[EAX]
0054E2FE 64:8920 MOV DWORD PTR FS:[EAX],ESP
0054E301 81F3 F1250B00 XOR EBX,0B25F1
; 将X与0B25F1作异或运算。X=X XOR B25F1
0054E307 8BC3 MOV EAX,EBX
0054E309 33D2 XOR EDX,EDX
0054E30B 52 PUSH EDX
0054E30C 50 PUSH EAX
0054E30D 8D45 FC LEA EAX,DWORD PTR SS:[EBP-4]
0054E310 E8 9BB9EBFF CALL yhds.00409CB0
; 将X转换为十进制形式。
0054E315 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0054E318 0FB600 MOVZX EAX,BYTE PTR DS:[EAX]
; 取X的第一位
0054E31B 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0054E31E 0FB652 01 MOVZX EDX,BYTE PTR DS:[EDX+1]
; 取X的第二位
0054E322 03C2 ADD EAX,EDX
; 两者相加
0054E324 B9 05000000 MOV ECX,5
0054E329 99 CDQ
0054E32A F7F9 IDIV ECX
; 除以5取余数
0054E32C 80C2 34 ADD DL,34
; 余数再加34
0054E32F 8855 F8 MOV BYTE PTR SS:[EBP-8],DL
0054E332 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0054E335 0FB640 02 MOVZX EAX,BYTE PTR DS:[EAX+2]
; 取X的第三位
0054E339 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0054E33C 0FB652 03 MOVZX EDX,BYTE PTR DS:[EDX+3]
; 取X的第四位
0054E340 03C2 ADD EAX,EDX
; 相加
0054E342 B9 05000000 MOV ECX,5
0054E347 99 CDQ
0054E348 F7F9 IDIV ECX
; 整除5取余数
0054E34A 8BDA MOV EBX,EDX
0054E34C 80C3 33 ADD BL,33
; 余数加33
0054E34F 885D F9 MOV BYTE PTR SS:[EBP-7],BL
0054E352 8D45 F4 LEA EAX,DWORD PTR SS:[EBP-C]
0054E355 8A55 F8 MOV DL,BYTE PTR SS:[EBP-8]
0054E358 E8 C76BEBFF CALL yhds.00404F24
0054E35D 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C]
0054E360 8D55 FC LEA EDX,DWORD PTR SS:[EBP-4]
0054E363 B9 1B000000 MOV ECX,1B
0054E368 E8 6F6FEBFF CALL yhds.004052DC
0054E36D 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
0054E370 8BD3 MOV EDX,EBX
0054E372 E8 AD6BEBFF CALL yhds.00404F24
0054E377 8B45 F0 MOV EAX,DWORD PTR SS:[EBP-10]
0054E37A 8D55 FC LEA EDX,DWORD PTR SS:[EBP-4]
0054E37D B9 19000000 MOV ECX,19
0054E382 E8 556FEBFF CALL yhds.004052DC
; 再将两次余数转换为字符与X相连
0054E387 8BC6 MOV EAX,ESI
0054E389 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0054E6C7 CALL跟进:
0054E3DD 64:FF30 PUSH DWORD PTR FS:[EAX]
0054E3E0 64:8920 MOV DWORD PTR FS:[EAX],ESP
0054E3E3 81F3 8776FBDD XOR EBX,DDFB7687
; X与DDFB7687作异或运算,X=X XOR DDFB7687
0054E3E9 8BC3 MOV EAX,EBX
0054E3EB 33D2 XOR EDX,EDX
0054E3ED 52 PUSH EDX
0054E3EE 50 PUSH EAX
0054E3EF 8D45 FC LEA EAX,DWORD PTR SS:[EBP-4]
0054E3F2 E8 B9B8EBFF CALL yhds.00409CB0
; X的十进制形式
0054E3F7 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0054E3FA 0FB600 MOVZX EAX,BYTE PTR DS:[EAX]
0054E3FD 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0054E400 0FB652 01 MOVZX EDX,BYTE PTR DS:[EDX+1]
0054E404 03C2 ADD EAX,EDX
0054E406 B9 05000000 MOV ECX,5
0054E40B 99 CDQ
0054E40C F7F9 IDIV ECX
0054E40E 80C2 66 ADD DL,66
0054E411 8855 F8 MOV BYTE PTR SS:[EBP-8],DL
; X的第一位的ASCII码加上第二位的ASCII码再除以5取余数并加上
66
0054E414 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0054E417 0FB640 02 MOVZX EAX,BYTE PTR DS:[EAX+2]
0054E41B 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0054E41E 0FB652 03 MOVZX EDX,BYTE PTR DS:[EDX+3]
0054E422 03C2 ADD EAX,EDX
0054E424 B9 05000000 MOV ECX,5
0054E429 99 CDQ
0054E42A F7F9 IDIV ECX
0054E42C 80C2 75 ADD DL,75
0054E42F 8855 F9 MOV BYTE PTR SS:[EBP-7],DL
; X的第三位的ASCII码加上第四位的ASCII码再除以5取余数并加上
75
0054E432 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0054E435 0FB640 04 MOVZX EAX,BYTE PTR DS:[EAX+4]
0054E439 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0054E43C 0FB652 05 MOVZX EDX,BYTE PTR DS:[EDX+5]
0054E440 03C2 ADD EAX,EDX
0054E442 B9 05000000 MOV ECX,5
0054E447 99 CDQ
0054E448 F7F9 IDIV ECX
0054E44A 80C2 7A ADD DL,7A
0054E44D 8855 FA MOV BYTE PTR SS:[EBP-6],DL
; X的第五位的ASCII码加上第六位的ASCII码再除以5取余数并加上
7A
0054E450 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
0054E453 0FB640 06 MOVZX EAX,BYTE PTR DS:[EAX+6]
0054E457 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0054E45A 0FB652 07 MOVZX EDX,BYTE PTR DS:[EDX+7]
0054E45E 03C2 ADD EAX,EDX
0054E460 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0054E463 0FB652 08 MOVZX EDX,BYTE PTR DS:[EDX+8]
0054E467 03C2 ADD EAX,EDX
0054E469 B9 05000000 MOV ECX,5
0054E46E 99 CDQ
0054E46F F7F9 IDIV ECX
0054E471 80C2 69 ADD DL,69
0054E474 8855 FB MOV BYTE PTR SS:[EBP-5],DL
; X的第七位的ASCII码加上第八和九位的ASCII码再除以5取余数并
加上69
0054E477 8D45 F4 LEA EAX,DWORD PTR SS:[EBP-C]
0054E47A 8A55 F8 MOV DL,BYTE PTR SS:[EBP-8]
0054E47D E8 A26AEBFF CALL yhds.00404F24
0054E482 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C]
0054E485 8D55 FC LEA EDX,DWORD PTR SS:[EBP-4]
0054E488 B9 07000000 MOV ECX,7
0054E48D E8 4A6EEBFF CALL yhds.004052DC
0054E492 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
0054E495 8A55 FB MOV DL,BYTE PTR SS:[EBP-5]
0054E498 E8 876AEBFF CALL yhds.00404F24
0054E49D 8B45 F0 MOV EAX,DWORD PTR SS:[EBP-10]
0054E4A0 8D55 FC LEA EDX,DWORD PTR SS:[EBP-4]
0054E4A3 B9 03000000 MOV ECX,3
0054E4A8 E8 2F6EEBFF CALL yhds.004052DC
0054E4AD 8D45 EC LEA EAX,DWORD PTR SS:[EBP-14]
0054E4B0 8A55 F9 MOV DL,BYTE PTR SS:[EBP-7]
0054E4B3 E8 6C6AEBFF CALL yhds.00404F24
0054E4B8 8B45 EC MOV EAX,DWORD PTR SS:[EBP-14]
0054E4BB 8D55 FC LEA EDX,DWORD PTR SS:[EBP-4]
0054E4BE B9 05000000 MOV ECX,5
0054E4C3 E8 146EEBFF CALL yhds.004052DC
0054E4C8 8D45 E8 LEA EAX,DWORD PTR SS:[EBP-18]
0054E4CB 8A55 FA MOV DL,BYTE PTR SS:[EBP-6]
0054E4CE E8 516AEBFF CALL yhds.00404F24
0054E4D3 8B45 E8 MOV EAX,DWORD PTR SS:[EBP-18]
0054E4D6 8D55 FC LEA EDX,DWORD PTR SS:[EBP-4]
0054E4D9 B9 09000000 MOV ECX,9
0054E4DE E8 F96DEBFF CALL yhds.004052DC
; 将四个余数分别转换为字符,第四个放到X的第二、三位之间,
第二个放到X的第三、四之间,第三个放到X的第六位之后,第一个放到X
的第七位之前。
0054E4E3 8BC6 MOV EAX,ESI
0054E4E5 8B55 FC MOV EDX,DWORD PTR SS:[EBP-4]
0054E4E8 E8 AB68EBFF CALL yhds.00404D98
算法总结:
先设确认码为X
1、int1=X mod 59(十六进制)
2、X = X xor 0B25F1(十六进制)
用X1、X2等分别代表X的第一位和第二位的ASC数,以此类推
M1=X1 + X2
M1=M1 MOD 5
M1=M1 + 34(十六进制)
M1=CHR(M1)
M2=X3 + X4
M2=M2 MOD 5
M2=M2 + 33(十六进制)
M2=CHR(M2)
X=X & M1 & M2
X=X XOR DDFB7687(十六进制)
X(十进制)
N1=X1 + X2
N1=N1 MOD 5
N1=N1 + 66(十六进制)
N1=CHR(N1)
N2=X3 + X4
N2=N2 MOD 5
N2=N2 + 75(十六进制)
N2=CHR(N2)
N3=X5 + X6
N3=N3 MOD 5
N3=N3 + 7A(十六进制)
N3=CHR(N3)
N4=X7 + X8 + X9
N4=N4 MOD 5
N4=N4 + 69(十六进制)
N4=CHR(N4)
将N1、N2、N3、N4按下列要求放到X(十进制)中,第四个放到X的第二、
三位之间,第二个放到X的第三、四之间,第三个放到X的第六位之后,
第一个放到X的第七位之前。结果为int2
3、注册码=int1 & int2
【破解声明】本文只是出于学习和交流目的,请勿用于商业用途,否则
后果自负。软件版权归作者所有。 |
|