萧萧黄叶 发表于 2009-2-24 14:32:31

【文章标题】系统优化大师 2009 build 03.01破解教程及算法注册机

【文章标题】系统优化大师 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:,DWORD

PTR DS>
77D33568    8BC8            MOV ECX,EAX
77D3356A    83E1 03         AND ECX,3

慢慢往回走,一直到这里:

0054E5F0    83BD A8FEFFFF 0>CMP DWORD PTR SS:,0
0054E5F7    74 1D         JE SHORT yhds.0054E616
0054E5F9    8D95 A4FEFFFF   LEA EDX,DWORD PTR SS:

继续向下走,F8单步:

0054E5DC    8D95 A8FEFFFF   LEA EDX,DWORD PTR SS:
0054E5E2    8B45 FC         MOV EAX,DWORD PTR SS:
0054E5E5    8B80 F8020000   MOV EAX,DWORD PTR DS:
0054E5EB    E8 F01BF0FF   CALL yhds.004501E0                  

   ; 这里测试了确认码是否为空。
0054E5F0    83BD A8FEFFFF 0>CMP DWORD PTR SS:,0
0054E5F7    74 1D         JE SHORT yhds.0054E616
0054E5F9    8D95 A4FEFFFF   LEA EDX,DWORD PTR SS:
0054E5FF    8B45 FC         MOV EAX,DWORD PTR SS:
0054E602    8B80 00030000   MOV EAX,DWORD PTR DS:
0054E608    E8 D31BF0FF   CALL yhds.004501E0                  

   ; 这里测试看看注册码是否为空。
0054E60D    83BD A4FEFFFF 0>CMP DWORD PTR SS:,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:
0054E62B    8B45 FC         MOV EAX,DWORD PTR SS:
0054E62E    8B80 00030000   MOV EAX,DWORD PTR DS:
0054E634    E8 A71BF0FF   CALL yhds.004501E0
0054E639    8B85 9CFEFFFF   MOV EAX,DWORD PTR SS:
0054E63F    8D95 A0FEFFFF   LEA EDX,DWORD PTR SS:
0054E645    E8 1AB4EBFF   CALL yhds.00409A64
0054E64A    8B85 A0FEFFFF   MOV EAX,DWORD PTR SS:
0054E650    50            PUSH EAX
0054E651    8D95 90FEFFFF   LEA EDX,DWORD PTR SS:
0054E657    8B45 FC         MOV EAX,DWORD PTR SS:
0054E65A    8B80 F8020000   MOV EAX,DWORD PTR DS:
0054E660    E8 7B1BF0FF   CALL yhds.004501E0
0054E665    8B85 90FEFFFF   MOV EAX,DWORD PTR SS:
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:
0054E680    E8 FBB5EBFF   CALL yhds.00409C80
0054E685    8D85 94FEFFFF   LEA EAX,DWORD PTR SS:
0054E68B    50            PUSH EAX
0054E68C    8D95 84FEFFFF   LEA EDX,DWORD PTR SS:
0054E692    8B45 FC         MOV EAX,DWORD PTR SS:
0054E695    8B80 F8020000   MOV EAX,DWORD PTR DS:
0054E69B    E8 401BF0FF   CALL yhds.004501E0
0054E6A0    8B85 84FEFFFF   MOV EAX,DWORD PTR SS:
0054E6A6    E8 B5B6EBFF   CALL yhds.00409D60
0054E6AB    8D95 88FEFFFF   LEA EDX,DWORD PTR SS:
0054E6B1    E8 2EFCFFFF   CALL yhds.0054E2E4                  

   ; 这个CALL先对确认码进行了第一部分的运算,跟进!
0054E6B6    8B85 88FEFFFF   MOV EAX,DWORD PTR SS:
0054E6BC    E8 9FB6EBFF   CALL yhds.00409D60                  

   ; 这里将X又转换为了十六进制并放在EAX上。
0054E6C1    8D95 8CFEFFFF   LEA EDX,DWORD PTR SS:
0054E6C7    E8 F8FCFFFF   CALL yhds.0054E3C4                  

   ; 这里进行了第二部分的运算,跟进!
