飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 5900|回复: 10

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

[复制链接]
  • TA的每日心情
    开心
    2016-12-24 08:16
  • 签到天数: 464 天

    [LV.9]以坛为家II

    发表于 2009-2-24 14:32:31 | 显示全部楼层 |阅读模式
    【文章标题】系统优化大师 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
    【破解声明】本文只是出于学习和交流目的,请勿用于商业用途,否则

    后果自负。软件版权归作者所有。
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-2-24 14:37:23 | 显示全部楼层
    算法很漂亮... 注册机的样子我感觉怪怪的
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2016-5-16 14:37
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2009-2-24 15:07:26 | 显示全部楼层
    :funk: :funk: VB写这个的注册机会溢出的
    PYG19周年生日快乐!
  • TA的每日心情
    无聊
    2020-4-10 17:02
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    发表于 2009-2-24 16:45:12 | 显示全部楼层
    原帖由 tianxj 于 2009-2-24 15:07 发表
    :funk: :funk: VB写这个的注册机会溢出的

    这你也知道?
    难道你玩烂了?牛啊!!!!!学习。。。。。。。。。。。。。。。
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-2-24 17:40:44 | 显示全部楼层
    原帖由 冷血书生 于 2009-2-24 16:45 发表

    这你也知道?
    难道你玩烂了?牛啊!!!!!学习。。。。。。。。。。。。。。。

    T大是算法王子的阿~~ :loveliness:
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-2-25 13:20:56 | 显示全部楼层
    LZ算法越来越厉害了啊
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-2-25 18:37:50 | 显示全部楼层
    5555~~~我的OD里按F9有异常~不管是脱壳的还是没脱壳的~是不是软件自动检测OD阿?~楼主推荐个好的OD
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-2-25 20:00:07 | 显示全部楼层
    得回去好好看,消化消化
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2024-2-21 11:01
  • 签到天数: 65 天

    [LV.6]常住居民II

    发表于 2009-3-1 01:07:34 | 显示全部楼层
    LZ算法高深..得细细拜读..
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-3-1 22:45:12 | 显示全部楼层
    真是厉害啊。。。
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表