飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 3664|回复: 9

[原创] Smart PC Suite算法分析+dll类型破解通用方法+源码

[复制链接]
  • TA的每日心情
    难过
    2022-2-6 09:25
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    发表于 2008-11-5 08:20:34 | 显示全部楼层 |阅读模式
    【破文标题】Smart PC Suite算法分析+dll类型破解通用方法+源码
    【破文作者】Playboysen
    【作者邮箱】playboysen@126.com
    【破解工具】PEiD,OD
    【破解平台】Windows XP
    【软件名称】Smart PC Suite
    【软件大小】10 MB
    【软件授权】共享版($59.95)
    【软件语言】英文
    【原版下载】http://smartpctools.com/products/
    【保护方式】用户名、注册码
    【软件简介】使您的电脑运行速度更快,保护您的安全和恢复丢失的数据的唯一软件套件您最需要的!修复您的计算机自己并使其加载和运行速度更快。清理注册表错误和照顾病毒和间谍软件,确保您的个人隐私,并恢复已删除的档案
    【破解声明】一点心得,愿与大家分享o(∩_∩)o 版权所有,转载注明作者!
    【破解内容】
      自从上次写完“MP3 WAV OGG WMA AC3 to CD Burner算法分析+简单逆向汇编”至今已经快两个月了,临近毕业,每天为生计奔波,找份工作好难,前途未卜,也没心情搞分析,不过偶尔练习一下,不致手生而已,一点心得,与君分享。
      今天我们来研究一个国外公司的几款商业是软件,入手点是Smart PC Suite(我专门挑选的售价较贵的o(∩_∩)o),总的感觉,这个公司的程序员很傻很天真,看完此文章你就明白我的话了~~~

       主程序查壳Armadillo 1.xx - 2.xx -> Silicon Realms Toolworks,用Arma Find Protected检测
    1. <------- 05-11-2008 06:56:49 ------->
    2. C:\Documents and Settings\Administrator\桌面\{app}\SmartPCSuite.exe
    3. !- Protected Armadillo
    4. Protection system (Basic)
    5. !- <Protection Options>
    6. Standard protection or Minimum protection
    7. !- <Backup Key Options>
    8. Fixed Backup Keys
    9. !- <Compression Options>
    10. Better/Slower Compression
    11. !- <Other Options>
    12. !- Version 4.48 14August2006
    复制代码
    脱壳So easy,不多说,脚本搞定(Armadillo.V4.0-V5.X.eXe.Standard.Protection.By.fly[CUG].oSc),不过要提醒大家,虽然是标准壳但是不要用脱壳机,因为此程序加了双层壳,脱壳机太傻,搞不定的
    1. 013FE001    60              pushad                      ; This is the OEP!  Found By: fly[CUG]
    2. 013FE002    E8 03000000     call    013FE00A            ;看到没?脚本停在这里,Aspack,第二层            
    3. 013FE007  - E9 EB045D45     jmp     469CE4F7
    4. 013FE00C    55              push    ebp
    5. 013FE00D    C3              retn
    6. 013FE00E    E8 01000000     call    013FE014
    7. 013FE013    EB 5D           jmp     short 013FE072
    8. 013FE015    BB EDFFFFFF     mov     ebx, -13
    复制代码
    ESP定律后dump,修复搞定,掠过~~~

      试运行注册有错误提示,OD加载脱壳程序搜索相关字符到这里
    1. 004AF962    E8 6552F5FF     call    00404BCC
    2. 004AF967    83F8 03         cmp     eax, 3
    3. 004AF96A    7D 47           jge     short 004AF9B3
    4. 004AF96C    68 18FC4A00     push    004AFC18                         ; name must have no less than three symbols!
    5. 004AF971    8D45 F0         lea     eax, dword ptr [ebp-10]
    6. 004AF974    50              push    eax
    7. 004AF975    A1 2CDA4E00     mov     eax, dword ptr [4EDA2C]
    8. 004AF97A    8B00            mov     eax, dword ptr [eax]
    9. 004AF97C    B9 4CFC4A00     mov     ecx, 004AFC4C                    ; message9
    10. 004AF981    BA 60FC4A00     mov     edx, 004AFC60                    ; evaluation
    11. 004AF986    8B18            mov     ebx, dword ptr [eax]
    12. 004AF988    FF13            call    dword ptr [ebx]
    13. 004AF98A    8B55 F0         mov     edx, dword ptr [ebp-10]
    14. 004AF98D    A1 04DB4E00     mov     eax, dword ptr [4EDB04]
    15. 004AF992    8B00            mov     eax, dword ptr [eax]
    16. 004AF994    8B80 04030000   mov     eax, dword ptr [eax+304]
    17. 004AF99A    E8 3D2BFBFF     call    004624DC
    18. 004AF99F    A1 04DB4E00     mov     eax, dword ptr [4EDB04]
    19. 004AF9A4    8B00            mov     eax, dword ptr [eax]
    20. 004AF9A6    8B10            mov     edx, dword ptr [eax]
    21. 004AF9A8    FF92 EC000000   call    dword ptr [edx+EC]
    22. 004AF9AE    E9 F0010000     jmp     004AFBA3
    23. 004AF9B3    8D55 EC         lea     edx, dword ptr [ebp-14]
    24. 004AF9B6    8B83 20030000   mov     eax, dword ptr [ebx+320]
    25. 004AF9BC    E8 EB2AFBFF     call    004624AC
    26. 004AF9C1    8B45 EC         mov     eax, dword ptr [ebp-14]
    27. 004AF9C4    E8 0352F5FF     call    00404BCC
    28. 004AF9C9    85C0            test    eax, eax
    29. 004AF9CB    75 47           jnz     short 004AFA14
    30. 004AF9CD    68 74FC4A00     push    004AFC74                         ; fields for license key must not be less three symbols!
    31. 004AF9D2    8D45 E8         lea     eax, dword ptr [ebp-18]
    32. 004AF9D5    50              push    eax
    33. 004AF9D6    A1 2CDA4E00     mov     eax, dword ptr [4EDA2C]
    34. 004AF9DB    8B00            mov     eax, dword ptr [eax]
    35. 004AF9DD    B9 B4FC4A00     mov     ecx, 004AFCB4                    ; message10
    36. 004AF9E2    BA 60FC4A00     mov     edx, 004AFC60                    ; evaluation
    37. 004AF9E7    8B18            mov     ebx, dword ptr [eax]
    38. 004AF9E9    FF13            call    dword ptr [ebx]
    39. 004AF9EB    8B55 E8         mov     edx, dword ptr [ebp-18]
    40. 004AF9EE    A1 04DB4E00     mov     eax, dword ptr [4EDB04]
    41. 004AF9F3    8B00            mov     eax, dword ptr [eax]
    42. 004AF9F5    8B80 04030000   mov     eax, dword ptr [eax+304]
    43. 004AF9FB    E8 DC2AFBFF     call    004624DC
    44. 004AFA00    A1 04DB4E00     mov     eax, dword ptr [4EDB04]
    45. 004AFA05    8B00            mov     eax, dword ptr [eax]
    46. 004AFA07    8B10            mov     edx, dword ptr [eax]
    47. 004AFA09    FF92 EC000000   call    dword ptr [edx+EC]
    48. 004AFA0F    E9 8F010000     jmp     004AFBA3
    49. 004AFA14    8D55 E0         lea     edx, dword ptr [ebp-20]
    50. 004AFA17    8B83 1C030000   mov     eax, dword ptr [ebx+31C]
    51. 004AFA1D    E8 8A2AFBFF     call    004624AC
    52. 004AFA22    8B45 E0         mov     eax, dword ptr [ebp-20]
    53. 004AFA25    8D55 E4         lea     edx, dword ptr [ebp-1C]
    54. 004AFA28    E8 AF9BF5FF     call    004095DC
    55. 004AFA2D    8B55 E4         mov     edx, dword ptr [ebp-1C]
    56. 004AFA30    A1 00D74E00     mov     eax, dword ptr [4ED700]
    57. 004AFA35    E8 164FF5FF     call    00404950
    58. 004AFA3A    8D55 D8         lea     edx, dword ptr [ebp-28]
    59. 004AFA3D    8B83 20030000   mov     eax, dword ptr [ebx+320]
    60. 004AFA43    E8 642AFBFF     call    004624AC
    61. 004AFA48    8B45 D8         mov     eax, dword ptr [ebp-28]
    62. 004AFA4B    8D55 DC         lea     edx, dword ptr [ebp-24]
    63. 004AFA4E    E8 899BF5FF     call    004095DC
    64. 004AFA53    8B55 DC         mov     edx, dword ptr [ebp-24]
    65. 004AFA56    A1 4CD54E00     mov     eax, dword ptr [4ED54C]
    66. 004AFA5B    E8 F04EF5FF     call    00404950
    67. 004AFA60    A1 00D74E00     mov     eax, dword ptr [4ED700]
    68. 004AFA65    8B00            mov     eax, dword ptr [eax]
    69. 004AFA67    50              push    eax
    70. 004AFA68    B9 C8FC4A00     mov     ecx, 004AFCC8                    ; licuser
    71. 004AFA6D    BA D8FC4A00     mov     edx, 004AFCD8                    ;

    72. software\microsoft\windows\currentversion\settings\smart pc suite
    73. 004AFA72    B8 01000080     mov     eax, 80000001
    74. 004AFA77    E8 BC46FFFF     call    004A4138
    75. 004AFA7C    A1 4CD54E00     mov     eax, dword ptr [4ED54C]
    76. 004AFA81    8B00            mov     eax, dword ptr [eax]
    77. 004AFA83    50              push    eax
    78. 004AFA84    BA D8FC4A00     mov     edx, 004AFCD8                    ;

    79. software\microsoft\windows\currentversion\settings\smart pc suite
    80. 004AFA89    B9 24FD4A00     mov     ecx, 004AFD24                    ; lickey
    81. 004AFA8E    B8 01000080     mov     eax, 80000001
    82. 004AFA93    E8 A046FFFF     call    004A4138
    83. 004AFA98    E8 FB6BFFFF     call    004A6698                         ; 绝对是关键call啊!!!!!
    84. 004AFA9D    8B15 CCD94E00   mov     edx, dword ptr [4ED9CC]        
    85. 004AFAA3    8802            mov     byte ptr [edx], al
    86. 004AFAA5    A1 CCD94E00     mov     eax, dword ptr [4ED9CC]
    87. 004AFAAA    8038 00         cmp     byte ptr [eax], 0
    88. 004AFAAD    74 75           je      short 004AFB24                   ; 关键跳!爆破点
    89. 004AFAAF    E8 54C3F5FF     call    0040BE08
    90. 004AFAB4    83C4 F8         add     esp, -8
    91. 004AFAB7    DD1C24          fstp    qword ptr [esp]
    92. 004AFABA    9B              wait
    93. 004AFABB    BA D8FC4A00     mov     edx, 004AFCD8                    ;

    94. software\microsoft\windows\currentversion\settings\smart pc suite
    95. 004AFAC0    B9 34FD4A00     mov     ecx, 004AFD34                    ; timefactor1
    96. 004AFAC5    B8 01000080     mov     eax, 80000001
    97. 004AFACA    E8 4D48FFFF     call    004A431C
    98. 004AFACF    E8 34C3F5FF     call    0040BE08
    99. 004AFAD4    83C4 F8         add     esp, -8
    100. 004AFAD7    DD1C24          fstp    qword ptr [esp]
    101. 004AFADA    9B              wait
    102. 004AFADB    BA D8FC4A00     mov     edx, 004AFCD8                    ;

    103. software\microsoft\windows\currentversion\settings\smart pc suite
    104. 004AFAE0    B9 48FD4A00     mov     ecx, 004AFD48                    ; timefactor2
    105. 004AFAE5    B8 01000080     mov     eax, 80000001
    106. 004AFAEA    E8 2D48FFFF     call    004A431C
    107. 004AFAEF    68 5CFD4A00     push    004AFD5C                         ; thank you for registering smart pc suite!
    108. 004AFAF4    8D45 D4         lea     eax, dword ptr [ebp-2C]
    109. 004AFAF7    50              push    eax
    110. 004AFAF8    A1 2CDA4E00     mov     eax, dword ptr [4EDA2C]
    111. 004AFAFD    8B00            mov     eax, dword ptr [eax]
    112. 004AFAFF    B9 90FD4A00     mov     ecx, 004AFD90                    ; message11
    113. 004AFB04    BA 60FC4A00     mov     edx, 004AFC60                    ; evaluation
    114. 004AFB09    8B30            mov     esi, dword ptr [eax]
    115. 004AFB0B    FF16            call    dword ptr [esi]
    116. 004AFB0D    8B55 D4         mov     edx, dword ptr [ebp-2C]
    117. 004AFB10    A1 04DB4E00     mov     eax, dword ptr [4EDB04]
    118. 004AFB15    8B00            mov     eax, dword ptr [eax]
    119. 004AFB17    8B80 04030000   mov     eax, dword ptr [eax+304]
    120. 004AFB1D    E8 BA29FBFF     call    004624DC
    121. 004AFB22    EB 69           jmp     short 004AFB8D
    122. 004AFB24    68 A4FD4A00     push    004AFDA4                         ; the registration info is incorrect!
    123. 004AFB29    8D45 CC         lea     eax, dword ptr [ebp-34]
    124. 004AFB2C    50              push    eax
    复制代码
    毫无疑问,关键跳和关键call精确定位,进入004AFA98的call分析算法
    1. 004A66A0    57              push    edi
    2. 004A66A1    33C0            xor     eax, eax
    3. 004A66A3    8945 F0         mov     dword ptr [ebp-10], eax
    4. 004A66A6    8945 F4         mov     dword ptr [ebp-C], eax
    5. 004A66A9    33C0            xor     eax, eax
    6. 004A66AB    55              push    ebp
    7. 004A66AC    68 14684A00     push    004A6814
    8. 004A66B1    64:FF30         push    dword ptr fs:[eax]
    9. 004A66B4    64:8920         mov     dword ptr fs:[eax], esp
    10. 004A66B7    33DB            xor     ebx, ebx
    11. 004A66B9    A1 E0F24E00     mov     eax, dword ptr [4EF2E0]
    12. 004A66BE    E8 09E5F5FF     call    00404BCC                         ; 用户名长度和4比较
    13. 004A66C3    83F8 04         cmp     eax, 4
    14. 004A66C6    0F8C 2D010000   jl      004A67F9
    15. 004A66CC    A1 E4F24E00     mov     eax, dword ptr [4EF2E4]
    16. 004A66D1    E8 F6E4F5FF     call    00404BCC                         ; 假码长度和4比较
    17. 004A66D6    83F8 04         cmp     eax, 4
    18. 004A66D9    0F8C 1A010000   jl      004A67F9
    19. 004A66DF    8D45 F4         lea     eax, dword ptr [ebp-C]
    20. 004A66E2    B9 2C684A00     mov     ecx, 004A682C                    ; ASCII "SmartPCSuite.dll"
    21. 004A66E7    8B15 54F24E00   mov     edx, dword ptr [4EF254]          ; 软件根目录地址放入
    22. 004A66ED    E8 26E5F5FF     call    00404C18
    23. 004A66F2    8B45 F4         mov     eax, dword ptr [ebp-C]           ; 得到SmartPCSrute.dll的绝对路径
    24. 004A66F5    E8 4E38F6FF     call    00409F48
    25. 004A66FA    84C0            test    al, al
    26. 004A66FC    0F84 F7000000   je      004A67F9
    27. 004A6702    B9 48684A00     mov     ecx, 004A6848                    ; ASCII "TimeFactor2"
    28. 004A6707    BA 5C684A00     mov     edx, 004A685C                    ; ASCII

    29. "SOFTWARE\Microsoft\Windows\CurrentVersion\Settings\Smart PC Suite"
    30. 004A670C    B8 01000080     mov     eax, 80000001
    31. 004A6711    E8 B2DDFFFF     call    004A44C8                         ; 上面这里在检测软件是否已注册,爆破点
    32. 004A6716    84C0            test    al, al
    33. 004A6718    74 3E           je      short 004A6758
    34. 004A671A    BA 5C684A00     mov     edx, 004A685C                    ; ASCII

    35. "SOFTWARE\Microsoft\Windows\CurrentVersion\Settings\Smart PC Suite"
    36. 004A671F    B9 48684A00     mov     ecx, 004A6848                    ; ASCII "TimeFactor2"
    37. 004A6724    B8 01000080     mov     eax, 80000001
    38. 004A6729    E8 42D9FFFF     call    004A4070
    39. 004A672E    DD5D F8         fstp    qword ptr [ebp-8]
    40. 004A6731    9B              wait
    41. 004A6732    FF75 FC         push    dword ptr [ebp-4]
    42. 004A6735    FF75 F8         push    dword ptr [ebp-8]
    43. 004A6738    FF35 F0F24E00   push    dword ptr [4EF2F0]
    44. 004A673E    FF35 ECF24E00   push    dword ptr [4EF2EC]
    45. 004A6744    E8 F3CBFEFF     call    0049333C
    46. 004A6749    85C0            test    eax, eax
    47. 004A674B    0F8C A8000000   jl      004A67F9
    48. 004A6751    B3 01           mov     bl, 1
    49. 004A6753    E9 A1000000     jmp     004A67F9
    50. 004A6758    8D45 F0         lea     eax, dword ptr [ebp-10]
    51. 004A675B    B9 2C684A00     mov     ecx, 004A682C                    ; ASCII "SmartPCSuite.dll"
    52. 004A6760    8B15 54F24E00   mov     edx, dword ptr [4EF254]
    53. 004A6766    E8 ADE4F5FF     call    00404C18
    54. 004A676B    8B45 F0         mov     eax, dword ptr [ebp-10]          ; 得到SmartPCSrute.dll的绝对路径
    55. 004A676E    E8 59E6F5FF     call    00404DCC
    56. 004A6773    50              push    eax
    57. 004A6774    E8 970CF6FF     call    <jmp.&kernel32.LoadLibraryA>     ; 加载SmartPCSrute.dll
    58. 004A6779    8BF8            mov     edi, eax                        
    59. 004A677B    68 F4010000     push    1F4
    60. 004A6780    E8 178BF6FF     call    <jmp.&kernel32.Sleep>
    61. 004A6785    85FF            test    edi, edi
    62. 004A6787    74 70           je      short 004A67F9
    63. 004A6789    68 A0684A00     push    004A68A0                         ; ASCII "InstallKey"
    64. 004A678E    57              push    edi
    65. 004A678F    E8 C40BF6FF     call    <jmp.&kernel32.GetProcAddress>   ; 得到函数地址
    66. 004A6794    89C6            mov     esi, eax
    67. 004A6796    68 F4010000     push    1F4
    68. 004A679B    E8 FC8AF6FF     call    <jmp.&kernel32.Sleep>
    69. 004A67A0    85F6            test    esi, esi
    70. 004A67A2    74 1A           je      short 004A67BE
    71. 004A67A4    A1 E4F24E00     mov     eax, dword ptr [4EF2E4]          ; 假码的存放地址
    72. 004A67A9    E8 1EE6F5FF     call    00404DCC
    73. 004A67AE    50              push    eax
    74. 004A67AF    A1 E0F24E00     mov     eax, dword ptr [4EF2E0]          ; 用户名的存放地址
    75. 004A67B4    E8 13E6F5FF     call    00404DCC
    76. 004A67B9    50              push    eax
    77. 004A67BA    FFD6            call    esi                              ; 调用Installkey函数
    78. 004A67BC    8BD8            mov     ebx, eax
    79. 004A67BE    68 AC684A00     push    004A68AC                         ; ASCII "CheckCode"
    80. 004A67C3    57              push    edi
    81. 004A67C4    E8 8F0BF6FF     call    <jmp.&kernel32.GetProcAddress>   ; 得到函数地址
    82. 004A67C9    89C6            mov     esi, eax
    83. 004A67CB    68 F4010000     push    1F4
    84. 004A67D0    E8 C78AF6FF     call    <jmp.&kernel32.Sleep>
    85. 004A67D5    85F6            test    esi, esi
    86. 004A67D7    74 1A           je      short 004A67F3
    87. 004A67D9    A1 E4F24E00     mov     eax, dword ptr [4EF2E4]          ; 假码的存放地址
    88. 004A67DE    E8 E9E5F5FF     call    00404DCC
    89. 004A67E3    50              push    eax
    90. 004A67E4    A1 E0F24E00     mov     eax, dword ptr [4EF2E0]          ; 用户名的存放地址
    91. 004A67E9    E8 DEE5F5FF     call    00404DCC
    92. 004A67EE    50              push    eax
    93. 004A67EF    FFD6            call    esi                              ; 调用CheckCode函数
    94. 004A67F1    8BD8            mov     ebx, eax                         ; 如果错误则eax返回0
    95. 004A67F3    57              push    edi
    96. 004A67F4    E8 7F0AF6FF     call    <jmp.&kernel32.FreeLibrary>      ; 释放SmartPCSuite.dll
    97. 004A67F9    33C0            xor     eax, eax
    98. 004A67FB    5A              pop     edx
    99. 004A67FC    59              pop     ecx
    100. 004A67FD    59              pop     ecx
    101. 004A67FE    64:8910         mov     dword ptr fs:[eax], edx
    102. 004A6801    68 1B684A00     push    004A681B
    103. 004A6806    8D45 F0         lea     eax, dword ptr [ebp-10]
    104. 004A6809    BA 02000000     mov     edx, 2
    105. 004A680E    E8 0DE1F5FF     call    00404920
    106. 004A6813    C3              retn
    107. 004A6814  ^ E9 27DAF5FF     jmp     00404240
    108. 004A6819  ^ EB EB           jmp     short 004A6806
    109. 004A681B    8BC3            mov     eax, ebx                         ;经典爆破点
    110. 004A681D    5F              pop     edi
    111. 004A681E    5E              pop     esi
    112. 004A681F    5B              pop     ebx
    113. 004A6820    8BE5            mov     esp, ebp
    114. 004A6822    5D              pop     ebp
    115. 004A6823    C3              retn
    复制代码
    OK,分析完毕,总结一下
    1.程序启动检测注册表相关键值或者调用SmartPCSuite.dll来判断注册与否
    2.调用软件根目录的SmartPCSuite.dll,使用其中的InstallKey和CheckCode函数进行注册验证
    3.如果注册正确InstallKey和CheckCode返回1

    我们见招拆招,几种方法:
    1.爆破.相关爆破点已经明确标出,此法是小鸟所为,对其提高分析能力不利,不提倡,不多说;
    2.修改004AFAAD关键跳,生成注册信息后,将相关键值提取出来,需要时在别机导入即可;
    3.程序需要SmartPCSuite.dll,我们伪造一个SmartPCSuite.dll,此方法用处多多,是破解dll文件注册验证类型的经典狠招,推荐!
      用Delphi 7构建一个dll文件,源码如下
    1. library Project2;
    2. uses
    3.   SysUtils,
    4.   Classes;

    5. {$R *.res}

    6. function InstallKey(str1,str2:PChar):Boolean;Stdcall;
    7. begin
    8.   result:=True;
    9. end;

    10. function CheckCode(str1,str2:PChar):Boolean;Stdcall;
    11. begin
    12.   result:=True;
    13. end;

    14. exports
    15.    InstallKey,CheckCode;

    16. begin
    17. end.
    复制代码
    然后把生成的dll改名为SmartPCSuite.dll替换软件根目录的SmartPCSuite.dll,发现程序正常运行,已注册!!

    最后再说一下这个程序的几点不足,但愿其它程序员能引以为戒:
    1.Armadillo当压缩壳用,几乎没有发挥强壳的任何作用,还使得主程序体积暴增,不智!
    2.出现注册错误提示,而且相关字符并未加密,给别人以可乘之机,大大缩减了程序破解时间,大愚!
    3.注册名和注册码没什么用,修改关键跳后生成的两个键值的注册信息才是关键,而注册名可以随便改,汗~~
    4.没有重启验证,没有在关键函数处验证注册信息
    5.没有自校验主程序和关键dll
    6.过于看重软件界面,功能一般,启动缓慢,有些华而不实~~
    7.……
    再说下去,程序员就哭了,算了,只是给软件公司提点改进建议而已,没别的意思~~

    伪造的SmartPCSuite.rar

    39 KB, 下载次数: 11, 下载积分: 飘云币 -2 枚

    评分

    参与人数 1威望 +40 飘云币 +80 收起 理由
    tianxj + 40 + 80 您发布的主题属于精品!

    查看全部评分

    PYG19周年生日快乐!
  • TA的每日心情
    难过
    2022-2-6 09:25
  • 签到天数: 6 天

    [LV.2]偶尔看看I

     楼主| 发表于 2008-11-5 08:41:15 | 显示全部楼层
    经测试我们伪造的dll文件几乎能搞定此公司所有的商业软件,拿MagicSpeed来说,软件根目录下有一个MagicSpeed.dll,我们把伪造的dll改名为MagicSpeed.dll替代根目录中的文件,打开软件后提示注册,随便输入用户名和注册码都可以正确注册,而且以后再打开则不需重新注册即为正版,其它软件大同小异

    同理FixMyRegistry则替代FixMyRegistry.dll等等,脱壳什么的都不需要

    原理很简单,此公司所有软件的验证dll中的验证函数都是InstallKey和CheckCode,而且注册码正确都是返回True,所有我们就顺水推舟,直接搞定他们了,哎~~

    [ 本帖最后由 playboysen 于 2008-11-5 20:24 编辑 ]
    PYG19周年生日快乐!
  • TA的每日心情
    难过
    2022-2-6 09:25
  • 签到天数: 6 天

    [LV.2]偶尔看看I

     楼主| 发表于 2008-11-5 20:26:37 | 显示全部楼层
    本篇文章和前段时间写的两篇文章呼应,都是针对dll验证类型的分析破解,总结如下:

    类型一、调用dll文件压入相关参数然后返回注册码的破解分析
    https://www.chinapyg.com/viewthr ... light=%2Bplayboysen

    类型二、纯粹dll验证,根据注册信息的正确与否返回相关的值,破解方法如本篇文章

    类型三、dll插件型的破解,如千千静听插件等等
    https://www.chinapyg.com/viewthr ... light=%2Bplayboysen

    当然如果软件校验主程序和dll文件的话,免不了要先解除校验的。
    至此dll验证类型的破解分析告一段落,再碰到相关的软件再进行补充,希望能给大家提供一点思路,以开拓视野
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2017-2-7 19:52
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    发表于 2008-11-5 22:24:41 | 显示全部楼层
    精彩 精辟 佩服之极 学习了谢谢楼主分享
    PYG19周年生日快乐!
  • TA的每日心情
    慵懒
    2016-6-9 19:50
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2008-11-6 17:03:47 | 显示全部楼层
    呵呵。。在unpackchina也看到你的这篇文章了。。顶一下。。。
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2018-12-18 12:34
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    发表于 2008-11-6 21:31:46 | 显示全部楼层
    很精彩,很强大。
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    前天 14:25
  • 签到天数: 462 天

    [LV.9]以坛为家II

    发表于 2008-11-6 22:03:02 | 显示全部楼层
    好东西
    学习了
    PYG19周年生日快乐!
  • TA的每日心情
    慵懒
    2023-10-21 01:12
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    发表于 2008-11-7 11:52:40 | 显示全部楼层
    不错的东西 好好学习 天天向上
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2008-11-7 14:09:38 | 显示全部楼层
    虽然看不太明白,但还是帮顶。我下载个来看看,对照可能就清楚了。
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-1-24 18:35:59 | 显示全部楼层
    这也太强大了。。。看得好激动。。。
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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