0054E6CC    8B95 8CFEFFFF   MOV EDX,DWORD PTR SS:
0054E6D2    58            POP EAX
0054E6D3    E8 2C69EBFF   CALL yhds.00405004                  

   ; 将Y与X相连,这就是与确认码相对应的正确的注册码了
0054E6D8    8B85 94FEFFFF   MOV EAX,DWORD PTR SS:
0054E6DE    8D95 98FEFFFF   LEA EDX,DWORD PTR SS:
0054E6E4    E8 7BB3EBFF   CALL yhds.00409A64
0054E6E9    8B95 98FEFFFF   MOV EDX,DWORD PTR SS:
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:
0054E2FE    64:8920         MOV DWORD PTR FS:,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:
0054E310    E8 9BB9EBFF   CALL yhds.00409CB0                  

   ; 将X转换为十进制形式。
0054E315    8B45 FC         MOV EAX,DWORD PTR SS:
0054E318    0FB600          MOVZX EAX,BYTE PTR DS:         

   ; 取X的第一位
0054E31B    8B55 FC         MOV EDX,DWORD PTR SS:
0054E31E    0FB652 01       MOVZX EDX,BYTE PTR DS:      

   ; 取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:,DL
0054E332    8B45 FC         MOV EAX,DWORD PTR SS:
0054E335    0FB640 02       MOVZX EAX,BYTE PTR DS:      

   ; 取X的第三位
0054E339    8B55 FC         MOV EDX,DWORD PTR SS:
0054E33C    0FB652 03       MOVZX EDX,BYTE PTR DS:      

   ; 取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:,BL
0054E352    8D45 F4         LEA EAX,DWORD PTR SS:
0054E355    8A55 F8         MOV DL,BYTE PTR SS:
0054E358    E8 C76BEBFF   CALL yhds.00404F24
0054E35D    8B45 F4         MOV EAX,DWORD PTR SS:
0054E360    8D55 FC         LEA EDX,DWORD PTR SS:
0054E363    B9 1B000000   MOV ECX,1B
0054E368    E8 6F6FEBFF   CALL yhds.004052DC
0054E36D    8D45 F0         LEA EAX,DWORD PTR SS:
0054E370    8BD3            MOV EDX,EBX
0054E372    E8 AD6BEBFF   CALL yhds.00404F24
0054E377    8B45 F0         MOV EAX,DWORD PTR SS:
0054E37A    8D55 FC         LEA EDX,DWORD PTR SS:
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:


0054E6C7 CALL跟进:

0054E3DD    64:FF30         PUSH DWORD PTR FS:
0054E3E0    64:8920         MOV DWORD PTR FS:,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:
0054E3F2    E8 B9B8EBFF   CALL yhds.00409CB0                  

   ; X的十进制形式
0054E3F7    8B45 FC         MOV EAX,DWORD PTR SS:
0054E3FA    0FB600          MOVZX EAX,BYTE PTR DS:
0054E3FD    8B55 FC         MOV EDX,DWORD PTR SS:
0054E400    0FB652 01       MOVZX EDX,BYTE PTR DS:
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:,DL         

   ; X的第一位的ASCII码加上第二位的ASCII码再除以5取余数并加上

66
0054E414    8B45 FC         MOV EAX,DWORD PTR SS:
0054E417    0FB640 02       MOVZX EAX,BYTE PTR DS:
0054E41B    8B55 FC         MOV EDX,DWORD PTR SS:
0054E41E    0FB652 03       MOVZX EDX,BYTE PTR DS:
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:,DL         

   ; X的第三位的ASCII码加上第四位的ASCII码再除以5取余数并加上

75
0054E432    8B45 FC         MOV EAX,DWORD PTR SS:
0054E435    0FB640 04       MOVZX EAX,BYTE PTR DS:
0054E439    8B55 FC         MOV EDX,DWORD PTR SS:
0054E43C    0FB652 05       MOVZX EDX,BYTE PTR DS:
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:,DL         

   ; X的第五位的ASCII码加上第六位的ASCII码再除以5取余数并加上

