飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 3969|回复: 7

[原创] Easy File & Folder Protector 4.82算法分析

[复制链接]
  • TA的每日心情
    开心
    2024-5-1 14:44
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2008-4-17 21:49:25 | 显示全部楼层 |阅读模式
    【破文作者】tianxj
    【作者邮箱】tianxj_2007@126.com
    【作者主页】www.chinapyg.com
    破解工具】PEiD,OD
    【破解平台】Windows XP
    【软件名称】Easy File & Folder Protector 4.82(2008-4-1版)
    【软件大小】746KB
    【软件语言】英文
    【原版下载】自己找一下
    【保护方式】注册码
    【软件简介】
    一个非常Easy的文件和文件夹保护程序.只要你给Easy File & Folder Protector设置一个密码, 你就可以保护你的任何文件和文件夹,没有这个密码任何人都无法访问经过Easy File & Folder Protector 保护的文件和文件夹.对文件夹进行保护时文件夹进行了隐藏,这样就显得更
    安全.此外,它还可防止别人通过网络访问你的文件.如果你要保护自己的隐私,你就要试试Easy File & Folder Protector了.使用方法: 启动保护: "添加文件或文件夹"--->"启动"按钮--->"应用"按钮 解除保护: "点选文件列表中的文件或文件夹"--->"解除"按钮
    【破解声明】我是一只小菜鸟,偶得一点心得,愿与大家分享:)
    初学Crack,只是感兴趣,没有其它目的。失误之处敬请诸位大侠赐教!
    --------------------------------------------------------------
    【破解内容】
    --------------------------------------------------------------
    **************************************************************
    一、运行程序,进行注册,输入错误的注册信息进行检测,有提示信息
    "registration key is not valid"
    **************************************************************
    二、用PEiD对这个软件查壳,为 Borland Delphi 6.0 - 7.0
    **************************************************************
    三、用PE Explorer和DeDe查找按钮事件
    004A2284  /.  55            PUSH EBP
    **************************************************************
    四、运行OD,打开EFPP,输入错误的注册信息
    1. 004A2284  /.  55            PUSH EBP
    2. 004A2285  |.  8BEC          MOV EBP,ESP
    3. 004A2287  |.  6A 00         PUSH 0
    4. 004A2289  |.  6A 00         PUSH 0
    5. 004A228B  |.  53            PUSH EBX
    6. 004A228C  |.  8BD8          MOV EBX,EAX
    7. 004A228E  |.  33C0          XOR EAX,EAX
    8. 004A2290  |.  55            PUSH EBP
    9. 004A2291  |.  68 07234A00   PUSH EFPP.004A2307
    10. 004A2296  |.  64:FF30       PUSH DWORD PTR FS:[EAX]
    11. 004A2299  |.  64:8920       MOV DWORD PTR FS:[EAX],ESP
    12. 004A229C  |.  8D55 F8       LEA EDX,DWORD PTR SS:[EBP-8]
    13. 004A229F  |.  8B83 20030000 MOV EAX,DWORD PTR DS:[EBX+320]
    14. 004A22A5  |.  E8 6E14FCFF   CALL EFPP.00463718
    15. 004A22AA  |.  8B45 F8       MOV EAX,DWORD PTR SS:[EBP-8]             ;  //EAX=[EBP-8]=试练码
    16. 004A22AD  |.  8D55 FC       LEA EDX,DWORD PTR SS:[EBP-4]
    17. 004A22B0  |.  E8 4337FEFF   CALL EFPP.004859F8
    18. 004A22B5  |.  837D FC 00    CMP DWORD PTR SS:[EBP-4],0
    19. 004A22B9  |.  75 0D         JNZ SHORT EFPP.004A22C8                  ;  //试练码不为空则跳
    20. 004A22BB  |.  8D45 FC       LEA EAX,DWORD PTR SS:[EBP-4]
    21. 004A22BE  |.  BA 1C234A00   MOV EDX,EFPP.004A231C                    ;  err
    22. 004A22C3  |.  E8 B024F6FF   CALL EFPP.00404778
    23. 004A22C8  |>  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]             ;  //EAX=[EBP-4]=试练码
    24. 004A22CB  |.  E8 B0FEFFFF   CALL EFPP.004A2180                       ;  //关键CALL
    25. 004A22D0  |.  84C0          TEST AL,AL
    26. 004A22D2  |.  74 07         JE SHORT EFPP.004A22DB                   ;  //关键跳转
    27. 004A22D4  |.  8BC3          MOV EAX,EBX
    28. 004A22D6  |.  E8 F1E3FDFF   CALL EFPP.004806CC
    29. 004A22DB  |>  8B83 20030000 MOV EAX,DWORD PTR DS:[EBX+320]
    30. 004A22E1  |.  8B10          MOV EDX,DWORD PTR DS:[EAX]
    31. 004A22E3  |.  FF92 C4000000 CALL DWORD PTR DS:[EDX+C4]
    32. 004A22E9  |.  33C0          XOR EAX,EAX
    33. 004A22EB  |.  5A            POP EDX
    34. 004A22EC  |.  59            POP ECX
    35. 004A22ED  |.  59            POP ECX
    36. 004A22EE  |.  64:8910       MOV DWORD PTR FS:[EAX],EDX
    37. 004A22F1  |.  68 0E234A00   PUSH EFPP.004A230E
    38. 004A22F6  |>  8D45 F8       LEA EAX,DWORD PTR SS:[EBP-8]
    39. 004A22F9  |.  E8 E223F6FF   CALL EFPP.004046E0
    40. 004A22FE  |.  8D45 FC       LEA EAX,DWORD PTR SS:[EBP-4]
    41. 004A2301  |.  E8 DA23F6FF   CALL EFPP.004046E0
    42. 004A2306  \.  C3            RETN
    43. 004A2307   .^ E9 B01DF6FF   JMP EFPP.004040BC
    44. 004A230C   .^ EB E8         JMP SHORT EFPP.004A22F6
    45. 004A230E   .  5B            POP EBX
    46. 004A230F   .  59            POP ECX
    47. 004A2310   .  59            POP ECX
    48. 004A2311   .  5D            POP EBP
    49. 004A2312   .  C3            RETN
    50. ==============================================================
    51. 004A2180  /$  55            PUSH EBP
    52. 004A2181  |.  8BEC          MOV EBP,ESP
    53. 004A2183  |.  83C4 F8       ADD ESP,-8
    54. 004A2186  |.  53            PUSH EBX
    55. 004A2187  |.  33D2          XOR EDX,EDX
    56. 004A2189  |.  8955 F8       MOV DWORD PTR SS:[EBP-8],EDX
    57. 004A218C  |.  8945 FC       MOV DWORD PTR SS:[EBP-4],EAX
    58. 004A218F  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
    59. 004A2192  |.  E8 F929F6FF   CALL EFPP.00404B90
    60. 004A2197  |.  33C0          XOR EAX,EAX
    61. 004A2199  |.  55            PUSH EBP
    62. 004A219A  |.  68 28224A00   PUSH EFPP.004A2228
    63. 004A219F  |.  64:FF30       PUSH DWORD PTR FS:[EAX]
    64. 004A21A2  |.  64:8920       MOV DWORD PTR FS:[EAX],ESP
    65. 004A21A5  |.  33DB          XOR EBX,EBX
    66. 004A21A7  |.  8D55 F8       LEA EDX,DWORD PTR SS:[EBP-8]
    67. 004A21AA  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
    68. 004A21AD  |.  E8 866BFEFF   CALL EFPP.00488D38
    69. 004A21B2  |.  8B55 F8       MOV EDX,DWORD PTR SS:[EBP-8]
    70. 004A21B5  |.  8D45 FC       LEA EAX,DWORD PTR SS:[EBP-4]
    71. 004A21B8  |.  E8 BB25F6FF   CALL EFPP.00404778
    72. 004A21BD  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]             ;  //EAX=[EBP-4]=试练码
    73. 004A21C0  |.  E8 BF5FFFFF   CALL EFPP.00498184                       ;  //关键CALL
    74. 004A21C5  |.  84C0          TEST AL,AL
    75. 004A21C7  |.  74 21         JE SHORT EFPP.004A21EA                   ;  //关键跳转
    76. 004A21C9  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
    77. 004A21CC  |.  E8 FF84FFFF   CALL EFPP.0049A6D0
    78. 004A21D1  |.  6A 00         PUSH 0                                   ; /Arg1 = 00000000
    79. 004A21D3  |.  66:8B0D 38224>MOV CX,WORD PTR DS:[4A2238]              ; |
    80. 004A21DA  |.  B2 02         MOV DL,2                                 ; |
    81. 004A21DC  |.  B8 44224A00   MOV EAX,EFPP.004A2244                    ; |registration key is ok
    82. 004A21E1  |.  E8 9E05F9FF   CALL EFPP.00432784                       ; \EFPP.00432784
    83. 004A21E6  |.  B3 01         MOV BL,1
    84. 004A21E8  |.  EB 23         JMP SHORT EFPP.004A220D
    85. 004A21EA  |>  6A 00         PUSH 0                                   ; /Arg1 = 00000000
    86. 004A21EC  |.  66:8B0D 38224>MOV CX,WORD PTR DS:[4A2238]              ; |
    87. 004A21F3  |.  B2 01         MOV DL,1                                 ; |
    88. 004A21F5  |.  B8 64224A00   MOV EAX,EFPP.004A2264                    ; |registration key is not valid
    89. 004A21FA  |.  E8 8505F9FF   CALL EFPP.00432784                       ; \EFPP.00432784
    90. 004A21FF  |.  A1 B0534A00   MOV EAX,DWORD PTR DS:[4A53B0]
    91. 004A2204  |.  8B00          MOV EAX,DWORD PTR DS:[EAX]
    92. 004A2206  |.  C680 C5040000>MOV BYTE PTR DS:[EAX+4C5],1
    93. 004A220D  |>  33C0          XOR EAX,EAX
    94. 004A220F  |.  5A            POP EDX
    95. 004A2210  |.  59            POP ECX
    96. 004A2211  |.  59            POP ECX
    97. 004A2212  |.  64:8910       MOV DWORD PTR FS:[EAX],EDX
    98. 004A2215  |.  68 2F224A00   PUSH EFPP.004A222F
    99. 004A221A  |>  8D45 F8       LEA EAX,DWORD PTR SS:[EBP-8]
    100. 004A221D  |.  BA 02000000   MOV EDX,2
    101. 004A2222  |.  E8 DD24F6FF   CALL EFPP.00404704
    102. 004A2227  \.  C3            RETN
    103. 004A2228   .^ E9 8F1EF6FF   JMP EFPP.004040BC
    104. 004A222D   .^ EB EB         JMP SHORT EFPP.004A221A
    105. 004A222F   .  8BC3          MOV EAX,EBX
    106. 004A2231   .  5B            POP EBX
    107. 004A2232   .  59            POP ECX
    108. 004A2233   .  59            POP ECX
    109. 004A2234   .  5D            POP EBP
    110. 004A2235   .  C3            RETN
    111. ==============================================================
    112. 00498184  /$  55            PUSH EBP
    113. 00498185  |.  8BEC          MOV EBP,ESP
    114. 00498187  |.  33C9          XOR ECX,ECX
    115. 00498189  |.  51            PUSH ECX
    116. 0049818A  |.  51            PUSH ECX
    117. 0049818B  |.  51            PUSH ECX
    118. 0049818C  |.  51            PUSH ECX
    119. 0049818D  |.  51            PUSH ECX
    120. 0049818E  |.  51            PUSH ECX
    121. 0049818F  |.  51            PUSH ECX
    122. 00498190  |.  53            PUSH EBX
    123. 00498191  |.  56            PUSH ESI
    124. 00498192  |.  57            PUSH EDI
    125. 00498193  |.  8945 FC       MOV DWORD PTR SS:[EBP-4],EAX
    126. 00498196  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
    127. 00498199  |.  E8 F2C9F6FF   CALL EFPP.00404B90
    128. 0049819E  |.  33C0          XOR EAX,EAX
    129. 004981A0  |.  55            PUSH EBP
    130. 004981A1  |.  68 C8824900   PUSH EFPP.004982C8
    131. 004981A6  |.  64:FF30       PUSH DWORD PTR FS:[EAX]
    132. 004981A9  |.  64:8920       MOV DWORD PTR FS:[EAX],ESP
    133. 004981AC  |.  33DB          XOR EBX,EBX
    134. 004981AE  |.  8D55 EC       LEA EDX,DWORD PTR SS:[EBP-14]
    135. 004981B1  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
    136. 004981B4  |.  E8 7F0BFFFF   CALL EFPP.00488D38
    137. 004981B9  |.  8B55 EC       MOV EDX,DWORD PTR SS:[EBP-14]
    138. 004981BC  |.  8D45 FC       LEA EAX,DWORD PTR SS:[EBP-4]
    139. 004981BF  |.  E8 B4C5F6FF   CALL EFPP.00404778
    140. 004981C4  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
    141. 004981C7  |.  E8 D4C7F6FF   CALL EFPP.004049A0
    142. 004981CC  |.  83F8 10       CMP EAX,10
    143. 004981CF  |.  0F85 D0000000 JNZ EFPP.004982A5                        ;  //注册码长度必须为16位
    144. 004981D5  |.  E8 86F6FFFF   CALL EFPP.00497860
    145. 004981DA  |.  8D45 E8       LEA EAX,DWORD PTR SS:[EBP-18]
    146. 004981DD  |.  50            PUSH EAX
    147. 004981DE  |.  B9 08000000   MOV ECX,8
    148. 004981E3  |.  BA 01000000   MOV EDX,1
    149. 004981E8  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]             ;  //EAX=[EBP-4]=试练码
    150. 004981EB  |.  E8 10CAF6FF   CALL EFPP.00404C00
    151. 004981F0  |.  8B4D E8       MOV ECX,DWORD PTR SS:[EBP-18]            ;  //ECX=[EBP-18]=试练码前8位
    152. 004981F3  |.  8D45 F4       LEA EAX,DWORD PTR SS:[EBP-C]
    153. 004981F6  |.  BA E0824900   MOV EDX,EFPP.004982E0                    ;  $
    154. 004981FB  |.  E8 ECC7F6FF   CALL EFPP.004049EC
    155. 00498200  |.  8D45 E4       LEA EAX,DWORD PTR SS:[EBP-1C]
    156. 00498203  |.  50            PUSH EAX
    157. 00498204  |.  B9 08000000   MOV ECX,8
    158. 00498209  |.  BA 09000000   MOV EDX,9
    159. 0049820E  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]             ;  //EAX=[EBP-4]=试练码
    160. 00498211  |.  E8 EAC9F6FF   CALL EFPP.00404C00
    161. 00498216  |.  8B4D E4       MOV ECX,DWORD PTR SS:[EBP-1C]            ;  //ECX=[EBP-1C]=试练码后8位
    162. 00498219  |.  8D45 F0       LEA EAX,DWORD PTR SS:[EBP-10]
    163. 0049821C  |.  BA E0824900   MOV EDX,EFPP.004982E0                    ;  $
    164. 00498221  |.  E8 C6C7F6FF   CALL EFPP.004049EC
    165. 00498226  |.  8D55 F8       LEA EDX,DWORD PTR SS:[EBP-8]
    166. 00498229  |.  8B45 F4       MOV EAX,DWORD PTR SS:[EBP-C]             ;  //EAX=[EBP-C]=试练码前8位
    167. 0049822C  |.  E8 BBB0F6FF   CALL EFPP.004032EC
    168. 00498231  |.  837D F8 00    CMP DWORD PTR SS:[EBP-8],0
    169. 00498235  |.  75 6E         JNZ SHORT EFPP.004982A5                  ;  //前8位必须在0~9、A~F、a~f
    170. 00498237  |.  8D55 F8       LEA EDX,DWORD PTR SS:[EBP-8]
    171. 0049823A  |.  8B45 F0       MOV EAX,DWORD PTR SS:[EBP-10]            ;  //EAX=[EBP-10]=试练码后8位
    172. 0049823D  |.  E8 AAB0F6FF   CALL EFPP.004032EC
    173. 00498242  |.  837D F8 00    CMP DWORD PTR SS:[EBP-8],0
    174. 00498246  |.  75 5D         JNZ SHORT EFPP.004982A5                  ;  //后8位必须在在0~9、A~F、a~f
    175. 00498248  |.  BE 01000000   MOV ESI,1                                ;  //ESI=1
    176. 0049824D  |>  33C0          /XOR EAX,EAX                             ;  //EAX=0
    177. 0049824F  |.  8945 F8       |MOV DWORD PTR SS:[EBP-8],EAX
    178. 00498252  |.  8B45 FC       |MOV EAX,DWORD PTR SS:[EBP-4]            ;  //EAX=[EBP-4]=试练码
    179. 00498255  |.  E8 46C7F6FF   |CALL EFPP.004049A0                      ;  //取试练码长度
    180. 0049825A  |.  85C0          |TEST EAX,EAX
    181. 0049825C  |.  7E 1E         |JLE SHORT EFPP.0049827C                 ;  //若小于等于则跳
    182. 0049825E  |.  BA 01000000   |MOV EDX,1                               ;  //EDX=1
    183. 00498263  |>  B9 EC824900   |/MOV ECX,EFPP.004982EC
    184. 00498268  |.  8A4C31 FF     ||MOV CL,BYTE PTR DS:[ECX+ESI-1]         ;  //依次将0~F送入CL
    185. 0049826C  |.  8B7D FC       ||MOV EDI,DWORD PTR SS:[EBP-4]           ;  //EAX=[EBP-4]=试练码
    186. 0049826F  |.  3A4C17 FF     ||CMP CL,BYTE PTR DS:[EDI+EDX-1]         ;  //依次与试练码比较
    187. 00498273  |.  75 03         ||JNZ SHORT EFPP.00498278                ;  //若不相等则跳
    188. 00498275  |.  FF45 F8       ||INC DWORD PTR SS:[EBP-8]               ;  //计数
    189. 00498278  |>  42            ||INC EDX                                ;  //EDX=EDX+1
    190. 00498279  |.  48            ||DEC EAX                                ;  //EAX=EAX-1
    191. 0049827A  |.^ 75 E7         |\JNZ SHORT EFPP.00498263                ;  //循环,测试某数字在试炼码中出现的次数
    192. 0049827C  |>  837D F8 05    |CMP DWORD PTR SS:[EBP-8],5              ;  //[EBP-8]与5比较
    193. 00498280  |.  7E 09         |JLE SHORT EFPP.0049828B                 ;  //若同一数字在试炼码中出现次数小于等于5则跳
    194. 00498282  |.  C745 F8 FFFFF>|MOV DWORD PTR SS:[EBP-8],-1             ;  //[EBP-8]=-1
    195. 00498289  |.  EB 06         |JMP SHORT EFPP.00498291                 ;  //跳出循环
    196. 0049828B  |>  46            |INC ESI                                 ;  //ESI=ESI+1
    197. 0049828C  |.  83FE 11       |CMP ESI,11                              ;  //ESI与11比较
    198. 0049828F  |.^ 75 BC         \JNZ SHORT EFPP.0049824D                 ;  //循环
    199. 00498291  |>  837D F8 00    CMP DWORD PTR SS:[EBP-8],0               ;  //[EBP-8]与0比较
    200. 00498295  |.  7C 0E         JL SHORT EFPP.004982A5                   ;  //若小于则跳
    201. 00498297  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]             ;  //EAX=[EBP-4]=试练码
    202. 0049829A  |.  E8 19FDFFFF   CALL EFPP.00497FB8                       ;  //关键CALL
    203. 0049829F  |.  84C0          TEST AL,AL                               ;  //标志位比较
    204. 004982A1  |.  74 02         JE SHORT EFPP.004982A5                   ;  //关键跳转
    205. 004982A3  |.  B3 01         MOV BL,1
    206. 004982A5  |>  33C0          XOR EAX,EAX
    207. 004982A7  |.  5A            POP EDX
    208. 004982A8  |.  59            POP ECX
    209. 004982A9  |.  59            POP ECX
    210. 004982AA  |.  64:8910       MOV DWORD PTR FS:[EAX],EDX
    211. 004982AD  |.  68 CF824900   PUSH EFPP.004982CF
    212. 004982B2  |>  8D45 E4       LEA EAX,DWORD PTR SS:[EBP-1C]
    213. 004982B5  |.  BA 05000000   MOV EDX,5
    214. 004982BA  |.  E8 45C4F6FF   CALL EFPP.00404704
    215. 004982BF  |.  8D45 FC       LEA EAX,DWORD PTR SS:[EBP-4]
    216. 004982C2  |.  E8 19C4F6FF   CALL EFPP.004046E0
    217. 004982C7  \.  C3            RETN
    218. 004982C8   .^ E9 EFBDF6FF   JMP EFPP.004040BC
    219. 004982CD   .^ EB E3         JMP SHORT EFPP.004982B2
    220. 004982CF   .  8BC3          MOV EAX,EBX
    221. 004982D1   .  5F            POP EDI
    222. 004982D2   .  5E            POP ESI
    223. 004982D3   .  5B            POP EBX
    224. 004982D4   .  8BE5          MOV ESP,EBP
    225. 004982D6   .  5D            POP EBP
    226. 004982D7   .  C3            RETN
    227. ==============================================================
    228. 00497FB8  /$  55            PUSH EBP
    229. 00497FB9  |.  8BEC          MOV EBP,ESP
    230. 00497FBB  |.  B9 08000000   MOV ECX,8
    231. 00497FC0  |>  6A 00         /PUSH 0
    232. 00497FC2  |.  6A 00         |PUSH 0
    233. 00497FC4  |.  49            |DEC ECX
    234. 00497FC5  |.^ 75 F9         \JNZ SHORT EFPP.00497FC0
    235. 00497FC7  |.  53            PUSH EBX
    236. 00497FC8  |.  56            PUSH ESI
    237. 00497FC9  |.  57            PUSH EDI
    238. 00497FCA  |.  8BF0          MOV ESI,EAX                              ;  //ESI=EAX=试练码
    239. 00497FCC  |.  33C0          XOR EAX,EAX                              ;  //EAX=0
    240. 00497FCE  |.  55            PUSH EBP
    241. 00497FCF  |.  68 73814900   PUSH EFPP.00498173
    242. 00497FD4  |.  64:FF30       PUSH DWORD PTR FS:[EAX]
    243. 00497FD7  |.  64:8920       MOV DWORD PTR FS:[EAX],ESP
    244. 00497FDA  |.  33DB          XOR EBX,EBX
    245. 00497FDC  |.  8D45 FC       LEA EAX,DWORD PTR SS:[EBP-4]
    246. 00497FDF  |.  8A16          MOV DL,BYTE PTR DS:[ESI]                 ;  //试练码第1位ASC值
    247. 00497FE1  |.  E8 E2C8F6FF   CALL EFPP.004048C8
    248. 00497FE6  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]
    249. 00497FE9  |.  E8 4AFFFFFF   CALL EFPP.00497F38
    250. 00497FEE  |.  8BF8          MOV EDI,EAX
    251. 00497FF0  |.  8D45 F8       LEA EAX,DWORD PTR SS:[EBP-8]
    252. 00497FF3  |.  8A56 01       MOV DL,BYTE PTR DS:[ESI+1]               ;  //试练码第2位ASC值
    253. 00497FF6  |.  E8 CDC8F6FF   CALL EFPP.004048C8
    254. 00497FFB  |.  8B45 F8       MOV EAX,DWORD PTR SS:[EBP-8]
    255. 00497FFE  |.  E8 35FFFFFF   CALL EFPP.00497F38
    256. 00498003  |.  03F8          ADD EDI,EAX
    257. 00498005  |.  8D45 F4       LEA EAX,DWORD PTR SS:[EBP-C]
    258. 00498008  |.  8A56 02       MOV DL,BYTE PTR DS:[ESI+2]               ;  //试练码第3位ASC值
    259. 0049800B  |.  E8 B8C8F6FF   CALL EFPP.004048C8
    260. 00498010  |.  8B45 F4       MOV EAX,DWORD PTR SS:[EBP-C]
    261. 00498013  |.  E8 20FFFFFF   CALL EFPP.00497F38
    262. 00498018  |.  03F8          ADD EDI,EAX
    263. 0049801A  |.  8D45 F0       LEA EAX,DWORD PTR SS:[EBP-10]
    264. 0049801D  |.  8A56 03       MOV DL,BYTE PTR DS:[ESI+3]               ;  //试练码第4位ASC值
    265. 00498020  |.  E8 A3C8F6FF   CALL EFPP.004048C8
    266. 00498025  |.  8B45 F0       MOV EAX,DWORD PTR SS:[EBP-10]
    267. 00498028  |.  E8 0BFFFFFF   CALL EFPP.00497F38
    268. 0049802D  |.  03F8          ADD EDI,EAX
    269. 0049802F  |.  A1 A4564A00   MOV EAX,DWORD PTR DS:[4A56A4]
    270. 00498034  |.  3B38          CMP EDI,DWORD PTR DS:[EAX]               ;  //4个试练码值右移2位后的和等于8
    271. 00498036  |.  0F85 1C010000 JNZ EFPP.00498158
    272. 0049803C  |.  8D45 EC       LEA EAX,DWORD PTR SS:[EBP-14]
    273. 0049803F  |.  8A56 04       MOV DL,BYTE PTR DS:[ESI+4]               ;  //试练码第5位ASC值
    274. 00498042  |.  E8 81C8F6FF   CALL EFPP.004048C8
    275. 00498047  |.  8B45 EC       MOV EAX,DWORD PTR SS:[EBP-14]
    276. 0049804A  |.  E8 E9FEFFFF   CALL EFPP.00497F38
    277. 0049804F  |.  8BF8          MOV EDI,EAX
    278. 00498051  |.  8D45 E8       LEA EAX,DWORD PTR SS:[EBP-18]
    279. 00498054  |.  8A56 07       MOV DL,BYTE PTR DS:[ESI+7]               ;  //试练码第8位ASC值
    280. 00498057  |.  E8 6CC8F6FF   CALL EFPP.004048C8
    281. 0049805C  |.  8B45 E8       MOV EAX,DWORD PTR SS:[EBP-18]
    282. 0049805F  |.  E8 D4FEFFFF   CALL EFPP.00497F38
    283. 00498064  |.  03F8          ADD EDI,EAX
    284. 00498066  |.  8D45 E4       LEA EAX,DWORD PTR SS:[EBP-1C]
    285. 00498069  |.  8A56 0A       MOV DL,BYTE PTR DS:[ESI+A]               ;  //试练码第11位ASC值
    286. 0049806C  |.  E8 57C8F6FF   CALL EFPP.004048C8
    287. 00498071  |.  8B45 E4       MOV EAX,DWORD PTR SS:[EBP-1C]
    288. 00498074  |.  E8 BFFEFFFF   CALL EFPP.00497F38
    289. 00498079  |.  03F8          ADD EDI,EAX
    290. 0049807B  |.  8D45 E0       LEA EAX,DWORD PTR SS:[EBP-20]
    291. 0049807E  |.  8A56 0D       MOV DL,BYTE PTR DS:[ESI+D]               ;  //试练码第14位ASC值
    292. 00498081  |.  E8 42C8F6FF   CALL EFPP.004048C8
    293. 00498086  |.  8B45 E0       MOV EAX,DWORD PTR SS:[EBP-20]
    294. 00498089  |.  E8 AAFEFFFF   CALL EFPP.00497F38
    295. 0049808E  |.  03F8          ADD EDI,EAX
    296. 00498090  |.  A1 D8564A00   MOV EAX,DWORD PTR DS:[4A56D8]
    297. 00498095  |.  3B38          CMP EDI,DWORD PTR DS:[EAX]               ;  //4个试练码值右移2位后的和等于8
    298. 00498097  |.  0F85 BB000000 JNZ EFPP.00498158
    299. 0049809D  |.  8D45 DC       LEA EAX,DWORD PTR SS:[EBP-24]
    300. 004980A0  |.  8A16          MOV DL,BYTE PTR DS:[ESI]                 ;  //试练码第1位ASC值
    301. 004980A2  |.  E8 21C8F6FF   CALL EFPP.004048C8
    302. 004980A7  |.  8B45 DC       MOV EAX,DWORD PTR SS:[EBP-24]
    303. 004980AA  |.  E8 89FEFFFF   CALL EFPP.00497F38
    304. 004980AF  |.  8BF8          MOV EDI,EAX
    305. 004980B1  |.  8D45 D8       LEA EAX,DWORD PTR SS:[EBP-28]
    306. 004980B4  |.  8A56 01       MOV DL,BYTE PTR DS:[ESI+1]               ;  //试练码第2位ASC值
    307. 004980B7  |.  E8 0CC8F6FF   CALL EFPP.004048C8
    308. 004980BC  |.  8B45 D8       MOV EAX,DWORD PTR SS:[EBP-28]
    309. 004980BF  |.  E8 74FEFFFF   CALL EFPP.00497F38
    310. 004980C4  |.  03F8          ADD EDI,EAX
    311. 004980C6  |.  8D45 D4       LEA EAX,DWORD PTR SS:[EBP-2C]
    312. 004980C9  |.  8A56 02       MOV DL,BYTE PTR DS:[ESI+2]               ;  //试练码第3位ASC值
    313. 004980CC  |.  E8 F7C7F6FF   CALL EFPP.004048C8
    314. 004980D1  |.  8B45 D4       MOV EAX,DWORD PTR SS:[EBP-2C]
    315. 004980D4  |.  E8 5FFEFFFF   CALL EFPP.00497F38
    316. 004980D9  |.  03F8          ADD EDI,EAX
    317. 004980DB  |.  8D45 D0       LEA EAX,DWORD PTR SS:[EBP-30]
    318. 004980DE  |.  8A56 03       MOV DL,BYTE PTR DS:[ESI+3]               ;  //试练码第4位ASC值
    319. 004980E1  |.  E8 E2C7F6FF   CALL EFPP.004048C8
    320. 004980E6  |.  8B45 D0       MOV EAX,DWORD PTR SS:[EBP-30]
    321. 004980E9  |.  E8 4AFEFFFF   CALL EFPP.00497F38
    322. 004980EE  |.  03F8          ADD EDI,EAX
    323. 004980F0  |.  A1 A4564A00   MOV EAX,DWORD PTR DS:[4A56A4]
    324. 004980F5  |.  3B38          CMP EDI,DWORD PTR DS:[EAX]               ;  //4个试练码值右移2位后的和等于8
    325. 004980F7  |.  75 5F         JNZ SHORT EFPP.00498158
    326. 004980F9  |.  8D45 CC       LEA EAX,DWORD PTR SS:[EBP-34]
    327. 004980FC  |.  8A56 06       MOV DL,BYTE PTR DS:[ESI+6]               ;  //试练码第7位ASC值
    328. 004980FF  |.  E8 C4C7F6FF   CALL EFPP.004048C8
    329. 00498104  |.  8B45 CC       MOV EAX,DWORD PTR SS:[EBP-34]
    330. 00498107  |.  E8 2CFEFFFF   CALL EFPP.00497F38
    331. 0049810C  |.  8BF8          MOV EDI,EAX
    332. 0049810E  |.  8D45 C8       LEA EAX,DWORD PTR SS:[EBP-38]
    333. 00498111  |.  8A56 09       MOV DL,BYTE PTR DS:[ESI+9]               ;  //试练码第10位ASC值
    334. 00498114  |.  E8 AFC7F6FF   CALL EFPP.004048C8
    335. 00498119  |.  8B45 C8       MOV EAX,DWORD PTR SS:[EBP-38]
    336. 0049811C  |.  E8 17FEFFFF   CALL EFPP.00497F38
    337. 00498121  |.  03F8          ADD EDI,EAX
    338. 00498123  |.  8D45 C4       LEA EAX,DWORD PTR SS:[EBP-3C]
    339. 00498126  |.  8A56 0C       MOV DL,BYTE PTR DS:[ESI+C]               ;  //试练码第13位ASC值
    340. 00498129  |.  E8 9AC7F6FF   CALL EFPP.004048C8
    341. 0049812E  |.  8B45 C4       MOV EAX,DWORD PTR SS:[EBP-3C]
    342. 00498131  |.  E8 02FEFFFF   CALL EFPP.00497F38
    343. 00498136  |.  03F8          ADD EDI,EAX
    344. 00498138  |.  8D45 C0       LEA EAX,DWORD PTR SS:[EBP-40]
    345. 0049813B  |.  8A56 0F       MOV DL,BYTE PTR DS:[ESI+F]               ;  //试练码第16位ASC值
    346. 0049813E  |.  E8 85C7F6FF   CALL EFPP.004048C8
    347. 00498143  |.  8B45 C0       MOV EAX,DWORD PTR SS:[EBP-40]
    348. 00498146  |.  E8 EDFDFFFF   CALL EFPP.00497F38
    349. 0049814B  |.  03F8          ADD EDI,EAX
    350. 0049814D  |.  A1 D0534A00   MOV EAX,DWORD PTR DS:[4A53D0]
    351. 00498152  |.  3B38          CMP EDI,DWORD PTR DS:[EAX]               ;  //4个试练码值右移2位后的和等于8
    352. 00498154  |.  75 02         JNZ SHORT EFPP.00498158
    353. 00498156  |.  B3 01         MOV BL,1                                 ;  //BL=1
    354. 00498158  |>  33C0          XOR EAX,EAX                              ;  //EAX=0
    355. 0049815A  |.  5A            POP EDX
    356. 0049815B  |.  59            POP ECX
    357. 0049815C  |.  59            POP ECX
    358. 0049815D  |.  64:8910       MOV DWORD PTR FS:[EAX],EDX
    359. 00498160  |.  68 7A814900   PUSH EFPP.0049817A
    360. 00498165  |>  8D45 C0       LEA EAX,DWORD PTR SS:[EBP-40]
    361. 00498168  |.  BA 10000000   MOV EDX,10
    362. 0049816D  |.  E8 92C5F6FF   CALL EFPP.00404704
    363. 00498172  \.  C3            RETN
    364. 00498173   .^ E9 44BFF6FF   JMP EFPP.004040BC
    365. 00498178   .^ EB EB         JMP SHORT EFPP.00498165
    366. 0049817A   .  8BC3          MOV EAX,EBX                              ;  //EAX=EBX
    367. 0049817C   .  5F            POP EDI
    368. 0049817D   .  5E            POP ESI
    369. 0049817E   .  5B            POP EBX
    370. 0049817F   .  8BE5          MOV ESP,EBP
    371. 00498181   .  5D            POP EBP
    372. 00498182   .  C3            RETN
    复制代码
    **************************************************************  
    【破解总结】
    --------------------------------------------------------------
    【算法总结】
    1、注册码长度必须为16位
    2、字符必须在0~9、A~F、a~f之内
    3、同一数字在注册码中出现次数小于等于5
    4、1、2、3、4位的值右移2位后的和等于8;5、8、11、14位的值右移2位后的和等于8;7、10、13、16位的值右移2位后的和等于8
    --------------------------------------------------------------
    【算法注册机
    --------------------------------------------------------------
    Private Sub Command1_Click()
    Randomize
    Dim a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16
    tianxj:
    a1 = Int((15 * Rnd) + 0)
    a2 = Int((15 * Rnd) + 0)
    a3 = Int((15 * Rnd) + 0)
    a4 = Int((15 * Rnd) + 0)
    a5 = Int((15 * Rnd) + 0)
    a6 = Int((15 * Rnd) + 0)
    a7 = Int((15 * Rnd) + 0)
    a8 = Int((15 * Rnd) + 0)
    a9 = Int((15 * Rnd) + 0)
    a10 = Int((15 * Rnd) + 0)
    a11 = Int((15 * Rnd) + 0)
    a12 = Int((15 * Rnd) + 0)
    a13 = Int((15 * Rnd) + 0)
    a14 = Int((15 * Rnd) + 0)
    a15 = Int((15 * Rnd) + 0)
    a16 = Int((15 * Rnd) + 0)
    If (a1 \ 4 + a2 \ 4 + a3 \ 4 + a4 \ 4 = 8) And (a5 \ 4 + a8 \ 4 + a11 \ 4 + a14 \ 4 = 8) And (a7 \ 4 + a10 \ 4 + a13 \ 4 + a16 \ 4 = 8) Then
      Text1.Text = Hex(a1) & Hex(a2) & Hex(a3) & Hex(a4) & Hex(a5) & Hex(a6) & Hex(a7) & Hex(a8) & Hex(a9) & Hex(a10) & Hex(a11) & Hex(a12) & Hex(a13) & Hex(a14) & Hex(a15) & Hex(a16)
      Exit Sub
    End If
    GoTo tianxj
    End Sub
    --------------------------------------------------------------
    【注册信息】
    一组可用的注册码:89AB808909A0AB0B

    注册表信息
    [HKEY_LOCAL_MACHINE\SOFTWARE\Easy File & Folder Protector\Settings]
    "Inf1"="560419121ed66dca00"
    "Inf2"="5b532a7b146c001600c7ba1ca329c021"
    --------------------------------------------------------------
    感谢飘云老大、猫老大、Nisy老大以及很多前辈们的学习教程以及所有帮助过我的论坛兄弟姐妹们!谢谢
    --------------------------------------------------------------
    【版权声明】破文是学习的手记,兴趣是成功的源泉;本破文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!
    PYG19周年生日快乐!
  • TA的每日心情
    无聊
    2015-9-5 20:32
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2008-4-18 10:23:58 | 显示全部楼层
    兄弟又出算法了,好!!
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2018-12-18 12:34
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    发表于 2008-4-18 19:01:21 | 显示全部楼层
    厉害,算法玩这么好。
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2008-4-19 20:46:45 | 显示全部楼层
    根本就是在看天书..../:002
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2008-4-19 21:06:01 | 显示全部楼层
    要是给出注册机代码就好了
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2023-1-15 13:57
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2008-4-20 18:04:34 | 显示全部楼层
    感觉太复杂了~!埃。一下就没信息了!~/:L
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2024-5-1 14:44
  • 签到天数: 2 天

    [LV.1]初来乍到

     楼主| 发表于 2008-4-20 19:03:44 | 显示全部楼层
    原帖由 frozenrain 于 2008-4-19 21:06 发表
    要是给出注册机代码就好了


    晕了,那不是有VB注册机代码吗
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2008-4-25 22:14:02 | 显示全部楼层
    这个算法有点麻烦!

    套用了几层~~
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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