飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 3989|回复: 4

[原创] Magic Photo Recovery 2.0.2算法分析

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

    [LV.1]初来乍到

    发表于 2008-10-16 20:34:59 | 显示全部楼层 |阅读模式
    【破文标题】Magic Photo Recovery 2.0.2算法分析
    【破文作者】tianxj
    【作者邮箱】[email protected]
    【作者主页】WwW.ChiNaPYG.CoM
    破解工具】PEiD,OD
    【破解平台】Windows XP
    【软件名称】CrackMe1
    【软件大小】906KB
    【软件类别】国外软件/数据恢复
    【软件授权】共享版
    【软件语言】英文
    【更新时间】2008-10-13
    【原版下载】自己找一下
    【保护方式】注册码
    【软件简介】Magic Photo Recovery是一款恢复软件,假如,你不小心从您的电脑,相机,闪存卡,或记忆卡中删除了你的相片,你可以通过这款软件轻松的找回来
    【破解声明】我是一只小菜鸟,偶得一点心得,愿与大家分享:)
    --------------------------------------------------------------
    【破解内容】
    --------------------------------------------------------------
    **************************************************************
    一、运行程序,进行注册,输入错误的注册信息进行检测,有提示信息
    "Wrong registration data!"
    **************************************************************
    二、用PEiD对Magic Photo Recovery.exe查壳,为 ASPack 2.12 -> Alexey Solodovnikov
        用PEiD插件脱壳后为 Borland Delphi 6.0 - 7.0
    **************************************************************
    三、用DeDe查找按钮事件,运行OD,打开Magic Photo Recovery.exe.unpacked_.exe
    ==============================================================
    1. 005246B8   .  55            PUSH    EBP
    2. 005246B9   .  8BEC          MOV     EBP, ESP
    3. 005246BB   .  B9 0E000000   MOV     ECX, 0E
    4. 005246C0   >  6A 00         PUSH    0
    5. 005246C2   .  6A 00         PUSH    0
    6. 005246C4   .  49            DEC     ECX
    7. 005246C5   .^ 75 F9         JNZ     SHORT Magic_Ph.005246C0
    8. 005246C7   .  53            PUSH    EBX
    9. 005246C8   .  56            PUSH    ESI
    10. 005246C9   .  57            PUSH    EDI
    11. 005246CA   .  8945 FC       MOV     DWORD PTR [EBP-4], EAX
    12. 005246CD   .  33C0          XOR     EAX, EAX
    13. 005246CF   .  55            PUSH    EBP
    14. 005246D0   .  68 214B5200   PUSH    Magic_Ph.00524B21
    15. 005246D5   .  64:FF30       PUSH    DWORD PTR FS:[EAX]
    16. 005246D8   .  64:8920       MOV     DWORD PTR FS:[EAX], ESP
    17. 005246DB   .  33C0          XOR     EAX, EAX
    18. 005246DD   .  55            PUSH    EBP
    19. 005246DE   .  68 734A5200   PUSH    Magic_Ph.00524A73
    20. 005246E3   .  64:FF30       PUSH    DWORD PTR FS:[EAX]
    21. 005246E6   .  64:8920       MOV     DWORD PTR FS:[EAX], ESP
    22. 005246E9   .  8D55 F0       LEA     EDX, DWORD PTR [EBP-10]
    23. 005246EC   .  8B45 FC       MOV     EAX, DWORD PTR [EBP-4]
    24. 005246EF   .  8B98 60030000 MOV     EBX, DWORD PTR [EAX+360]
    25. 005246F5   .  8BC3          MOV     EAX, EBX
    26. 005246F7   .  E8 3CD7F2FF   CALL    Magic_Ph.00451E38
    27. 005246FC   .  8B45 F0       MOV     EAX, DWORD PTR [EBP-10]          ;  //用户名
    28. 005246FF   .  8D55 F4       LEA     EDX, DWORD PTR [EBP-C]
    29. 00524702   .  E8 3151EEFF   CALL    Magic_Ph.00409838
    30. 00524707   .  8B55 F4       MOV     EDX, DWORD PTR [EBP-C]           ;  //用户名
    31. 0052470A   .  8BC3          MOV     EAX, EBX
    32. 0052470C   .  E8 57D7F2FF   CALL    Magic_Ph.00451E68
    33. 00524711   .  8D55 E8       LEA     EDX, DWORD PTR [EBP-18]
    34. 00524714   .  8B45 FC       MOV     EAX, DWORD PTR [EBP-4]
    35. 00524717   .  8B98 64030000 MOV     EBX, DWORD PTR [EAX+364]
    36. 0052471D   .  8BC3          MOV     EAX, EBX
    37. 0052471F   .  E8 14D7F2FF   CALL    Magic_Ph.00451E38
    38. 00524724   .  8B45 E8       MOV     EAX, DWORD PTR [EBP-18]          ;  //试练码
    39. 00524727   .  8D55 EC       LEA     EDX, DWORD PTR [EBP-14]
    40. 0052472A   .  E8 0951EEFF   CALL    Magic_Ph.00409838
    41. 0052472F   .  8B55 EC       MOV     EDX, DWORD PTR [EBP-14]          ;  //试练码
    42. 00524732   .  8BC3          MOV     EAX, EBX
    43. 00524734   .  E8 2FD7F2FF   CALL    Magic_Ph.00451E68
    44. 00524739   .  8D55 E4       LEA     EDX, DWORD PTR [EBP-1C]
    45. 0052473C   .  8B45 FC       MOV     EAX, DWORD PTR [EBP-4]
    46. 0052473F   .  8B80 60030000 MOV     EAX, DWORD PTR [EAX+360]
    47. 00524745   .  E8 EED6F2FF   CALL    Magic_Ph.00451E38
    48. 0052474A   .  837D E4 00    CMP     DWORD PTR [EBP-1C], 0
    49. 0052474E   .  75 54         JNZ     SHORT Magic_Ph.005247A4          ;  //用户名为空则跳
    50. 00524750   .  6A 30         PUSH    30
    51. 00524752   .  8D55 E0       LEA     EDX, DWORD PTR [EBP-20]
    52. 00524755   .  A1 48E65200   MOV     EAX, DWORD PTR [52E648]
    53. 0052475A   .  8B00          MOV     EAX, DWORD PTR [EAX]
    54. 0052475C   .  E8 E7B6F4FF   CALL    Magic_Ph.0046FE48
    55. 00524761   .  8B45 E0       MOV     EAX, DWORD PTR [EBP-20]
    56. 00524764   .  E8 5B0EEEFF   CALL    Magic_Ph.004055C4
    57. 00524769   .  50            PUSH    EAX
    58. 0052476A   .  A1 28E55200   MOV     EAX, DWORD PTR [52E528]
    59. 0052476F   .  8B40 1C       MOV     EAX, DWORD PTR [EAX+1C]
    60. 00524772   .  E8 4D0EEEFF   CALL    Magic_Ph.004055C4
    61. 00524777   .  8BD0          MOV     EDX, EAX
    62. 00524779   .  A1 48E65200   MOV     EAX, DWORD PTR [52E648]
    63. 0052477E   .  8B00          MOV     EAX, DWORD PTR [EAX]
    64. 00524780   .  59            POP     ECX
    65. 00524781   .  E8 12BFF4FF   CALL    Magic_Ph.00470698
    66. 00524786   .  8B45 FC       MOV     EAX, DWORD PTR [EBP-4]
    67. 00524789   .  8B80 60030000 MOV     EAX, DWORD PTR [EAX+360]
    68. 0052478F   .  8B10          MOV     EDX, DWORD PTR [EAX]
    69. 00524791   .  FF92 D4000000 CALL    DWORD PTR [EDX+D4]
    70. 00524797   .  33C0          XOR     EAX, EAX
    71. 00524799   .  5A            POP     EDX
    72. 0052479A   .  59            POP     ECX
    73. 0052479B   .  59            POP     ECX
    74. 0052479C   .  64:8910       MOV     DWORD PTR FS:[EAX], EDX
    75. 0052479F   .  E9 D9020000   JMP     Magic_Ph.00524A7D
    76. 005247A4   >  8D55 DC       LEA     EDX, DWORD PTR [EBP-24]
    77. 005247A7   .  8B45 FC       MOV     EAX, DWORD PTR [EBP-4]
    78. 005247AA   .  8B80 64030000 MOV     EAX, DWORD PTR [EAX+364]
    79. 005247B0   .  E8 83D6F2FF   CALL    Magic_Ph.00451E38
    80. 005247B5   .  837D DC 00    CMP     DWORD PTR [EBP-24], 0
    81. 005247B9   .  75 54         JNZ     SHORT Magic_Ph.0052480F          ;  //注册码为空则跳
    82. 005247BB   .  6A 30         PUSH    30
    83. 005247BD   .  8D55 D8       LEA     EDX, DWORD PTR [EBP-28]
    84. 005247C0   .  A1 48E65200   MOV     EAX, DWORD PTR [52E648]
    85. 005247C5   .  8B00          MOV     EAX, DWORD PTR [EAX]
    86. 005247C7   .  E8 7CB6F4FF   CALL    Magic_Ph.0046FE48
    87. 005247CC   .  8B45 D8       MOV     EAX, DWORD PTR [EBP-28]
    88. 005247CF   .  E8 F00DEEFF   CALL    Magic_Ph.004055C4
    89. 005247D4   .  50            PUSH    EAX
    90. 005247D5   .  A1 28E55200   MOV     EAX, DWORD PTR [52E528]
    91. 005247DA   .  8B40 20       MOV     EAX, DWORD PTR [EAX+20]
    92. 005247DD   .  E8 E20DEEFF   CALL    Magic_Ph.004055C4
    93. 005247E2   .  8BD0          MOV     EDX, EAX
    94. 005247E4   .  A1 48E65200   MOV     EAX, DWORD PTR [52E648]
    95. 005247E9   .  8B00          MOV     EAX, DWORD PTR [EAX]
    96. 005247EB   .  59            POP     ECX
    97. 005247EC   .  E8 A7BEF4FF   CALL    Magic_Ph.00470698
    98. 005247F1   .  8B45 FC       MOV     EAX, DWORD PTR [EBP-4]
    99. 005247F4   .  8B80 64030000 MOV     EAX, DWORD PTR [EAX+364]
    100. 005247FA   .  8B10          MOV     EDX, DWORD PTR [EAX]
    101. 005247FC   .  FF92 D4000000 CALL    DWORD PTR [EDX+D4]
    102. 00524802   .  33C0          XOR     EAX, EAX
    103. 00524804   .  5A            POP     EDX
    104. 00524805   .  59            POP     ECX
    105. 00524806   .  59            POP     ECX
    106. 00524807   .  64:8910       MOV     DWORD PTR FS:[EAX], EDX
    107. 0052480A   .  E9 6E020000   JMP     Magic_Ph.00524A7D
    108. 0052480F   >  8D55 D4       LEA     EDX, DWORD PTR [EBP-2C]
    109. 00524812   .  8B45 FC       MOV     EAX, DWORD PTR [EBP-4]
    110. 00524815   .  8B80 64030000 MOV     EAX, DWORD PTR [EAX+364]
    111. 0052481B   .  E8 18D6F2FF   CALL    Magic_Ph.00451E38
    112. 00524820   .  8B45 D4       MOV     EAX, DWORD PTR [EBP-2C]          ;  //试练码
    113. 00524823   .  50            PUSH    EAX
    114. 00524824   .  8D55 CC       LEA     EDX, DWORD PTR [EBP-34]
    115. 00524827   .  8B45 FC       MOV     EAX, DWORD PTR [EBP-4]
    116. 0052482A   .  8B80 60030000 MOV     EAX, DWORD PTR [EAX+360]
    117. 00524830   .  E8 03D6F2FF   CALL    Magic_Ph.00451E38
    118. 00524835   .  8B45 CC       MOV     EAX, DWORD PTR [EBP-34]          ;  //用户名
    119. 00524838   .  8D55 D0       LEA     EDX, DWORD PTR [EBP-30]
    120. 0052483B   .  E8 A03EFFFF   CALL    Magic_Ph.005186E0                ;  //关键CALL
    121. 00524840   .  8B55 D0       MOV     EDX, DWORD PTR [EBP-30]          ;  //真码
    122. 00524843   .  58            POP     EAX                              ;  //假码
    123. 00524844   .  E8 C70CEEFF   CALL    Magic_Ph.00405510                ;  //比较CALL
    124. 00524849   .  0F85 AA010000 JNZ     Magic_Ph.005249F9                ;  //关键跳转
    125. 0052484F   .  8B45 FC       MOV     EAX, DWORD PTR [EBP-4]
    126. 00524852   .  C680 84030000>MOV     BYTE PTR [EAX+384], 1
    127. 00524859   .  8D55 C8       LEA     EDX, DWORD PTR [EBP-38]
    128. 0052485C   .  8B45 FC       MOV     EAX, DWORD PTR [EBP-4]
    129. 0052485F   .  8B80 60030000 MOV     EAX, DWORD PTR [EAX+360]
    130. 00524865   .  E8 CED5F2FF   CALL    Magic_Ph.00451E38
    131. 0052486A   .  8B55 C8       MOV     EDX, DWORD PTR [EBP-38]
    132. 0052486D   .  8B45 FC       MOV     EAX, DWORD PTR [EBP-4]
    133. 00524870   .  05 88030000   ADD     EAX, 388
    134. 00524875   .  E8 DA08EEFF   CALL    Magic_Ph.00405154
    135. 0052487A   .  8D55 C4       LEA     EDX, DWORD PTR [EBP-3C]
    136. 0052487D   .  A1 48E65200   MOV     EAX, DWORD PTR [52E648]
    137. 00524882   .  8B00          MOV     EAX, DWORD PTR [EAX]
    138. 00524884   .  E8 BFB5F4FF   CALL    Magic_Ph.0046FE48
    139. 00524889   .  8B55 C4       MOV     EDX, DWORD PTR [EBP-3C]
    140. 0052488C   .  A1 80E25200   MOV     EAX, DWORD PTR [52E280]
    141. 00524891   .  8B00          MOV     EAX, DWORD PTR [EAX]
    142. 00524893   .  E8 D0D5F2FF   CALL    Magic_Ph.00451E68
    143. 00524898   .  A1 80E25200   MOV     EAX, DWORD PTR [52E280]
    144. 0052489D   .  8B00          MOV     EAX, DWORD PTR [EAX]
    145. 0052489F   .  8B80 A8030000 MOV     EAX, DWORD PTR [EAX+3A8]
    146. 005248A5   .  33D2          XOR     EDX, EDX
    147. 005248A7   .  E8 ACD4F2FF   CALL    Magic_Ph.00451D58
    148. 005248AC   .  B2 01         MOV     DL, 1
    149. 005248AE   .  A1 98934200   MOV     EAX, DWORD PTR [429398]
    150. 005248B3   .  E8 E04BF0FF   CALL    Magic_Ph.00429498
    151. 005248B8   .  8945 F8       MOV     DWORD PTR [EBP-8], EAX
    152. 005248BB   .  33C0          XOR     EAX, EAX
    153. 005248BD   .  55            PUSH    EBP
    154. 005248BE   .  68 64495200   PUSH    Magic_Ph.00524964
    155. 005248C3   .  64:FF30       PUSH    DWORD PTR FS:[EAX]
    156. 005248C6   .  64:8920       MOV     DWORD PTR FS:[EAX], ESP
    157. 005248C9   .  BA 01000080   MOV     EDX, 80000001
    158. 005248CE   .  8B45 F8       MOV     EAX, DWORD PTR [EBP-8]
    159. 005248D1   .  E8 624CF0FF   CALL    Magic_Ph.00429538
    160. 005248D6   .  68 3C4B5200   PUSH    Magic_Ph.00524B3C                ;  ASCII "Software\East Imperial Soft"
    161. 005248DB   .  8D55 BC       LEA     EDX, DWORD PTR [EBP-44]
    162. 005248DE   .  A1 48E65200   MOV     EAX, DWORD PTR [52E648]
    163. 005248E3   .  8B00          MOV     EAX, DWORD PTR [EAX]
    164. 005248E5   .  E8 5EB5F4FF   CALL    Magic_Ph.0046FE48
    165. 005248EA   .  FF75 BC       PUSH    DWORD PTR [EBP-44]
    166. 005248ED   .  68 644B5200   PUSH    Magic_Ph.00524B64                ;  ASCII "\Settings"
    167. 005248F2   .  8D45 C0       LEA     EAX, DWORD PTR [EBP-40]
    168. 005248F5   .  BA 03000000   MOV     EDX, 3
    169. 005248FA   .  E8 850BEEFF   CALL    Magic_Ph.00405484
    170. 005248FF   .  8B55 C0       MOV     EDX, DWORD PTR [EBP-40]
    171. 00524902   .  B1 01         MOV     CL, 1
    172. 00524904   .  8B45 F8       MOV     EAX, DWORD PTR [EBP-8]
    173. 00524907   .  E8 904CF0FF   CALL    Magic_Ph.0042959C
    174. 0052490C   .  8D55 B8       LEA     EDX, DWORD PTR [EBP-48]
    175. 0052490F   .  8B45 FC       MOV     EAX, DWORD PTR [EBP-4]
    176. 00524912   .  8B80 60030000 MOV     EAX, DWORD PTR [EAX+360]
    177. 00524918   .  E8 1BD5F2FF   CALL    Magic_Ph.00451E38
    178. 0052491D   .  8B4D B8       MOV     ECX, DWORD PTR [EBP-48]
    179. 00524920   .  BA 784B5200   MOV     EDX, Magic_Ph.00524B78           ;  ASCII "UserName"
    180. 00524925   .  8B45 F8       MOV     EAX, DWORD PTR [EBP-8]
    181. 00524928   .  E8 C34FF0FF   CALL    Magic_Ph.004298F0
    182. 0052492D   .  8D55 B4       LEA     EDX, DWORD PTR [EBP-4C]
    183. 00524930   .  8B45 FC       MOV     EAX, DWORD PTR [EBP-4]
    184. 00524933   .  8B80 64030000 MOV     EAX, DWORD PTR [EAX+364]
    185. 00524939   .  E8 FAD4F2FF   CALL    Magic_Ph.00451E38
    186. 0052493E   .  8B4D B4       MOV     ECX, DWORD PTR [EBP-4C]
    187. 00524941   .  BA 8C4B5200   MOV     EDX, Magic_Ph.00524B8C           ;  ASCII "LicenseKey"
    188. 00524946   .  8B45 F8       MOV     EAX, DWORD PTR [EBP-8]
    189. 00524949   .  E8 A24FF0FF   CALL    Magic_Ph.004298F0
    190. 0052494E   .  33C0          XOR     EAX, EAX
    191. 00524950   .  5A            POP     EDX
    192. 00524951   .  59            POP     ECX
    193. 00524952   .  59            POP     ECX
    194. 00524953   .  64:8910       MOV     DWORD PTR FS:[EAX], EDX
    195. 00524956   .  68 6B495200   PUSH    Magic_Ph.0052496B
    196. 0052495B   >  8B45 F8       MOV     EAX, DWORD PTR [EBP-8]
    197. 0052495E   .  E8 D1F8EDFF   CALL    Magic_Ph.00404234
    198. 00524963   .  C3            RETN
    199. 00524964   .^ E9 9F00EEFF   JMP     Magic_Ph.00404A08
    200. 00524969   .^ EB F0         JMP     SHORT Magic_Ph.0052495B
    201. 0052496B   .  6A 40         PUSH    40
    202. 0052496D   .  A1 28E55200   MOV     EAX, DWORD PTR [52E528]
    203. 00524972   .  FF70 24       PUSH    DWORD PTR [EAX+24]
    204. 00524975   .  68 A04B5200   PUSH    Magic_Ph.00524BA0                ;  ASCII "
    205. "
    206. 0052497A   .  8D45 AC       LEA     EAX, DWORD PTR [EBP-54]
    207. 0052497D   .  50            PUSH    EAX
    208. 0052497E   .  8D55 A0       LEA     EDX, DWORD PTR [EBP-60]
    209. 00524981   .  8B45 FC       MOV     EAX, DWORD PTR [EBP-4]
    210. 00524984   .  8B80 60030000 MOV     EAX, DWORD PTR [EAX+360]
    211. 0052498A   .  E8 A9D4F2FF   CALL    Magic_Ph.00451E38
    212. 0052498F   .  8B45 A0       MOV     EAX, DWORD PTR [EBP-60]          ; |
    213. 00524992   .  8945 A4       MOV     DWORD PTR [EBP-5C], EAX          ; |
    214. 00524995   .  C645 A8 0B    MOV     BYTE PTR [EBP-58], 0B            ; |
    215. 00524999   .  8D55 A4       LEA     EDX, DWORD PTR [EBP-5C]          ; |
    216. 0052499C   .  A1 28E55200   MOV     EAX, DWORD PTR [52E528]          ; |
    217. 005249A1   .  8B40 28       MOV     EAX, DWORD PTR [EAX+28]          ; |
    218. 005249A4   .  33C9          XOR     ECX, ECX                         ; |
    219. 005249A6   .  E8 7D63EEFF   CALL    Magic_Ph.0040AD28                ; \Magic_Ph.0040AD28
    220. 005249AB   .  FF75 AC       PUSH    DWORD PTR [EBP-54]
    221. 005249AE   .  8D45 B0       LEA     EAX, DWORD PTR [EBP-50]
    222. 005249B1   .  BA 03000000   MOV     EDX, 3
    223. 005249B6   .  E8 C90AEEFF   CALL    Magic_Ph.00405484
    224. 005249BB   .  8B45 B0       MOV     EAX, DWORD PTR [EBP-50]
    225. 005249BE   .  E8 010CEEFF   CALL    Magic_Ph.004055C4
    226. 005249C3   .  50            PUSH    EAX
    227. 005249C4   .  8D55 9C       LEA     EDX, DWORD PTR [EBP-64]
    228. 005249C7   .  A1 48E65200   MOV     EAX, DWORD PTR [52E648]
    229. 005249CC   .  8B00          MOV     EAX, DWORD PTR [EAX]
    230. 005249CE   .  E8 75B4F4FF   CALL    Magic_Ph.0046FE48
    231. 005249D3   .  8B45 9C       MOV     EAX, DWORD PTR [EBP-64]
    232. 005249D6   .  E8 E90BEEFF   CALL    Magic_Ph.004055C4
    233. 005249DB   .  8BC8          MOV     ECX, EAX
    234. 005249DD   .  A1 48E65200   MOV     EAX, DWORD PTR [52E648]
    235. 005249E2   .  8B00          MOV     EAX, DWORD PTR [EAX]
    236. 005249E4   .  5A            POP     EDX
    237. 005249E5   .  E8 AEBCF4FF   CALL    Magic_Ph.00470698
    238. 005249EA   .  8B45 FC       MOV     EAX, DWORD PTR [EBP-4]
    239. 005249ED   .  C780 94020000>MOV     DWORD PTR [EAX+294], 1
    240. 005249F7   .  EB 70         JMP     SHORT Magic_Ph.00524A69
    241. 005249F9   >  6A 30         PUSH    30
    242. 005249FB   .  A1 28E55200   MOV     EAX, DWORD PTR [52E528]
    243. 00524A00   .  FF70 2C       PUSH    DWORD PTR [EAX+2C]
    244. 00524A03   .  68 A04B5200   PUSH    Magic_Ph.00524BA0                ;  ASCII "
    245. "
    246. 00524A08   .  8D45 94       LEA     EAX, DWORD PTR [EBP-6C]
    247. 00524A0B   .  50            PUSH    EAX                              ; /Arg1
    248. 00524A0C   .  B8 AC4B5200   MOV     EAX, Magic_Ph.00524BAC           ; |ASCII "[email protected]"
    249. 00524A11   .  8945 A4       MOV     DWORD PTR [EBP-5C], EAX          ; |
    250. 00524A14   .  C645 A8 0B    MOV     BYTE PTR [EBP-58], 0B            ; |
    251. 00524A18   .  8D55 A4       LEA     EDX, DWORD PTR [EBP-5C]          ; |
    252. 00524A1B   .  A1 28E55200   MOV     EAX, DWORD PTR [52E528]          ; |
    253. 00524A20   .  8B40 30       MOV     EAX, DWORD PTR [EAX+30]          ; |
    254. 00524A23   .  33C9          XOR     ECX, ECX                         ; |
    255. 00524A25   .  E8 FE62EEFF   CALL    Magic_Ph.0040AD28                ; \Magic_Ph.0040AD28
    256. 00524A2A   .  FF75 94       PUSH    DWORD PTR [EBP-6C]
    257. 00524A2D   .  8D45 98       LEA     EAX, DWORD PTR [EBP-68]
    258. 00524A30   .  BA 03000000   MOV     EDX, 3
    259. 00524A35   .  E8 4A0AEEFF   CALL    Magic_Ph.00405484
    260. 00524A3A   .  8B45 98       MOV     EAX, DWORD PTR [EBP-68]
    261. 00524A3D   .  E8 820BEEFF   CALL    Magic_Ph.004055C4
    262. 00524A42   .  50            PUSH    EAX
    263. 00524A43   .  8D55 90       LEA     EDX, DWORD PTR [EBP-70]
    264. 00524A46   .  A1 48E65200   MOV     EAX, DWORD PTR [52E648]
    265. 00524A4B   .  8B00          MOV     EAX, DWORD PTR [EAX]
    266. 00524A4D   .  E8 F6B3F4FF   CALL    Magic_Ph.0046FE48
    267. 00524A52   .  8B45 90       MOV     EAX, DWORD PTR [EBP-70]
    268. 00524A55   .  E8 6A0BEEFF   CALL    Magic_Ph.004055C4
    269. 00524A5A   .  8BC8          MOV     ECX, EAX
    270. 00524A5C   .  A1 48E65200   MOV     EAX, DWORD PTR [52E648]
    271. 00524A61   .  8B00          MOV     EAX, DWORD PTR [EAX]
    272. 00524A63   .  5A            POP     EDX
    273. 00524A64   .  E8 2FBCF4FF   CALL    Magic_Ph.00470698
    274. 00524A69   >  33C0          XOR     EAX, EAX
    275. 00524A6B   .  5A            POP     EDX
    276. 00524A6C   .  59            POP     ECX
    277. 00524A6D   .  59            POP     ECX
    278. 00524A6E   .  64:8910       MOV     DWORD PTR FS:[EAX], EDX
    279. 00524A71   .  EB 0A         JMP     SHORT Magic_Ph.00524A7D
    280. 00524A73   .^ E9 DCFCEDFF   JMP     Magic_Ph.00404754
    281. 00524A78   .  E8 E700EEFF   CALL    Magic_Ph.00404B64
    282. 00524A7D   >  33C0          XOR     EAX, EAX
    283. 00524A7F   .  5A            POP     EDX
    284. 00524A80   .  59            POP     ECX
    285. 00524A81   .  59            POP     ECX
    286. 00524A82   .  64:8910       MOV     DWORD PTR FS:[EAX], EDX
    287. 00524A85   .  68 2B4B5200   PUSH    Magic_Ph.00524B2B
    288. 00524A8A   >  8D45 90       LEA     EAX, DWORD PTR [EBP-70]
    289. 00524A8D   .  BA 04000000   MOV     EDX, 4
    290. 00524A92   .  E8 8D06EEFF   CALL    Magic_Ph.00405124
    291. 00524A97   .  8D45 A0       LEA     EAX, DWORD PTR [EBP-60]
    292. 00524A9A   .  E8 6106EEFF   CALL    Magic_Ph.00405100
    293. 00524A9F   .  8D45 AC       LEA     EAX, DWORD PTR [EBP-54]
    294. 00524AA2   .  BA 02000000   MOV     EDX, 2
    295. 00524AA7   .  E8 7806EEFF   CALL    Magic_Ph.00405124
    296. 00524AAC   .  8D45 B4       LEA     EAX, DWORD PTR [EBP-4C]
    297. 00524AAF   .  BA 02000000   MOV     EDX, 2
    298. 00524AB4   .  E8 6B06EEFF   CALL    Magic_Ph.00405124
    299. 00524AB9   .  8D45 BC       LEA     EAX, DWORD PTR [EBP-44]
    300. 00524ABC   .  BA 03000000   MOV     EDX, 3
    301. 00524AC1   .  E8 5E06EEFF   CALL    Magic_Ph.00405124
    302. 00524AC6   .  8D45 C8       LEA     EAX, DWORD PTR [EBP-38]
    303. 00524AC9   .  BA 02000000   MOV     EDX, 2
    304. 00524ACE   .  E8 5106EEFF   CALL    Magic_Ph.00405124
    305. 00524AD3   .  8D45 D0       LEA     EAX, DWORD PTR [EBP-30]
    306. 00524AD6   .  E8 2506EEFF   CALL    Magic_Ph.00405100
    307. 00524ADB   .  8D45 D4       LEA     EAX, DWORD PTR [EBP-2C]
    308. 00524ADE   .  E8 1D06EEFF   CALL    Magic_Ph.00405100
    309. 00524AE3   .  8D45 D8       LEA     EAX, DWORD PTR [EBP-28]
    310. 00524AE6   .  E8 1506EEFF   CALL    Magic_Ph.00405100
    311. 00524AEB   .  8D45 DC       LEA     EAX, DWORD PTR [EBP-24]
    312. 00524AEE   .  E8 0D06EEFF   CALL    Magic_Ph.00405100
    313. 00524AF3   .  8D45 E0       LEA     EAX, DWORD PTR [EBP-20]
    314. 00524AF6   .  E8 0506EEFF   CALL    Magic_Ph.00405100
    315. 00524AFB   .  8D45 E4       LEA     EAX, DWORD PTR [EBP-1C]
    316. 00524AFE   .  BA 02000000   MOV     EDX, 2
    317. 00524B03   .  E8 1C06EEFF   CALL    Magic_Ph.00405124
    318. 00524B08   .  8D45 EC       LEA     EAX, DWORD PTR [EBP-14]
    319. 00524B0B   .  E8 F005EEFF   CALL    Magic_Ph.00405100
    320. 00524B10   .  8D45 F0       LEA     EAX, DWORD PTR [EBP-10]
    321. 00524B13   .  E8 E805EEFF   CALL    Magic_Ph.00405100
    322. 00524B18   .  8D45 F4       LEA     EAX, DWORD PTR [EBP-C]
    323. 00524B1B   .  E8 E005EEFF   CALL    Magic_Ph.00405100
    324. 00524B20   .  C3            RETN
    325. 00524B21   .^ E9 E2FEEDFF   JMP     Magic_Ph.00404A08
    326. 00524B26   .^ E9 5FFFFFFF   JMP     Magic_Ph.00524A8A
    327. 00524B2B   .  5F            POP     EDI
    328. 00524B2C   .  5E            POP     ESI
    329. 00524B2D   .  5B            POP     EBX
    330. 00524B2E   .  8BE5          MOV     ESP, EBP
    331. 00524B30   .  5D            POP     EBP
    332. 00524B31   .  C3            RETN
    333. ==============================================================
    334. 005186E0  /$  55            PUSH    EBP
    335. 005186E1  |.  8BEC          MOV     EBP, ESP
    336. 005186E3  |.  B9 07000000   MOV     ECX, 7
    337. 005186E8  |>  6A 00         /PUSH    0
    338. 005186EA  |.  6A 00         |PUSH    0
    339. 005186EC  |.  49            |DEC     ECX
    340. 005186ED  |.^ 75 F9         \JNZ     SHORT Magic_Ph.005186E8
    341. 005186EF  |.  51            PUSH    ECX
    342. 005186F0  |.  53            PUSH    EBX
    343. 005186F1  |.  56            PUSH    ESI
    344. 005186F2  |.  8955 F8       MOV     DWORD PTR [EBP-8], EDX
    345. 005186F5  |.  8BD8          MOV     EBX, EAX
    346. 005186F7  |.  33C0          XOR     EAX, EAX
    347. 005186F9  |.  55            PUSH    EBP
    348. 005186FA  |.  68 E5895100   PUSH    Magic_Ph.005189E5
    349. 005186FF  |.  64:FF30       PUSH    DWORD PTR FS:[EAX]
    350. 00518702  |.  64:8920       MOV     DWORD PTR FS:[EAX], ESP
    351. 00518705  |.  8D45 FC       LEA     EAX, DWORD PTR [EBP-4]
    352. 00518708  |.  8BD3          MOV     EDX, EBX
    353. 0051870A  |.  E8 89CAEEFF   CALL    Magic_Ph.00405198
    354. 0051870F  |.  8B45 F8       MOV     EAX, DWORD PTR [EBP-8]
    355. 00518712  |.  E8 E9C9EEFF   CALL    Magic_Ph.00405100
    356. 00518717  |.  8B45 FC       MOV     EAX, DWORD PTR [EBP-4]           ;  //用户名
    357. 0051871A  |.  85C0          TEST    EAX, EAX
    358. 0051871C  |.  74 05         JE      SHORT Magic_Ph.00518723
    359. 0051871E  |.  83E8 04       SUB     EAX, 4
    360. 00518721  |.  8B00          MOV     EAX, DWORD PTR [EAX]             ;  //用户名长度
    361. 00518723  |>  85C0          TEST    EAX, EAX
    362. 00518725  |.  0F84 8A020000 JE      Magic_Ph.005189B5
    363. 0051872B  |.  8D55 F4       LEA     EDX, DWORD PTR [EBP-C]
    364. 0051872E  |.  8B45 FC       MOV     EAX, DWORD PTR [EBP-4]           ;  //用户名
    365. 00518731  |.  E8 6610EFFF   CALL    Magic_Ph.0040979C                ;  //用户名转小写
    366. 00518736  |.  8B55 F4       MOV     EDX, DWORD PTR [EBP-C]           ;  //小写用户名
    367. 00518739  |.  8D45 FC       LEA     EAX, DWORD PTR [EBP-4]
    368. 0051873C  |.  E8 57CAEEFF   CALL    Magic_Ph.00405198
    369. 00518741  |.  33DB          XOR     EBX, EBX                         ;  //EBX=0
    370. 00518743  |.  8B45 FC       MOV     EAX, DWORD PTR [EBP-4]           ;  //小写用户名
    371. 00518746  |.  85C0          TEST    EAX, EAX
    372. 00518748  |.  74 05         JE      SHORT Magic_Ph.0051874F
    373. 0051874A  |.  83E8 04       SUB     EAX, 4
    374. 0051874D  |.  8B00          MOV     EAX, DWORD PTR [EAX]             ;  //用户名长度
    375. 0051874F  |>  8BD0          MOV     EDX, EAX                         ;  //EDX=EAX=用户名长度
    376. 00518751  |.  85D2          TEST    EDX, EDX
    377. 00518753  |.  7E 35         JLE     SHORT Magic_Ph.0051878A
    378. 00518755  |.  B8 01000000   MOV     EAX, 1                           ;  //EAX=1
    379. 0051875A  |>  8B4D FC       /MOV     ECX, DWORD PTR [EBP-4]          ;  //小写用户名
    380. 0051875D  |.  48            |DEC     EAX
    381. 0051875E  |.  85C9          |TEST    ECX, ECX
    382. 00518760  |.  74 05         |JE      SHORT Magic_Ph.00518767
    383. 00518762  |.  3B41 FC       |CMP     EAX, DWORD PTR [ECX-4]          ;  //与用户名长度比较
    384. 00518765  |.  72 05         |JB      SHORT Magic_Ph.0051876C
    385. 00518767  |>  E8 98B9EEFF   |CALL    Magic_Ph.00404104
    386. 0051876C  |>  40            |INC     EAX
    387. 0051876D  |.  0FB64C01 FF   |MOVZX   ECX, BYTE PTR [ECX+EAX-1]       ;  //依次取用户名ASCII码
    388. 00518772  |.  6BF0 15       |IMUL    ESI, EAX, 15                    ;  //ESI=EAX*15
    389. 00518775  |.  81C6 8D020000 |ADD     ESI, 28D                        ;  //ESI=ESI+28D
    390. 0051877B  |.  0FAFCE        |IMUL    ECX, ESI                        ;  //ECX=ECX*ESI
    391. 0051877E  |.  03D9          |ADD     EBX, ECX                        ;  //EBX=EBX+ECX
    392. 00518780  |.  81C3 C2040000 |ADD     EBX, 4C2                        ;  //EBX=EBX+4C2
    393. 00518786  |.  40            |INC     EAX                             ;  //EAX=EAX+1
    394. 00518787  |.  4A            |DEC     EDX                             ;  //EDX=EDX-1
    395. 00518788  |.^ 75 D0         \JNZ     SHORT Magic_Ph.0051875A         ;  //循环
    396. 0051878A  |>  81C3 48050000 ADD     EBX, 548                         ;  //EBX=EBX+548
    397. 00518790  |.  8D55 F0       LEA     EDX, DWORD PTR [EBP-10]
    398. 00518793  |.  8BC3          MOV     EAX, EBX
    399. 00518795  |.  E8 0A12EFFF   CALL    Magic_Ph.004099A4                ;  //将EBX转10进制
    400. 0051879A  |.  8B45 F0       MOV     EAX, DWORD PTR [EBP-10]          ;  //10进制字符串
    401. 0051879D  |.  8945 EC       MOV     DWORD PTR [EBP-14], EAX
    402. 005187A0  |.  8B75 EC       MOV     ESI, DWORD PTR [EBP-14]
    403. 005187A3  |.  85F6          TEST    ESI, ESI
    404. 005187A5  |.  74 05         JE      SHORT Magic_Ph.005187AC
    405. 005187A7  |.  83EE 04       SUB     ESI, 4
    406. 005187AA  |.  8B36          MOV     ESI, DWORD PTR [ESI]
    407. 005187AC  |>  8B45 F8       MOV     EAX, DWORD PTR [EBP-8]
    408. 005187AF  |.  50            PUSH    EAX
    409. 005187B0  |.  8D55 E8       LEA     EDX, DWORD PTR [EBP-18]
    410. 005187B3  |.  8BC3          MOV     EAX, EBX
    411. 005187B5  |.  E8 EA11EFFF   CALL    Magic_Ph.004099A4
    412. 005187BA  |.  8B45 E8       MOV     EAX, DWORD PTR [EBP-18]          ; |
    413. 005187BD  |.  8BD6          MOV     EDX, ESI                         ; |
    414. 005187BF  |.  83EA 03       SUB     EDX, 3                           ; |
    415. 005187C2  |.  B9 04000000   MOV     ECX, 4                           ; |
    416. 005187C7  |.  E8 58CEEEFF   CALL    Magic_Ph.00405624                ; \//取10进制字符串3-6位
    417. 005187CC  |.  33DB          XOR     EBX, EBX
    418. 005187CE  |.  8B45 FC       MOV     EAX, DWORD PTR [EBP-4]
    419. 005187D1  |.  85C0          TEST    EAX, EAX
    420. 005187D3  |.  74 05         JE      SHORT Magic_Ph.005187DA
    421. 005187D5  |.  83E8 04       SUB     EAX, 4
    422. 005187D8  |.  8B00          MOV     EAX, DWORD PTR [EAX]
    423. 005187DA  |>  8BD0          MOV     EDX, EAX
    424. 005187DC  |.  85D2          TEST    EDX, EDX
    425. 005187DE  |.  7E 2F         JLE     SHORT Magic_Ph.0051880F
    426. 005187E0  |.  B8 01000000   MOV     EAX, 1
    427. 005187E5  |>  8B4D FC       /MOV     ECX, DWORD PTR [EBP-4]
    428. 005187E8  |.  48            |DEC     EAX
    429. 005187E9  |.  85C9          |TEST    ECX, ECX
    430. 005187EB  |.  74 05         |JE      SHORT Magic_Ph.005187F2
    431. 005187ED  |.  3B41 FC       |CMP     EAX, DWORD PTR [ECX-4]
    432. 005187F0  |.  72 05         |JB      SHORT Magic_Ph.005187F7
    433. 005187F2  |>  E8 0DB9EEFF   |CALL    Magic_Ph.00404104
    434. 005187F7  |>  40            |INC     EAX
    435. 005187F8  |.  0FB64C01 FF   |MOVZX   ECX, BYTE PTR [ECX+EAX-1]       ;  //依次取用户名ASCII码
    436. 005187FD  |.  6BF0 6B       |IMUL    ESI, EAX, 6B                    ;  //ESI=EAX*6B
    437. 00518800  |.  83C6 0C       |ADD     ESI, 0C                         ;  //ESI=ESI+0C
    438. 00518803  |.  0FAFCE        |IMUL    ECX, ESI                        ;  //ECX=ECX*ESI
    439. 00518806  |.  03D9          |ADD     EBX, ECX                        ;  //EBX=EBX+ECX
    440. 00518808  |.  83C3 75       |ADD     EBX, 75                         ;  //EBX=EBX+75
    441. 0051880B  |.  40            |INC     EAX
    442. 0051880C  |.  4A            |DEC     EDX
    443. 0051880D  |.^ 75 D6         \JNZ     SHORT Magic_Ph.005187E5         ;  //循环
    444. 0051880F  |>  81C3 E3090000 ADD     EBX, 9E3                         ;  //EBX=EBX+9E3
    445. 00518815  |.  8D55 E4       LEA     EDX, DWORD PTR [EBP-1C]
    446. 00518818  |.  8BC3          MOV     EAX, EBX
    447. 0051881A  |.  E8 8511EFFF   CALL    Magic_Ph.004099A4                ;  //将EBX转10进制
    448. 0051881F  |.  8B45 E4       MOV     EAX, DWORD PTR [EBP-1C]          ;  //10进制字符串
    449. 00518822  |.  8945 EC       MOV     DWORD PTR [EBP-14], EAX
    450. 00518825  |.  8B75 EC       MOV     ESI, DWORD PTR [EBP-14]
    451. 00518828  |.  85F6          TEST    ESI, ESI
    452. 0051882A  |.  74 05         JE      SHORT Magic_Ph.00518831
    453. 0051882C  |.  83EE 04       SUB     ESI, 4
    454. 0051882F  |.  8B36          MOV     ESI, DWORD PTR [ESI]
    455. 00518831  |>  8B45 F8       MOV     EAX, DWORD PTR [EBP-8]
    456. 00518834  |.  FF30          PUSH    DWORD PTR [EAX]
    457. 00518836  |.  68 FC895100   PUSH    Magic_Ph.005189FC
    458. 0051883B  |.  8D45 E0       LEA     EAX, DWORD PTR [EBP-20]
    459. 0051883E  |.  50            PUSH    EAX
    460. 0051883F  |.  8D55 DC       LEA     EDX, DWORD PTR [EBP-24]
    461. 00518842  |.  8BC3          MOV     EAX, EBX
    462. 00518844  |.  E8 5B11EFFF   CALL    Magic_Ph.004099A4
    463. 00518849  |.  8B45 DC       MOV     EAX, DWORD PTR [EBP-24]          ; |
    464. 0051884C  |.  8BD6          MOV     EDX, ESI                         ; |
    465. 0051884E  |.  83EA 03       SUB     EDX, 3                           ; |
    466. 00518851  |.  B9 04000000   MOV     ECX, 4                           ; |
    467. 00518856  |.  E8 C9CDEEFF   CALL    Magic_Ph.00405624                ; \//取10进制字符串3-6位
    468. 0051885B  |.  FF75 E0       PUSH    DWORD PTR [EBP-20]
    469. 0051885E  |.  8B45 F8       MOV     EAX, DWORD PTR [EBP-8]
    470. 00518861  |.  BA 03000000   MOV     EDX, 3
    471. 00518866  |.  E8 19CCEEFF   CALL    Magic_Ph.00405484
    472. 0051886B  |.  33DB          XOR     EBX, EBX
    473. 0051886D  |.  8B45 FC       MOV     EAX, DWORD PTR [EBP-4]
    474. 00518870  |.  85C0          TEST    EAX, EAX
    475. 00518872  |.  74 05         JE      SHORT Magic_Ph.00518879
    476. 00518874  |.  83E8 04       SUB     EAX, 4
    477. 00518877  |.  8B00          MOV     EAX, DWORD PTR [EAX]
    478. 00518879  |>  8BD0          MOV     EDX, EAX
    479. 0051887B  |.  85D2          TEST    EDX, EDX
    480. 0051887D  |.  7E 38         JLE     SHORT Magic_Ph.005188B7
    481. 0051887F  |.  B8 01000000   MOV     EAX, 1
    482. 00518884  |>  8B4D FC       /MOV     ECX, DWORD PTR [EBP-4]
    483. 00518887  |.  48            |DEC     EAX
    484. 00518888  |.  85C9          |TEST    ECX, ECX
    485. 0051888A  |.  74 05         |JE      SHORT Magic_Ph.00518891
    486. 0051888C  |.  3B41 FC       |CMP     EAX, DWORD PTR [ECX-4]
    487. 0051888F  |.  72 05         |JB      SHORT Magic_Ph.00518896
    488. 00518891  |>  E8 6EB8EEFF   |CALL    Magic_Ph.00404104
    489. 00518896  |>  40            |INC     EAX
    490. 00518897  |.  0FB64C01 FF   |MOVZX   ECX, BYTE PTR [ECX+EAX-1]       ;  //依次取用户名ASCII码
    491. 0051889C  |.  8BF0          |MOV     ESI, EAX                        ;  //ESI=EAX
    492. 0051889E  |.  03F6          |ADD     ESI, ESI                        ;  //ESI=ESI+ESI
    493. 005188A0  |.  03F6          |ADD     ESI, ESI                        ;  //ESI=ESI+ESI
    494. 005188A2  |.  81C6 9F000000 |ADD     ESI, 9F                         ;  //ESI=ESI+9F
    495. 005188A8  |.  0FAFCE        |IMUL    ECX, ESI                        ;  //ECX=ECX*ESI
    496. 005188AB  |.  03D9          |ADD     EBX, ECX                        ;  //EBX=EBX+ECX
    497. 005188AD  |.  81C3 12010000 |ADD     EBX, 112                        ;  //EBX=EBX+112
    498. 005188B3  |.  40            |INC     EAX
    499. 005188B4  |.  4A            |DEC     EDX
    500. 005188B5  |.^ 75 CD         \JNZ     SHORT Magic_Ph.00518884         ;  //循环
    501. 005188B7  |>  81C3 02150000 ADD     EBX, 1502                        ;  //EBX=EBX+1502
    502. 005188BD  |.  8D55 D8       LEA     EDX, DWORD PTR [EBP-28]
    503. 005188C0  |.  8BC3          MOV     EAX, EBX
    504. 005188C2  |.  E8 DD10EFFF   CALL    Magic_Ph.004099A4                ;  //将EBX转10进制
    505. 005188C7  |.  8B45 D8       MOV     EAX, DWORD PTR [EBP-28]          ;  //10进制字符串
    506. 005188CA  |.  8945 EC       MOV     DWORD PTR [EBP-14], EAX
    507. 005188CD  |.  8B75 EC       MOV     ESI, DWORD PTR [EBP-14]
    508. 005188D0  |.  85F6          TEST    ESI, ESI
    509. 005188D2  |.  74 05         JE      SHORT Magic_Ph.005188D9
    510. 005188D4  |.  83EE 04       SUB     ESI, 4
    511. 005188D7  |.  8B36          MOV     ESI, DWORD PTR [ESI]
    512. 005188D9  |>  8B45 F8       MOV     EAX, DWORD PTR [EBP-8]
    513. 005188DC  |.  FF30          PUSH    DWORD PTR [EAX]
    514. 005188DE  |.  68 FC895100   PUSH    Magic_Ph.005189FC
    515. 005188E3  |.  8D45 D4       LEA     EAX, DWORD PTR [EBP-2C]
    516. 005188E6  |.  50            PUSH    EAX
    517. 005188E7  |.  8D55 D0       LEA     EDX, DWORD PTR [EBP-30]
    518. 005188EA  |.  8BC3          MOV     EAX, EBX
    519. 005188EC  |.  E8 B310EFFF   CALL    Magic_Ph.004099A4
    520. 005188F1  |.  8B45 D0       MOV     EAX, DWORD PTR [EBP-30]          ; |
    521. 005188F4  |.  8BD6          MOV     EDX, ESI                         ; |
    522. 005188F6  |.  83EA 03       SUB     EDX, 3                           ; |
    523. 005188F9  |.  B9 04000000   MOV     ECX, 4                           ; |
    524. 005188FE  |.  E8 21CDEEFF   CALL    Magic_Ph.00405624                ; \//取10进制字符串3-6位
    525. 00518903  |.  FF75 D4       PUSH    DWORD PTR [EBP-2C]
    526. 00518906  |.  8B45 F8       MOV     EAX, DWORD PTR [EBP-8]
    527. 00518909  |.  BA 03000000   MOV     EDX, 3
    528. 0051890E  |.  E8 71CBEEFF   CALL    Magic_Ph.00405484
    529. 00518913  |.  33DB          XOR     EBX, EBX
    530. 00518915  |.  8B45 FC       MOV     EAX, DWORD PTR [EBP-4]
    531. 00518918  |.  85C0          TEST    EAX, EAX
    532. 0051891A  |.  74 05         JE      SHORT Magic_Ph.00518921
    533. 0051891C  |.  83E8 04       SUB     EAX, 4
    534. 0051891F  |.  8B00          MOV     EAX, DWORD PTR [EAX]
    535. 00518921  |>  8BD0          MOV     EDX, EAX
    536. 00518923  |.  85D2          TEST    EDX, EDX
    537. 00518925  |.  7E 32         JLE     SHORT Magic_Ph.00518959
    538. 00518927  |.  B8 01000000   MOV     EAX, 1
    539. 0051892C  |>  8B4D FC       /MOV     ECX, DWORD PTR [EBP-4]
    540. 0051892F  |.  48            |DEC     EAX
    541. 00518930  |.  85C9          |TEST    ECX, ECX
    542. 00518932  |.  74 05         |JE      SHORT Magic_Ph.00518939
    543. 00518934  |.  3B41 FC       |CMP     EAX, DWORD PTR [ECX-4]
    544. 00518937  |.  72 05         |JB      SHORT Magic_Ph.0051893E
    545. 00518939  |>  E8 C6B7EEFF   |CALL    Magic_Ph.00404104
    546. 0051893E  |>  40            |INC     EAX
    547. 0051893F  |.  0FB64C01 FF   |MOVZX   ECX, BYTE PTR [ECX+EAX-1]       ;  //依次取用户名ASCII码
    548. 00518944  |.  6BF0 5F       |IMUL    ESI, EAX, 5F                    ;  //ESI=EAX*5F
    549. 00518947  |.  83C6 6F       |ADD     ESI, 6F                         ;  //ESI=ESI+6F
    550. 0051894A  |.  0FAFCE        |IMUL    ECX, ESI                        ;  //ECX=ECX*ESI
    551. 0051894D  |.  03D9          |ADD     EBX, ECX                        ;  //EBX=EBX+ECX
    552. 0051894F  |.  81C3 6D180000 |ADD     EBX, 186D                       ;  //EBX=EBX+186D
    553. 00518955  |.  40            |INC     EAX
    554. 00518956  |.  4A            |DEC     EDX
    555. 00518957  |.^ 75 D3         \JNZ     SHORT Magic_Ph.0051892C         ;  //循环
    556. 00518959  |>  81C3 57040000 ADD     EBX, 457                         ;  //EBX=EBX+457
    557. 0051895F  |.  8D55 CC       LEA     EDX, DWORD PTR [EBP-34]
    558. 00518962  |.  8BC3          MOV     EAX, EBX
    559. 00518964  |.  E8 3B10EFFF   CALL    Magic_Ph.004099A4                ;  //将EBX转10进制
    560. 00518969  |.  8B45 CC       MOV     EAX, DWORD PTR [EBP-34]          ;  //10进制字符串
    561. 0051896C  |.  8945 EC       MOV     DWORD PTR [EBP-14], EAX
    562. 0051896F  |.  8B75 EC       MOV     ESI, DWORD PTR [EBP-14]
    563. 00518972  |.  85F6          TEST    ESI, ESI
    564. 00518974  |.  74 05         JE      SHORT Magic_Ph.0051897B
    565. 00518976  |.  83EE 04       SUB     ESI, 4
    566. 00518979  |.  8B36          MOV     ESI, DWORD PTR [ESI]
    567. 0051897B  |>  8B45 F8       MOV     EAX, DWORD PTR [EBP-8]
    568. 0051897E  |.  FF30          PUSH    DWORD PTR [EAX]
    569. 00518980  |.  68 FC895100   PUSH    Magic_Ph.005189FC
    570. 00518985  |.  8D45 C8       LEA     EAX, DWORD PTR [EBP-38]
    571. 00518988  |.  50            PUSH    EAX
    572. 00518989  |.  8D55 C4       LEA     EDX, DWORD PTR [EBP-3C]
    573. 0051898C  |.  8BC3          MOV     EAX, EBX
    574. 0051898E  |.  E8 1110EFFF   CALL    Magic_Ph.004099A4
    575. 00518993  |.  8B45 C4       MOV     EAX, DWORD PTR [EBP-3C]          ; |
    576. 00518996  |.  8BD6          MOV     EDX, ESI                         ; |
    577. 00518998  |.  83EA 03       SUB     EDX, 3                           ; |
    578. 0051899B  |.  B9 04000000   MOV     ECX, 4                           ; |
    579. 005189A0  |.  E8 7FCCEEFF   CALL    Magic_Ph.00405624                ; \//取10进制字符串3-6位
    580. 005189A5  |.  FF75 C8       PUSH    DWORD PTR [EBP-38]
    581. 005189A8  |.  8B45 F8       MOV     EAX, DWORD PTR [EBP-8]
    582. 005189AB  |.  BA 03000000   MOV     EDX, 3
    583. 005189B0  |.  E8 CFCAEEFF   CALL    Magic_Ph.00405484
    584. 005189B5  |>  33C0          XOR     EAX, EAX
    585. 005189B7  |.  5A            POP     EDX
    586. 005189B8  |.  59            POP     ECX
    587. 005189B9  |.  59            POP     ECX
    588. 005189BA  |.  64:8910       MOV     DWORD PTR FS:[EAX], EDX
    589. 005189BD  |.  68 EC895100   PUSH    Magic_Ph.005189EC
    590. 005189C2  |>  8D45 C4       LEA     EAX, DWORD PTR [EBP-3C]
    591. 005189C5  |.  BA 0A000000   MOV     EDX, 0A
    592. 005189CA  |.  E8 55C7EEFF   CALL    Magic_Ph.00405124
    593. 005189CF  |.  8D45 F0       LEA     EAX, DWORD PTR [EBP-10]
    594. 005189D2  |.  BA 02000000   MOV     EDX, 2
    595. 005189D7  |.  E8 48C7EEFF   CALL    Magic_Ph.00405124
    596. 005189DC  |.  8D45 FC       LEA     EAX, DWORD PTR [EBP-4]
    597. 005189DF  |.  E8 1CC7EEFF   CALL    Magic_Ph.00405100
    598. 005189E4  \.  C3            RETN
    599. 005189E5   .^ E9 1EC0EEFF   JMP     Magic_Ph.00404A08
    600. 005189EA   .^ EB D6         JMP     SHORT Magic_Ph.005189C2
    601. 005189EC   .  5E            POP     ESI
    602. 005189ED   .  5B            POP     EBX
    603. 005189EE   .  8BE5          MOV     ESP, EBP
    604. 005189F0   .  5D            POP     EBP
    605. 005189F1   .  C3            RETN
    复制代码
    **************************************************************  
    【破解总结】
    --------------------------------------------------------------
    【算法总结】
    将用户名转小写,分别作4次运算,取运算值的3-6位,用"-"相连即是注册码
    --------------------------------------------------------------
    【算法注册机
    易语言代码〗
    .版本 2

    .子程序 _按钮1_被单击
    .局部变量 小写用户名, 文本型
    .局部变量 EAX, 整数型
    .局部变量 ECX, 整数型
    .局部变量 ESI, 整数型
    .局部变量 EBX, 整数型
    .局部变量 字符串1, 文本型
    .局部变量 字符串2, 文本型
    .局部变量 字符串3, 文本型
    .局部变量 字符串4, 文本型

    .判断开始 (编辑框1.内容 = “”)
        编辑框2.内容 = “输入有误,请重新输入。”
    .默认

        小写用户名 = 到小写 (编辑框1.内容)
        EBX = 0
        .计次循环首 (取文本长度 (小写用户名), EAX)
            ECX = 取代码 (小写用户名, EAX)
            ESI = EAX × 十六进制到十进制 (“15”)
            ESI = ESI + 十六进制到十进制 (“28D”)
            ECX = ECX × ESI
            EBX = EBX + ECX
            EBX = EBX + 十六进制到十进制 (“4C2”)
        .计次循环尾 ()
        EBX = EBX + 十六进制到十进制 (“548”)
        字符串1 = 取文本中间 (到文本 (EBX), 3, 4)
        EBX = 0
        .计次循环首 (取文本长度 (小写用户名), EAX)
            ECX = 取代码 (小写用户名, EAX)
            ESI = EAX × 十六进制到十进制 (“6B”)
            ESI = ESI + 十六进制到十进制 (“0C”)
            ECX = ECX × ESI
            EBX = EBX + ECX
            EBX = EBX + 十六进制到十进制 (“75”)
        .计次循环尾 ()
        EBX = EBX + 十六进制到十进制 (“9E3”)
        字符串2 = 取文本中间 (到文本 (EBX), 3, 4)
        EBX = 0
        .计次循环首 (取文本长度 (小写用户名), EAX)
            ECX = 取代码 (小写用户名, EAX)
            ESI = EAX
            ESI = ESI + ESI
            ESI = ESI + ESI
            ESI = ESI + 十六进制到十进制 (“9F”)
            ECX = ECX × ESI
            EBX = EBX + ECX
            EBX = EBX + 十六进制到十进制 (“112”)
        .计次循环尾 ()
        EBX = EBX + 十六进制到十进制 (“1502”)
        字符串3 = 取文本中间 (到文本 (EBX), 3, 4)
        EBX = 0
        .计次循环首 (取文本长度 (小写用户名), EAX)
            ECX = 取代码 (小写用户名, EAX)
            ESI = EAX × 十六进制到十进制 (“5F”)
            ESI = ESI + 十六进制到十进制 (“6F”)
            ECX = ECX × ESI
            EBX = EBX + ECX
            EBX = EBX + 十六进制到十进制 (“186D”)
        .计次循环尾 ()
        EBX = EBX + 十六进制到十进制 (“457”)
        字符串4 = 取文本中间 (到文本 (EBX), 3, 4)
        编辑框2.内容 = 字符串1 + “-” + 字符串2 + “-” + 字符串3 + “-” + 字符串4

    .判断结束


    .子程序 十六进制到十进制, 整数型
    .参数 十六进制文本, 文本型
    .局部变量 文本, 文本型
    .局部变量 最终值, 整数型
    .局部变量 i, 整数型, , , 中间循环变量
    .局部变量 临时数值, 文本型, , , 每一位上的值

    文本 = 到小写 (十六进制文本)
    .变量循环首 (1, 取文本长度 (文本), 1, i)
        临时数值 = 取文本中间 (文本, i, 1)
        .如果 (取代码 (临时数值, ) ≥ 取代码 (“a”, ) 且 取代码 (临时数值, ) ≤ 取代码 (“f”, ))
            最终值 = 最终值 + (取代码 (临时数值, ) - 取代码 (“a”, ) + 10) × 求次方 (16, 取文本长度 (文本) - i)
        .否则
            最终值 = 最终值 + 到数值 (临时数值) × 求次方 (16, 取文本长度 (文本) - i)
        .如果结束

    .变量循环尾 ()
    返回 (最终值)

    --------------------------------------------------------------
    【内存注册机】
    中断地址 00524844
    中断次数 1
    第一字节 E8
    指令长度 5

    内存方式-寄存器-EDX
    --------------------------------------------------------------
    【注册信息】
    保存在[HKEY_CURRENT_USER\Software\East Imperial Soft\Magic Photo Recovery 2.0\Settings]
    --------------------------------------------------------------
    感谢飘云老大、猫老大、Nisy老大以及很多前辈们的学习教程以及徐超等所有帮助过我的论坛兄弟姐妹们!谢谢
    --------------------------------------------------------------
    【版权声明】破文是学习的手记,兴趣是成功的源泉;本破文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!

         _/_/_/   _/   _/   _/_/_/
        _/   _/  _/  _/    _/      
       _/_/_/    _/_/     _/_/_/_/
      _/         _/      _/    _/
    _/         _/      _/_/_/ _/    tianxj
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2008-10-16 20:39:11 | 显示全部楼层
    这个软件俺弄过,分析的不错,支持下
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2008-10-16 20:51:40 | 显示全部楼层
    【算法注册机】
    〖易语言代码〗
    .版本 2

    .子程序 _按钮1_被单击
    .局部变量 小写用户名, 文本型
    .局部变量 EAX, 整数型
    .局部变量 ECX, 整数型
    .局部变量 ESI, 整数型
    .局部变量 EBX, 整数型
    .局部变量 字符串1, 文本型
    .局部变量 字符串2, 文本型
    .局部变量 字符串3, 文本型
    .局部变量 字符串4, 文本型

    .判断开始 (编辑框1.内容 = “”)
        编辑框2.内容 = “输入有误,请重新输入。”
    .默认


    无语,居然有这样的代码。/:L
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2008-10-16 21:27:54 | 显示全部楼层
    路过,学习一下!/:014 /:014
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2008-10-17 17:44:38 | 显示全部楼层
    老大怎么什么语言都会啊
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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