7A
0054E450    8B45 FC         MOV EAX,DWORD PTR SS:
0054E453    0FB640 06       MOVZX EAX,BYTE PTR DS:
0054E457    8B55 FC         MOV EDX,DWORD PTR SS:
0054E45A    0FB652 07       MOVZX EDX,BYTE PTR DS:
0054E45E    03C2            ADD EAX,EDX
0054E460    8B55 FC         MOV EDX,DWORD PTR SS:
0054E463    0FB652 08       MOVZX EDX,BYTE PTR DS:
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:,DL         

   ; X的第七位的ASCII码加上第八和九位的ASCII码再除以5取余数并

加上69
0054E477    8D45 F4         LEA EAX,DWORD PTR SS:
0054E47A    8A55 F8         MOV DL,BYTE PTR SS:
0054E47D    E8 A26AEBFF   CALL yhds.00404F24
0054E482    8B45 F4         MOV EAX,DWORD PTR SS:
0054E485    8D55 FC         LEA EDX,DWORD PTR SS:
0054E488    B9 07000000   MOV ECX,7
0054E48D    E8 4A6EEBFF   CALL yhds.004052DC
0054E492    8D45 F0         LEA EAX,DWORD PTR SS:
0054E495    8A55 FB         MOV DL,BYTE PTR SS:
0054E498    E8 876AEBFF   CALL yhds.00404F24
0054E49D    8B45 F0         MOV EAX,DWORD PTR SS:
0054E4A0    8D55 FC         LEA EDX,DWORD PTR SS:
0054E4A3    B9 03000000   MOV ECX,3
0054E4A8    E8 2F6EEBFF   CALL yhds.004052DC
0054E4AD    8D45 EC         LEA EAX,DWORD PTR SS:
0054E4B0    8A55 F9         MOV DL,BYTE PTR SS:
0054E4B3    E8 6C6AEBFF   CALL yhds.00404F24
0054E4B8    8B45 EC         MOV EAX,DWORD PTR SS:
0054E4BB    8D55 FC         LEA EDX,DWORD PTR SS:
0054E4BE    B9 05000000   MOV ECX,5
0054E4C3    E8 146EEBFF   CALL yhds.004052DC
0054E4C8    8D45 E8         LEA EAX,DWORD PTR SS:
0054E4CB    8A55 FA         MOV DL,BYTE PTR SS:
0054E4CE    E8 516AEBFF   CALL yhds.00404F24
0054E4D3    8B45 E8         MOV EAX,DWORD PTR SS:
0054E4D6    8D55 FC         LEA EDX,DWORD PTR SS:
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:
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
【破解声明】本文只是出于学习和交流目的,请勿用于商业用途,否则

后果自负。软件版权归作者所有。

Luckly 发表于 2009-2-24 14:37:23

算法很漂亮... 注册机的样子我感觉怪怪的

tianxj 发表于 2009-2-24 15:07:26

:funk: :funk: VB写这个的注册机会溢出的

冷血书生 发表于 2009-2-24 16:45:12

原帖由 tianxj 于 2009-2-24 15:07 发表 https://www.chinapyg.com/images/common/back.gif
:funk: :funk: VB写这个的注册机会溢出的
这你也知道?
难道你玩烂了?牛啊!!!!!学习。。。。。。。。。。。。。。。

Squn 发表于 2009-2-24 17:40:44

原帖由 冷血书生 于 2009-2-24 16:45 发表 https://www.chinapyg.com/images/common/back.gif

这你也知道?
难道你玩烂了?牛啊!!!!!学习。。。。。。。。。。。。。。。
T大是算法王子的阿~~ :loveliness:

孤漂江湖狼 发表于 2009-2-25 13:20:56

LZ算法越来越厉害了啊

静慕者 发表于 2009-2-25 18:37:50

5555~~~我的OD里按F9有异常~不管是脱壳的还是没脱壳的~是不是软件自动检测OD阿?~楼主推荐个好的OD

JOHN 发表于 2009-2-25 20:00:07

得回去好好看,消化消化

pepsiguest 发表于 2009-3-1 01:07:34

LZ算法高深..得细细拜读..

dgx0572 发表于 2009-3-1 22:45:12

真是厉害啊。。。
页: [1] 2
查看完整版本: 【文章标题】系统优化大师 2009 build 03.01破解教程及算法注册机