飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 5021|回复: 2

[原创] PrintBar 1.1算法分析

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

    [LV.1]初来乍到

    发表于 2008-10-15 13:08:59 | 显示全部楼层 |阅读模式
    【破文标题】PrintBar 1.1算法分析
    【破文作者】tianxj
    【作者邮箱】[email protected]
    【作者主页】WwW.ChiNaPYG.CoM
    破解工具】PEiD,OD
    【破解平台】Windows XP
    【软件名称】PrintBar 1.1
    【软件大小】868KB
    【软件类别】国外软件/打印工具
    【软件语言】英文
    【更新时间】2007-4-3
    【原版下载】华军软件园
    【保护方式】注册码
    【软件简介】
    PrintBar是一款条形码标签设计和打印工具。主要功能包括:
    方便友好的用户界面;
    支持多种条形码类型:EAN, UPC, Code 128, ISBN, Code 39, Interleaved 2 of 5, Codabar, MSI;
    支持将多个不同类型的条形码在同一页中打印。
    【破解声明】我是一只小菜鸟,偶得一点心得,愿与大家分享:)
    --------------------------------------------------------------
    【破解内容】
    --------------------------------------------------------------
    **************************************************************
    一、运行程序,进行注册,输入错误的注册信息进行检测,有提示信息
    "Wrong registration number."
    **************************************************************
    二、用PEiD对PrintBar.exe查壳,为 Borland C++ 1999
    **************************************************************
    三、用DeDe查找按钮事件,运行OD,打开PrintBar.exe,
    ==============================================================
    1. 0040C3B8  /.  55            PUSH    EBP
    2. 0040C3B9  |.  8BEC          MOV     EBP, ESP
    3. 0040C3BB  |.  83C4 90       ADD     ESP, -70
    4. 0040C3BE  |.  53            PUSH    EBX
    5. 0040C3BF  |.  8955 94       MOV     DWORD PTR [EBP-6C], EDX
    6. 0040C3C2  |.  8945 98       MOV     DWORD PTR [EBP-68], EAX
    7. 0040C3C5  |.  B8 F80D4F00   MOV     EAX, PrintBar.004F0DF8
    8. 0040C3CA  |.  E8 F9060A00   CALL    PrintBar.004ACAC8
    9. 0040C3CF  |.  66:C745 AC 08>MOV     WORD PTR [EBP-54], 8
    10. 0040C3D5  |.  8D45 FC       LEA     EAX, DWORD PTR [EBP-4]
    11. 0040C3D8  |.  E8 4355FFFF   CALL    PrintBar.00401920
    12. 0040C3DD  |.  8BD0          MOV     EDX, EAX
    13. 0040C3DF  |.  FF45 B8       INC     DWORD PTR [EBP-48]
    14. 0040C3E2  |.  8B4D 98       MOV     ECX, DWORD PTR [EBP-68]
    15. 0040C3E5  |.  8B81 E4020000 MOV     EAX, DWORD PTR [ECX+2E4]
    16. 0040C3EB  |.  E8 C0C60600   CALL    PrintBar.00478AB0
    17. 0040C3F0  |.  8D45 FC       LEA     EAX, DWORD PTR [EBP-4]
    18. 0040C3F3  |.  E8 1871FFFF   CALL    PrintBar.00403510
    19. 0040C3F8  |.  50            PUSH    EAX
    20. 0040C3F9  |.  8D45 F8       LEA     EAX, DWORD PTR [EBP-8]
    21. 0040C3FC  |.  E8 1F55FFFF   CALL    PrintBar.00401920
    22. 0040C401  |.  8BD0          MOV     EDX, EAX
    23. 0040C403  |.  FF45 B8       INC     DWORD PTR [EBP-48]
    24. 0040C406  |.  8B4D 98       MOV     ECX, DWORD PTR [EBP-68]
    25. 0040C409  |.  8B81 E0020000 MOV     EAX, DWORD PTR [ECX+2E0]
    26. 0040C40F  |.  E8 9CC60600   CALL    PrintBar.00478AB0
    27. 0040C414  |.  8D45 F8       LEA     EAX, DWORD PTR [EBP-8]
    28. 0040C417  |.  E8 F470FFFF   CALL    PrintBar.00403510                ;  //取用户名
    29. 0040C41C  |.  50            PUSH    EAX                              ; |Arg2
    30. 0040C41D  |.  8B15 A0725000 MOV     EDX, DWORD PTR [5072A0]          ; |PrintBar._MainForm
    31. 0040C423  |.  FF32          PUSH    DWORD PTR [EDX]                  ; |Arg1
    32. 0040C425  |.  E8 5269FFFF   CALL    PrintBar.00402D7C                ; \//关键CALL
    33. 0040C42A  |.  83C4 0C       ADD     ESP, 0C
    34. 0040C42D  |.  50            PUSH    EAX
    35. 0040C42E  |.  FF4D B8       DEC     DWORD PTR [EBP-48]
    36. 0040C431  |.  8D45 F8       LEA     EAX, DWORD PTR [EBP-8]
    37. 0040C434  |.  BA 02000000   MOV     EDX, 2
    38. 0040C439  |.  E8 52EA0A00   CALL    PrintBar.004BAE90
    39. 0040C43E  |.  FF4D B8       DEC     DWORD PTR [EBP-48]               ; |
    40. 0040C441  |.  8D45 FC       LEA     EAX, DWORD PTR [EBP-4]           ; |
    41. 0040C444  |.  BA 02000000   MOV     EDX, 2                           ; |
    42. 0040C449  |.  E8 42EA0A00   CALL    PrintBar.004BAE90                ; \PrintBar.004BAE90
    43. 0040C44E  |.  59            POP     ECX
    44. 0040C44F  |.  84C9          TEST    CL, CL
    45. 0040C451  |.  0F84 55020000 JE      PrintBar.0040C6AC                ;  //关键跳转
    46. 0040C457  |.  66:C745 AC 14>MOV     WORD PTR [EBP-54], 14
    47. 0040C45D  |.  8D45 F4       LEA     EAX, DWORD PTR [EBP-C]
    48. 0040C460  |.  E8 BB54FFFF   CALL    PrintBar.00401920
    49. 0040C465  |.  8BD0          MOV     EDX, EAX
    50. 0040C467  |.  FF45 B8       INC     DWORD PTR [EBP-48]
    51. 0040C46A  |.  8B4D 98       MOV     ECX, DWORD PTR [EBP-68]
    52. 0040C46D  |.  8B81 E0020000 MOV     EAX, DWORD PTR [ECX+2E0]
    53. 0040C473  |.  E8 38C60600   CALL    PrintBar.00478AB0
    54. 0040C478  |.  8D55 F4       LEA     EDX, DWORD PTR [EBP-C]
    55. 0040C47B  |.  52            PUSH    EDX
    56. 0040C47C  |.  8D45 F0       LEA     EAX, DWORD PTR [EBP-10]
    57. 0040C47F  |.  E8 9C54FFFF   CALL    PrintBar.00401920
    58. 0040C484  |.  8BC8          MOV     ECX, EAX
    59. 0040C486  |.  FF45 B8       INC     DWORD PTR [EBP-48]
    60. 0040C489  |.  B8 C40C4F00   MOV     EAX, PrintBar.004F0CC4           ;  ASCII "PrintBar - "
    61. 0040C48E  |.  5A            POP     EDX
    62. 0040C48F  |.  E8 ECEC0A00   CALL    PrintBar.004BB180
    63. 0040C494  |.  8D55 F0       LEA     EDX, DWORD PTR [EBP-10]
    64. 0040C497  |.  8B12          MOV     EDX, DWORD PTR [EDX]
    65. 0040C499  |.  A1 A0725000   MOV     EAX, DWORD PTR [5072A0]
    66. 0040C49E  |.  8B00          MOV     EAX, DWORD PTR [EAX]
    67. 0040C4A0  |.  E8 3BC60600   CALL    PrintBar.00478AE0
    68. 0040C4A5  |.  FF4D B8       DEC     DWORD PTR [EBP-48]
    69. 0040C4A8  |.  8D45 F0       LEA     EAX, DWORD PTR [EBP-10]
    70. 0040C4AB  |.  BA 02000000   MOV     EDX, 2
    71. 0040C4B0  |.  E8 DBE90A00   CALL    PrintBar.004BAE90
    72. 0040C4B5  |.  FF4D B8       DEC     DWORD PTR [EBP-48]
    73. 0040C4B8  |.  8D45 F4       LEA     EAX, DWORD PTR [EBP-C]
    74. 0040C4BB  |.  BA 02000000   MOV     EDX, 2
    75. 0040C4C0  |.  E8 CBE90A00   CALL    PrintBar.004BAE90
    76. 0040C4C5  |.  66:C745 AC 2C>MOV     WORD PTR [EBP-54], 2C
    77. 0040C4CB  |.  8D45 E8       LEA     EAX, DWORD PTR [EBP-18]
    78. 0040C4CE  |.  E8 4D54FFFF   CALL    PrintBar.00401920
    79. 0040C4D3  |.  50            PUSH    EAX
    80. 0040C4D4  |.  FF45 B8       INC     DWORD PTR [EBP-48]
    81. 0040C4D7  |.  BA D00C4F00   MOV     EDX, PrintBar.004F0CD0           ;  ASCII "printbar.ini"
    82. 0040C4DC  |.  8D45 EC       LEA     EAX, DWORD PTR [EBP-14]
    83. 0040C4DF  |.  E8 98E80A00   CALL    PrintBar.004BAD7C
    84. 0040C4E4  |.  FF45 B8       INC     DWORD PTR [EBP-48]
    85. 0040C4E7  |.  8D55 EC       LEA     EDX, DWORD PTR [EBP-14]
    86. 0040C4EA  |.  8B0D A0725000 MOV     ECX, DWORD PTR [5072A0]          ;  PrintBar._MainForm
    87. 0040C4F0  |.  8B01          MOV     EAX, DWORD PTR [ECX]
    88. 0040C4F2  |.  05 B0060000   ADD     EAX, 6B0
    89. 0040C4F7  |.  59            POP     ECX
    90. 0040C4F8  |.  E8 EBE90A00   CALL    PrintBar.004BAEE8
    91. 0040C4FD  |.  8D4D E8       LEA     ECX, DWORD PTR [EBP-18]
    92. 0040C500  |.  8B09          MOV     ECX, DWORD PTR [ECX]
    93. 0040C502  |.  B2 01         MOV     DL, 1
    94. 0040C504  |.  A1 5C094500   MOV     EAX, DWORD PTR [45095C]
    95. 0040C509  |.  E8 0A7BFFFF   CALL    PrintBar.00404018
    96. 0040C50E  |.  8945 90       MOV     DWORD PTR [EBP-70], EAX
    97. 0040C511  |.  FF4D B8       DEC     DWORD PTR [EBP-48]
    98. 0040C514  |.  8D45 E8       LEA     EAX, DWORD PTR [EBP-18]
    99. 0040C517  |.  BA 02000000   MOV     EDX, 2
    100. 0040C51C  |.  E8 6FE90A00   CALL    PrintBar.004BAE90
    101. 0040C521  |.  FF4D B8       DEC     DWORD PTR [EBP-48]
    102. 0040C524  |.  8D45 EC       LEA     EAX, DWORD PTR [EBP-14]
    103. 0040C527  |.  BA 02000000   MOV     EDX, 2
    104. 0040C52C  |.  E8 5FE90A00   CALL    PrintBar.004BAE90
    105. 0040C531  |.  66:C745 AC 20>MOV     WORD PTR [EBP-54], 20
    106. 0040C537  |.  8D45 DC       LEA     EAX, DWORD PTR [EBP-24]
    107. 0040C53A  |.  E8 E153FFFF   CALL    PrintBar.00401920
    108. 0040C53F  |.  8BD0          MOV     EDX, EAX
    109. 0040C541  |.  FF45 B8       INC     DWORD PTR [EBP-48]
    110. 0040C544  |.  8B4D 98       MOV     ECX, DWORD PTR [EBP-68]
    111. 0040C547  |.  8B81 E0020000 MOV     EAX, DWORD PTR [ECX+2E0]
    112. 0040C54D  |.  E8 5EC50600   CALL    PrintBar.00478AB0
    113. 0040C552  |.  8D55 DC       LEA     EDX, DWORD PTR [EBP-24]
    114. 0040C555  |.  FF32          PUSH    DWORD PTR [EDX]
    115. 0040C557  |.  BA E50C4F00   MOV     EDX, PrintBar.004F0CE5           ;  ASCII "RegName"
    116. 0040C55C  |.  8D45 E0       LEA     EAX, DWORD PTR [EBP-20]
    117. 0040C55F  |.  E8 18E80A00   CALL    PrintBar.004BAD7C
    118. 0040C564  |.  FF45 B8       INC     DWORD PTR [EBP-48]
    119. 0040C567  |.  FF30          PUSH    DWORD PTR [EAX]
    120. 0040C569  |.  66:C745 AC 38>MOV     WORD PTR [EBP-54], 38
    121. 0040C56F  |.  BA DD0C4F00   MOV     EDX, PrintBar.004F0CDD           ;  ASCII "general"
    122. 0040C574  |.  8D45 E4       LEA     EAX, DWORD PTR [EBP-1C]
    123. 0040C577  |.  E8 00E80A00   CALL    PrintBar.004BAD7C
    124. 0040C57C  |.  FF45 B8       INC     DWORD PTR [EBP-48]
    125. 0040C57F  |.  8B10          MOV     EDX, DWORD PTR [EAX]
    126. 0040C581  |.  8B45 90       MOV     EAX, DWORD PTR [EBP-70]
    127. 0040C584  |.  59            POP     ECX
    128. 0040C585  |.  8B18          MOV     EBX, DWORD PTR [EAX]
    129. 0040C587  |.  FF53 04       CALL    DWORD PTR [EBX+4]
    130. 0040C58A  |.  FF4D B8       DEC     DWORD PTR [EBP-48]
    131. 0040C58D  |.  8D45 DC       LEA     EAX, DWORD PTR [EBP-24]
    132. 0040C590  |.  BA 02000000   MOV     EDX, 2
    133. 0040C595  |.  E8 F6E80A00   CALL    PrintBar.004BAE90
    134. 0040C59A  |.  FF4D B8       DEC     DWORD PTR [EBP-48]
    135. 0040C59D  |.  8D45 E0       LEA     EAX, DWORD PTR [EBP-20]
    136. 0040C5A0  |.  BA 02000000   MOV     EDX, 2
    137. 0040C5A5  |.  E8 E6E80A00   CALL    PrintBar.004BAE90
    138. 0040C5AA  |.  FF4D B8       DEC     DWORD PTR [EBP-48]
    139. 0040C5AD  |.  8D45 E4       LEA     EAX, DWORD PTR [EBP-1C]
    140. 0040C5B0  |.  BA 02000000   MOV     EDX, 2
    141. 0040C5B5  |.  E8 D6E80A00   CALL    PrintBar.004BAE90
    142. 0040C5BA  |.  8D45 D0       LEA     EAX, DWORD PTR [EBP-30]
    143. 0040C5BD  |.  E8 5E53FFFF   CALL    PrintBar.00401920
    144. 0040C5C2  |.  8BD0          MOV     EDX, EAX
    145. 0040C5C4  |.  FF45 B8       INC     DWORD PTR [EBP-48]
    146. 0040C5C7  |.  8B4D 98       MOV     ECX, DWORD PTR [EBP-68]
    147. 0040C5CA  |.  8B81 E4020000 MOV     EAX, DWORD PTR [ECX+2E4]
    148. 0040C5D0  |.  E8 DBC40600   CALL    PrintBar.00478AB0
    149. 0040C5D5  |.  8D55 D0       LEA     EDX, DWORD PTR [EBP-30]
    150. 0040C5D8  |.  FF32          PUSH    DWORD PTR [EDX]
    151. 0040C5DA  |.  BA F50C4F00   MOV     EDX, PrintBar.004F0CF5           ;  ASCII "RegNum"
    152. 0040C5DF  |.  8D45 D4       LEA     EAX, DWORD PTR [EBP-2C]
    153. 0040C5E2  |.  E8 95E70A00   CALL    PrintBar.004BAD7C
    154. 0040C5E7  |.  FF45 B8       INC     DWORD PTR [EBP-48]
    155. 0040C5EA  |.  FF30          PUSH    DWORD PTR [EAX]
    156. 0040C5EC  |.  66:C745 AC 44>MOV     WORD PTR [EBP-54], 44
    157. 0040C5F2  |.  BA ED0C4F00   MOV     EDX, PrintBar.004F0CED           ;  ASCII "general"
    158. 0040C5F7  |.  8D45 D8       LEA     EAX, DWORD PTR [EBP-28]
    159. 0040C5FA  |.  E8 7DE70A00   CALL    PrintBar.004BAD7C
    160. 0040C5FF  |.  FF45 B8       INC     DWORD PTR [EBP-48]
    161. 0040C602  |.  8B10          MOV     EDX, DWORD PTR [EAX]
    162. 0040C604  |.  8B45 90       MOV     EAX, DWORD PTR [EBP-70]
    163. 0040C607  |.  59            POP     ECX
    164. 0040C608  |.  8B18          MOV     EBX, DWORD PTR [EAX]
    165. 0040C60A  |.  FF53 04       CALL    DWORD PTR [EBX+4]
    166. 0040C60D  |.  FF4D B8       DEC     DWORD PTR [EBP-48]
    167. 0040C610  |.  8D45 D0       LEA     EAX, DWORD PTR [EBP-30]
    168. 0040C613  |.  BA 02000000   MOV     EDX, 2
    169. 0040C618  |.  E8 73E80A00   CALL    PrintBar.004BAE90
    170. 0040C61D  |.  FF4D B8       DEC     DWORD PTR [EBP-48]
    171. 0040C620  |.  8D45 D4       LEA     EAX, DWORD PTR [EBP-2C]
    172. 0040C623  |.  BA 02000000   MOV     EDX, 2
    173. 0040C628  |.  E8 63E80A00   CALL    PrintBar.004BAE90
    174. 0040C62D  |.  FF4D B8       DEC     DWORD PTR [EBP-48]
    175. 0040C630  |.  8D45 D8       LEA     EAX, DWORD PTR [EBP-28]
    176. 0040C633  |.  BA 02000000   MOV     EDX, 2
    177. 0040C638  |.  E8 53E80A00   CALL    PrintBar.004BAE90
    178. 0040C63D  |.  8B4D 90       MOV     ECX, DWORD PTR [EBP-70]
    179. 0040C640  |.  894D C8       MOV     DWORD PTR [EBP-38], ECX
    180. 0040C643  |.  837D C8 00    CMP     DWORD PTR [EBP-38], 0
    181. 0040C647  |.  74 21         JE      SHORT PrintBar.0040C66A
    182. 0040C649  |.  8B45 C8       MOV     EAX, DWORD PTR [EBP-38]
    183. 0040C64C  |.  8B10          MOV     EDX, DWORD PTR [EAX]
    184. 0040C64E  |.  8955 CC       MOV     DWORD PTR [EBP-34], EDX
    185. 0040C651  |.  66:C745 AC 5C>MOV     WORD PTR [EBP-54], 5C
    186. 0040C657  |.  BA 03000000   MOV     EDX, 3
    187. 0040C65C  |.  8B45 C8       MOV     EAX, DWORD PTR [EBP-38]
    188. 0040C65F  |.  8B08          MOV     ECX, DWORD PTR [EAX]
    189. 0040C661  |.  FF51 FC       CALL    DWORD PTR [ECX-4]
    190. 0040C664  |.  66:C745 AC 50>MOV     WORD PTR [EBP-54], 50
    191. 0040C66A  |>  66:C745 AC 68>MOV     WORD PTR [EBP-54], 68
    192. 0040C670  |.  6A 57         PUSH    57                               ; /Arg1 = 00000057
    193. 0040C672  |.  E8 0165FFFF   CALL    PrintBar.00402B78                ; \PrintBar.00402B78
    194. 0040C677  |.  59            POP     ECX
    195. 0040C678  |.  8BD0          MOV     EDX, EAX
    196. 0040C67A  |.  8D45 C4       LEA     EAX, DWORD PTR [EBP-3C]
    197. 0040C67D  |.  E8 FAE60A00   CALL    PrintBar.004BAD7C
    198. 0040C682  |.  FF45 B8       INC     DWORD PTR [EBP-48]
    199. 0040C685  |.  8B00          MOV     EAX, DWORD PTR [EAX]
    200. 0040C687  |.  E8 94730600   CALL    PrintBar.00473A20
    201. 0040C68C  |.  FF4D B8       DEC     DWORD PTR [EBP-48]
    202. 0040C68F  |.  8D45 C4       LEA     EAX, DWORD PTR [EBP-3C]
    203. 0040C692  |.  BA 02000000   MOV     EDX, 2
    204. 0040C697  |.  E8 F4E70A00   CALL    PrintBar.004BAE90
    205. 0040C69C  |.  8B45 98       MOV     EAX, DWORD PTR [EBP-68]
    206. 0040C69F  |.  E8 08D70500   CALL    PrintBar.00469DAC
    207. 0040C6A4  |.  66:C745 AC 00>MOV     WORD PTR [EBP-54], 0
    208. 0040C6AA  |.  EB 32         JMP     SHORT PrintBar.0040C6DE
    209. 0040C6AC  |>  66:C745 AC 74>MOV     WORD PTR [EBP-54], 74
    210. 0040C6B2  |.  6A 58         PUSH    58                               ; /Arg1 = 00000058
    211. 0040C6B4  |.  E8 BF64FFFF   CALL    PrintBar.00402B78                ; \PrintBar.00402B78
    212. 0040C6B9  |.  59            POP     ECX
    213. 0040C6BA  |.  8BD0          MOV     EDX, EAX
    214. 0040C6BC  |.  8D45 C0       LEA     EAX, DWORD PTR [EBP-40]
    215. 0040C6BF  |.  E8 B8E60A00   CALL    PrintBar.004BAD7C
    216. 0040C6C4  |.  FF45 B8       INC     DWORD PTR [EBP-48]
    217. 0040C6C7  |.  8B00          MOV     EAX, DWORD PTR [EAX]
    218. 0040C6C9  |.  E8 52730600   CALL    PrintBar.00473A20
    219. 0040C6CE  |.  FF4D B8       DEC     DWORD PTR [EBP-48]
    220. 0040C6D1  |.  8D45 C0       LEA     EAX, DWORD PTR [EBP-40]
    221. 0040C6D4  |.  BA 02000000   MOV     EDX, 2
    222. 0040C6D9  |.  E8 B2E70A00   CALL    PrintBar.004BAE90
    223. 0040C6DE  |>  8B4D 9C       MOV     ECX, DWORD PTR [EBP-64]
    224. 0040C6E1  |.  64:890D 00000>MOV     DWORD PTR FS:[0], ECX
    225. 0040C6E8  |.  5B            POP     EBX
    226. 0040C6E9  |.  8BE5          MOV     ESP, EBP
    227. 0040C6EB  |.  5D            POP     EBP
    228. 0040C6EC  \.  C3            RETN
    229. ==============================================================
    230. 00402D7C  /$  55            PUSH    EBP
    231. 00402D7D  |.  8BEC          MOV     EBP, ESP
    232. 00402D7F  |.  83C4 8C       ADD     ESP, -74
    233. 00402D82  |.  8D45 A8       LEA     EAX, DWORD PTR [EBP-58]
    234. 00402D85  |.  50            PUSH    EAX                              ; /Arg1
    235. 00402D86  |.  E8 B9FF0000   CALL    PrintBar.00412D44                ; \//MD5初始化
    236. 00402D8B  |.  59            POP     ECX
    237. 00402D8C  |.  FF75 0C       PUSH    DWORD PTR [EBP+C]
    238. 00402D8F  |.  E8 109A0A00   CALL    PrintBar.004AC7A4
    239. 00402D94  |.  59            POP     ECX
    240. 00402D95  |.  50            PUSH    EAX                              ; /Arg3
    241. 00402D96  |.  FF75 0C       PUSH    DWORD PTR [EBP+C]                ; |Arg2
    242. 00402D99  |.  8D55 A8       LEA     EDX, DWORD PTR [EBP-58]          ; |
    243. 00402D9C  |.  52            PUSH    EDX                              ; |Arg1
    244. 00402D9D  |.  E8 EE0E0100   CALL    PrintBar.00413C90                ; \PrintBar.00413C90
    245. 00402DA2  |.  83C4 0C       ADD     ESP, 0C
    246. 00402DA5  |.  8D4D 98       LEA     ECX, DWORD PTR [EBP-68]
    247. 00402DA8  |.  51            PUSH    ECX                              ; /Arg2
    248. 00402DA9  |.  8D45 A8       LEA     EAX, DWORD PTR [EBP-58]          ; |
    249. 00402DAC  |.  50            PUSH    EAX                              ; |Arg1
    250. 00402DAD  |.  E8 B20F0100   CALL    PrintBar.00413D64                ; \//以上过程为标准MD5运算
    251. 00402DB2  |.  83C4 08       ADD     ESP, 8
    252. 00402DB5  |.  33D2          XOR     EDX, EDX
    253. 00402DB7  |.  8A55 9E       MOV     DL, BYTE PTR [EBP-62]
    254. 00402DBA  |.  52            PUSH    EDX                              ; /Arg7
    255. 00402DBB  |.  33C9          XOR     ECX, ECX                         ; |
    256. 00402DBD  |.  8A4D 9D       MOV     CL, BYTE PTR [EBP-63]            ; |
    257. 00402DC0  |.  51            PUSH    ECX                              ; |Arg6
    258. 00402DC1  |.  33C0          XOR     EAX, EAX                         ; |
    259. 00402DC3  |.  8A45 9B       MOV     AL, BYTE PTR [EBP-65]            ; |
    260. 00402DC6  |.  50            PUSH    EAX                              ; |Arg5
    261. 00402DC7  |.  33D2          XOR     EDX, EDX                         ; |
    262. 00402DC9  |.  8A55 9A       MOV     DL, BYTE PTR [EBP-66]            ; |
    263. 00402DCC  |.  52            PUSH    EDX                              ; |Arg4
    264. 00402DCD  |.  33C9          XOR     ECX, ECX                         ; |
    265. 00402DCF  |.  8A4D 9F       MOV     CL, BYTE PTR [EBP-61]            ; |
    266. 00402DD2  |.  51            PUSH    ECX                              ; |Arg3
    267. 00402DD3  |.  68 34D34E00   PUSH    PrintBar.004ED334                ; |Arg2 = 004ED334 ASCII "%X%X%X%X%X"
    268. 00402DD8  |.  8D45 8C       LEA     EAX, DWORD PTR [EBP-74]          ; |
    269. 00402DDB  |.  50            PUSH    EAX                              ; |Arg1
    270. 00402DDC  |.  E8 A3CF0A00   CALL    PrintBar.004AFD84                ; \//以上抽取MD5相关数值输出
    271. 00402DE1  |.  83C4 1C       ADD     ESP, 1C
    272. 00402DE4  |.  8D55 8C       LEA     EDX, DWORD PTR [EBP-74]
    273. 00402DE7  |.  52            PUSH    EDX                              ;  //真码
    274. 00402DE8  |.  FF75 10       PUSH    DWORD PTR [EBP+10]               ;  //假码
    275. 00402DEB  |.  E8 38990A00   CALL    PrintBar.004AC728                ;  //比较CALL
    276. 00402DF0  |.  83C4 08       ADD     ESP, 8
    277. 00402DF3  |.  85C0          TEST    EAX, EAX
    278. 00402DF5  |.  75 0C         JNZ     SHORT PrintBar.00402E03          ;  //关键跳转
    279. 00402DF7  |.  8B4D 08       MOV     ECX, DWORD PTR [EBP+8]
    280. 00402DFA  |.  C681 D0060000>MOV     BYTE PTR [ECX+6D0], 1
    281. 00402E01  |.  EB 0A         JMP     SHORT PrintBar.00402E0D
    282. 00402E03  |>  8B45 08       MOV     EAX, DWORD PTR [EBP+8]
    283. 00402E06  |.  C680 D0060000>MOV     BYTE PTR [EAX+6D0], 0
    284. 00402E0D  |>  8B55 08       MOV     EDX, DWORD PTR [EBP+8]
    285. 00402E10  |.  8A82 D0060000 MOV     AL, BYTE PTR [EDX+6D0]
    286. 00402E16  |.  8BE5          MOV     ESP, EBP
    287. 00402E18  |.  5D            POP     EBP
    288. 00402E19  \.  C3            RETN
    复制代码
    **************************************************************  
    【破解总结】
    --------------------------------------------------------------
    【算法总结】
    标准MD5运算,输出时作了点变化
    --------------------------------------------------------------
    【算法注册机
    KeyGen.rek〗
    .const

    .data
    szHomePage db "https://www.chinapyg.com",0
    szEmail    db "mailto:[email protected]",0
    szErrMess  db "请输入字符!",0
    szHex db "%X%X%X%X%X",0
    szBuffer db 100 dup (0)
    szKey db 100 dup (0)
    hShow db 100 dup (0)
    len dd 0
    a1 dd 0
    a2 dd 0
    a3 dd 0
    a4 dd 0
    a5 dd 0

    .code
    mov edi,eax
    invoke lstrlen,edi
    mov len,eax
    MOV EAX,len
    LEA EBP,szKey
    MOV DWORD PTR SS:[EBP+0Ch],EAX
    MOV DWORD PTR SS:[EBP+8h],EDI
    INC EAX
    ADD EDI,EAX
    MOV BYTE PTR DS:[EDI-1],80h
    XOR EDX,EDX
    MOV EBX,40h
    DIV EBX
    NEG EDX
    ADD EDX,40h
    CMP EDX,8h
    JNB n1
    ADD EDX,40h
    n1:
    MOV ECX,EDX
    XOR AL,AL
    REP STOS BYTE PTR ES:[EDI]
    MOV EAX,DWORD PTR SS:[EBP+0Ch]
    INC EDX
    ADD DWORD PTR SS:[EBP+0Ch],EDX
    XOR EDX,EDX
    MOV EBX,8h
    MUL EBX
    MOV DWORD PTR DS:[EDI-8h],EAX
    MOV DWORD PTR DS:[EDI-4h],EDX
    MOV EDX,DWORD PTR SS:[EBP+0Ch]
    MOV EDI,DWORD PTR SS:[EBP+8h]
    LEA ESI,szBuffer
    MOV DWORD PTR DS:[ESI],67452301h
    MOV DWORD PTR DS:[ESI+4h],0EFCDAB89h
    MOV DWORD PTR DS:[ESI+8h],98BADCFEh
    MOV DWORD PTR DS:[ESI+0Ch],10325476h
    begin:
    MOV EAX,DWORD PTR DS:[ESI]
    MOV DWORD PTR SS:[EBP-4h],EAX
    MOV EAX,DWORD PTR DS:[ESI+4h]
    MOV DWORD PTR SS:[EBP-8h],EAX
    MOV EAX,DWORD PTR DS:[ESI+8h]
    MOV DWORD PTR SS:[EBP-0Ch],EAX
    MOV EAX,DWORD PTR DS:[ESI+0Ch]
    MOV DWORD PTR SS:[EBP-10h],EAX
    PUSH 0D76AA478h
    PUSH 7h
    PUSH DWORD PTR DS:[EDI]
    PUSH DWORD PTR SS:[EBP-10h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    PUSH DWORD PTR SS:[EBP-4h]
    CALL PYG
    MOV DWORD PTR SS:[EBP-4h],EAX
    PUSH 0E8C7B756h
    PUSH 0Ch
    PUSH DWORD PTR DS:[EDI+4h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    PUSH DWORD PTR SS:[EBP-4h]
    PUSH DWORD PTR SS:[EBP-10h]
    CALL PYG
    MOV DWORD PTR SS:[EBP-10h],EAX
    PUSH 242070DBh
    PUSH 11h
    PUSH DWORD PTR DS:[EDI+8h]
    PUSH DWORD PTR SS:[EBP-8h]
    PUSH DWORD PTR SS:[EBP-4h]
    PUSH DWORD PTR SS:[EBP-10h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    CALL PYG
    MOV DWORD PTR SS:[EBP-0Ch],EAX
    PUSH 0C1BDCEEEh
    PUSH 16h
    PUSH DWORD PTR DS:[EDI+0Ch]
    PUSH DWORD PTR SS:[EBP-4h]
    PUSH DWORD PTR SS:[EBP-10h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    CALL PYG
    MOV DWORD PTR SS:[EBP-8h],EAX
    PUSH 0F57C0FAFh
    PUSH 7h
    PUSH DWORD PTR DS:[EDI+10h]
    PUSH DWORD PTR SS:[EBP-10h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    PUSH DWORD PTR SS:[EBP-4h]
    CALL PYG
    MOV DWORD PTR SS:[EBP-4h],EAX
    PUSH 4787C62Ah
    PUSH 0Ch
    PUSH DWORD PTR DS:[EDI+14h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    PUSH DWORD PTR SS:[EBP-4h]
    PUSH DWORD PTR SS:[EBP-10h]
    CALL PYG
    MOV DWORD PTR SS:[EBP-10h],EAX
    PUSH 0A8304613h
    PUSH 11h
    PUSH DWORD PTR DS:[EDI+18h]
    PUSH DWORD PTR SS:[EBP-8h]
    PUSH DWORD PTR SS:[EBP-4h]
    PUSH DWORD PTR SS:[EBP-10h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    CALL PYG
    MOV DWORD PTR SS:[EBP-0Ch],EAX
    PUSH 0FD469501h
    PUSH 16h
    PUSH DWORD PTR DS:[EDI+1Ch]
    PUSH DWORD PTR SS:[EBP-4h]
    PUSH DWORD PTR SS:[EBP-10h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    CALL PYG
    MOV DWORD PTR SS:[EBP-8h],EAX
    PUSH 698098D8h
    PUSH 7h
    PUSH DWORD PTR DS:[EDI+20h]
    PUSH DWORD PTR SS:[EBP-10h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    PUSH DWORD PTR SS:[EBP-4h]
    CALL PYG
    MOV DWORD PTR SS:[EBP-4h],EAX
    PUSH 8B44F7AFh
    PUSH 0Ch
    PUSH DWORD PTR DS:[EDI+24h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    PUSH DWORD PTR SS:[EBP-4h]
    PUSH DWORD PTR SS:[EBP-10h]
    CALL PYG
    MOV DWORD PTR SS:[EBP-10h],EAX
    PUSH 0FFFF5BB1h
    PUSH 11h
    PUSH DWORD PTR DS:[EDI+28h]
    PUSH DWORD PTR SS:[EBP-8h]
    PUSH DWORD PTR SS:[EBP-4h]
    PUSH DWORD PTR SS:[EBP-10h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    CALL PYG
    MOV DWORD PTR SS:[EBP-0Ch],EAX
    PUSH 895CD7BEh
    PUSH 16h
    PUSH DWORD PTR DS:[EDI+2Ch]
    PUSH DWORD PTR SS:[EBP-4h]
    PUSH DWORD PTR SS:[EBP-10h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    CALL PYG
    MOV DWORD PTR SS:[EBP-8h],EAX
    PUSH 6B901122h
    PUSH 7h
    PUSH DWORD PTR DS:[EDI+30h]
    PUSH DWORD PTR SS:[EBP-10h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    PUSH DWORD PTR SS:[EBP-4h]
    CALL PYG
    MOV DWORD PTR SS:[EBP-4h],EAX
    PUSH 0FD987193h
    PUSH 0Ch
    PUSH DWORD PTR DS:[EDI+34h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    PUSH DWORD PTR SS:[EBP-4h]
    PUSH DWORD PTR SS:[EBP-10h]
    CALL PYG
    MOV DWORD PTR SS:[EBP-10h],EAX
    PUSH 0A679438Eh
    PUSH 11h
    PUSH DWORD PTR DS:[EDI+38h]
    PUSH DWORD PTR SS:[EBP-8h]
    PUSH DWORD PTR SS:[EBP-4h]
    PUSH DWORD PTR SS:[EBP-10h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    CALL PYG
    MOV DWORD PTR SS:[EBP-0Ch],EAX
    PUSH 49B40821h
    PUSH 16h
    PUSH DWORD PTR DS:[EDI+3Ch]
    PUSH DWORD PTR SS:[EBP-4h]
    PUSH DWORD PTR SS:[EBP-10h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    CALL PYG
    MOV DWORD PTR SS:[EBP-8h],EAX
    PUSH 0F61E2562h
    PUSH 5h
    PUSH DWORD PTR DS:[EDI+4h]
    PUSH DWORD PTR SS:[EBP-10h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    PUSH DWORD PTR SS:[EBP-4h]
    CALL tianxj
    MOV DWORD PTR SS:[EBP-4h],EAX
    PUSH 0C040B340h
    PUSH 9h
    PUSH DWORD PTR DS:[EDI+18h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    PUSH DWORD PTR SS:[EBP-4h]
    PUSH DWORD PTR SS:[EBP-10h]
    CALL tianxj
    MOV DWORD PTR SS:[EBP-10h],EAX
    PUSH 265E5A51h
    PUSH 0Eh
    PUSH DWORD PTR DS:[EDI+2Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    PUSH DWORD PTR SS:[EBP-4h]
    PUSH DWORD PTR SS:[EBP-10h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    CALL tianxj
    MOV DWORD PTR SS:[EBP-0Ch],EAX
    PUSH 0E9B6C7AAh
    PUSH 14h
    PUSH DWORD PTR DS:[EDI]
    PUSH DWORD PTR SS:[EBP-4h]
    PUSH DWORD PTR SS:[EBP-10h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    CALL tianxj
    MOV DWORD PTR SS:[EBP-8h],EAX
    PUSH 0D62F105Dh
    PUSH 5h
    PUSH DWORD PTR DS:[EDI+14h]
    PUSH DWORD PTR SS:[EBP-10h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    PUSH DWORD PTR SS:[EBP-4h]
    CALL tianxj
    MOV DWORD PTR SS:[EBP-4h],EAX
    PUSH 2441453h
    PUSH 9h
    PUSH DWORD PTR DS:[EDI+28h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    PUSH DWORD PTR SS:[EBP-4h]
    PUSH DWORD PTR SS:[EBP-10h]
    CALL tianxj
    MOV DWORD PTR SS:[EBP-10h],EAX
    PUSH 0D8A1E681h
    PUSH 0Eh
    PUSH DWORD PTR DS:[EDI+3Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    PUSH DWORD PTR SS:[EBP-4h]
    PUSH DWORD PTR SS:[EBP-10h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    CALL tianxj
    MOV DWORD PTR SS:[EBP-0Ch],EAX
    PUSH 0E7D3FBC8h
    PUSH 14h
    PUSH DWORD PTR DS:[EDI+10h]
    PUSH DWORD PTR SS:[EBP-4h]
    PUSH DWORD PTR SS:[EBP-10h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    CALL tianxj
    MOV DWORD PTR SS:[EBP-8h],EAX
    PUSH 21E1CDE6h
    PUSH 5h
    PUSH DWORD PTR DS:[EDI+24h]
    PUSH DWORD PTR SS:[EBP-10h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    PUSH DWORD PTR SS:[EBP-4h]
    CALL tianxj
    MOV DWORD PTR SS:[EBP-4h],EAX
    PUSH 0C33707D6h
    PUSH 9h
    PUSH DWORD PTR DS:[EDI+38h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    PUSH DWORD PTR SS:[EBP-4h]
    PUSH DWORD PTR SS:[EBP-10h]
    CALL tianxj
    MOV DWORD PTR SS:[EBP-10h],EAX
    PUSH 0F4D50D87h
    PUSH 0Eh
    PUSH DWORD PTR DS:[EDI+0Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    PUSH DWORD PTR SS:[EBP-4h]
    PUSH DWORD PTR SS:[EBP-10h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    CALL tianxj
    MOV DWORD PTR SS:[EBP-0Ch],EAX
    PUSH 455A14EDh
    PUSH 14h
    PUSH DWORD PTR DS:[EDI+20h]
    PUSH DWORD PTR SS:[EBP-4h]
    PUSH DWORD PTR SS:[EBP-10h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    CALL tianxj
    MOV DWORD PTR SS:[EBP-8h],EAX
    PUSH 0A9E3E905h
    PUSH 5h
    PUSH DWORD PTR DS:[EDI+34h]
    PUSH DWORD PTR SS:[EBP-10h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    PUSH DWORD PTR SS:[EBP-4h]
    CALL tianxj
    MOV DWORD PTR SS:[EBP-4h],EAX
    PUSH 0FCEFA3F8h
    PUSH 9h
    PUSH DWORD PTR DS:[EDI+8h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    PUSH DWORD PTR SS:[EBP-4h]
    PUSH DWORD PTR SS:[EBP-10h]
    CALL tianxj
    MOV DWORD PTR SS:[EBP-10h],EAX
    PUSH 676F02D9h
    PUSH 0Eh
    PUSH DWORD PTR DS:[EDI+1Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    PUSH DWORD PTR SS:[EBP-4h]
    PUSH DWORD PTR SS:[EBP-10h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    CALL tianxj
    MOV DWORD PTR SS:[EBP-0Ch],EAX
    PUSH 8D2A4C8Ah
    PUSH 14h
    PUSH DWORD PTR DS:[EDI+30h]
    PUSH DWORD PTR SS:[EBP-4h]
    PUSH DWORD PTR SS:[EBP-10h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    CALL tianxj
    MOV DWORD PTR SS:[EBP-8h],EAX
    PUSH 0FFFA3942h
    PUSH 4h
    PUSH DWORD PTR DS:[EDI+14h]
    PUSH DWORD PTR SS:[EBP-10h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    PUSH DWORD PTR SS:[EBP-4h]
    CALL MD5
    MOV DWORD PTR SS:[EBP-4h],EAX
    PUSH 8771F681h
    PUSH 0Bh
    PUSH DWORD PTR DS:[EDI+20h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    PUSH DWORD PTR SS:[EBP-4h]
    PUSH DWORD PTR SS:[EBP-10h]
    CALL MD5
    MOV DWORD PTR SS:[EBP-10h],EAX
    PUSH 6D9D6122h
    PUSH 10h
    PUSH DWORD PTR DS:[EDI+2Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    PUSH DWORD PTR SS:[EBP-4h]
    PUSH DWORD PTR SS:[EBP-10h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    CALL MD5
    MOV DWORD PTR SS:[EBP-0Ch],EAX
    PUSH 0FDE5380Ch
    PUSH 17h
    PUSH DWORD PTR DS:[EDI+38h]
    PUSH DWORD PTR SS:[EBP-4h]
    PUSH DWORD PTR SS:[EBP-10h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    CALL MD5
    MOV DWORD PTR SS:[EBP-8h],EAX
    PUSH 0A4BEEA44h
    PUSH 4h
    PUSH DWORD PTR DS:[EDI+4h]
    PUSH DWORD PTR SS:[EBP-10h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    PUSH DWORD PTR SS:[EBP-4h]
    CALL MD5
    MOV DWORD PTR SS:[EBP-4h],EAX
    PUSH 4BDECFA9h
    PUSH 0Bh
    PUSH DWORD PTR DS:[EDI+10h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    PUSH DWORD PTR SS:[EBP-4h]
    PUSH DWORD PTR SS:[EBP-10h]
    CALL MD5
    MOV DWORD PTR SS:[EBP-10h],EAX
    PUSH 0F6BB4B60h
    PUSH 10h
    PUSH DWORD PTR DS:[EDI+1Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    PUSH DWORD PTR SS:[EBP-4h]
    PUSH DWORD PTR SS:[EBP-10h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    CALL MD5
    MOV DWORD PTR SS:[EBP-0Ch],EAX
    PUSH 0BEBFBC70h
    PUSH 17h
    PUSH DWORD PTR DS:[EDI+28h]
    PUSH DWORD PTR SS:[EBP-4h]
    PUSH DWORD PTR SS:[EBP-10h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    CALL MD5
    MOV DWORD PTR SS:[EBP-8h],EAX
    PUSH 289B7EC6h
    PUSH 4h
    PUSH DWORD PTR DS:[EDI+34h]
    PUSH DWORD PTR SS:[EBP-10h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    PUSH DWORD PTR SS:[EBP-4h]
    CALL MD5
    MOV DWORD PTR SS:[EBP-4h],EAX
    PUSH 0EAA127FAh
    PUSH 0Bh
    PUSH DWORD PTR DS:[EDI]
    PUSH DWORD PTR SS:[EBP-0Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    PUSH DWORD PTR SS:[EBP-4h]
    PUSH DWORD PTR SS:[EBP-10h]
    CALL MD5
    MOV DWORD PTR SS:[EBP-10h],EAX
    PUSH 0D4EF3085h
    PUSH 10h
    PUSH DWORD PTR DS:[EDI+0Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    PUSH DWORD PTR SS:[EBP-4h]
    PUSH DWORD PTR SS:[EBP-10h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    CALL MD5
    MOV DWORD PTR SS:[EBP-0Ch],EAX
    PUSH 4881D05h
    PUSH 17h
    PUSH DWORD PTR DS:[EDI+18h]
    PUSH DWORD PTR SS:[EBP-4h]
    PUSH DWORD PTR SS:[EBP-10h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    CALL MD5
    MOV DWORD PTR SS:[EBP-8h],EAX
    PUSH 0D9D4D039h
    PUSH 4h
    PUSH DWORD PTR DS:[EDI+24h]
    PUSH DWORD PTR SS:[EBP-10h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    PUSH DWORD PTR SS:[EBP-4h]
    CALL MD5
    MOV DWORD PTR SS:[EBP-4h],EAX
    PUSH 0E6DB99E5h
    PUSH 0Bh
    PUSH DWORD PTR DS:[EDI+30h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    PUSH DWORD PTR SS:[EBP-4h]
    PUSH DWORD PTR SS:[EBP-10h]
    CALL MD5
    MOV DWORD PTR SS:[EBP-10h],EAX
    PUSH 1FA27CF8h
    PUSH 10h
    PUSH DWORD PTR DS:[EDI+3Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    PUSH DWORD PTR SS:[EBP-4h]
    PUSH DWORD PTR SS:[EBP-10h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    CALL MD5
    MOV DWORD PTR SS:[EBP-0Ch],EAX
    PUSH 0C4AC5665h
    PUSH 17h
    PUSH DWORD PTR DS:[EDI+8h]
    PUSH DWORD PTR SS:[EBP-4h]
    PUSH DWORD PTR SS:[EBP-10h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    CALL MD5
    MOV DWORD PTR SS:[EBP-8h],EAX
    PUSH 0F4292244h
    PUSH 6h
    PUSH DWORD PTR DS:[EDI]
    PUSH DWORD PTR SS:[EBP-10h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    PUSH DWORD PTR SS:[EBP-4h]
    CALL Calc
    MOV DWORD PTR SS:[EBP-4h],EAX
    PUSH 432AFF97h
    PUSH 0Ah
    PUSH DWORD PTR DS:[EDI+1Ch]
    PUSH DWORD PTR SS:[EBP-0Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    PUSH DWORD PTR SS:[EBP-4h]
    PUSH DWORD PTR SS:[EBP-10h]
    CALL Calc
    MOV DWORD PTR SS:[EBP-10h],EAX
    PUSH 0AB9423A7h
    PUSH 0Fh
    PUSH DWORD PTR DS:[EDI+38h]
    PUSH DWORD PTR SS:[EBP-8h]
    PUSH DWORD PTR SS:[EBP-4h]
    PUSH DWORD PTR SS:[EBP-10h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    CALL Calc
    MOV DWORD PTR SS:[EBP-0Ch],EAX
    PUSH 0FC93A039h
    PUSH 15h
    PUSH DWORD PTR DS:[EDI+14h]
    PUSH DWORD PTR SS:[EBP-4h]
    PUSH DWORD PTR SS:[EBP-10h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    CALL Calc
    MOV DWORD PTR SS:[EBP-8h],EAX
    PUSH 655B59C3h
    PUSH 6h
    PUSH DWORD PTR DS:[EDI+30h]
    PUSH DWORD PTR SS:[EBP-10h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    PUSH DWORD PTR SS:[EBP-4h]
    CALL Calc
    MOV DWORD PTR SS:[EBP-4h],EAX
    PUSH 8F0CCC92h
    PUSH 0Ah
    PUSH DWORD PTR DS:[EDI+0Ch]
    PUSH DWORD PTR SS:[EBP-0Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    PUSH DWORD PTR SS:[EBP-4h]
    PUSH DWORD PTR SS:[EBP-10h]
    CALL Calc
    MOV DWORD PTR SS:[EBP-10h],EAX
    PUSH 0FFEFF47Dh
    PUSH 0Fh
    PUSH DWORD PTR DS:[EDI+28h]
    PUSH DWORD PTR SS:[EBP-8h]
    PUSH DWORD PTR SS:[EBP-4h]
    PUSH DWORD PTR SS:[EBP-10h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    CALL Calc
    MOV DWORD PTR SS:[EBP-0Ch],EAX
    PUSH 85845DD1h
    PUSH 15h
    PUSH DWORD PTR DS:[EDI+4h]
    PUSH DWORD PTR SS:[EBP-4h]
    PUSH DWORD PTR SS:[EBP-10h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    CALL Calc
    MOV DWORD PTR SS:[EBP-8h],EAX
    PUSH 6FA87E4Fh
    PUSH 6h
    PUSH DWORD PTR DS:[EDI+20h]
    PUSH DWORD PTR SS:[EBP-10h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    PUSH DWORD PTR SS:[EBP-4h]
    CALL Calc
    MOV DWORD PTR SS:[EBP-4h],EAX
    PUSH 0FE2CE6E0h
    PUSH 0Ah
    PUSH DWORD PTR DS:[EDI+3Ch]
    PUSH DWORD PTR SS:[EBP-0Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    PUSH DWORD PTR SS:[EBP-4h]
    PUSH DWORD PTR SS:[EBP-10h]
    CALL Calc
    MOV DWORD PTR SS:[EBP-10h],EAX
    PUSH 0A3014314h
    PUSH 0Fh
    PUSH DWORD PTR DS:[EDI+18h]
    PUSH DWORD PTR SS:[EBP-8h]
    PUSH DWORD PTR SS:[EBP-4h]
    PUSH DWORD PTR SS:[EBP-10h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    CALL Calc
    MOV DWORD PTR SS:[EBP-0Ch],EAX
    PUSH 4E0811A1h
    PUSH 15h
    PUSH DWORD PTR DS:[EDI+34h]
    PUSH DWORD PTR SS:[EBP-4h]
    PUSH DWORD PTR SS:[EBP-10h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    CALL Calc
    MOV DWORD PTR SS:[EBP-8h],EAX
    PUSH 0F7537E82h
    PUSH 6h
    PUSH DWORD PTR DS:[EDI+10h]
    PUSH DWORD PTR SS:[EBP-10h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    PUSH DWORD PTR SS:[EBP-4h]
    CALL Calc
    MOV DWORD PTR SS:[EBP-4h],EAX
    PUSH 0BD3AF235h
    PUSH 0Ah
    PUSH DWORD PTR DS:[EDI+2Ch]
    PUSH DWORD PTR SS:[EBP-0Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    PUSH DWORD PTR SS:[EBP-4h]
    PUSH DWORD PTR SS:[EBP-10h]
    CALL Calc
    MOV DWORD PTR SS:[EBP-10h],EAX
    PUSH 2AD7D2BBh
    PUSH 0Fh
    PUSH DWORD PTR DS:[EDI+8h]
    PUSH DWORD PTR SS:[EBP-8h]
    PUSH DWORD PTR SS:[EBP-4h]
    PUSH DWORD PTR SS:[EBP-10h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    CALL Calc
    MOV DWORD PTR SS:[EBP-0Ch],EAX
    PUSH 0EB86D391h
    PUSH 15h
    PUSH DWORD PTR DS:[EDI+24h]
    PUSH DWORD PTR SS:[EBP-4h]
    PUSH DWORD PTR SS:[EBP-10h]
    PUSH DWORD PTR SS:[EBP-0Ch]
    PUSH DWORD PTR SS:[EBP-8h]
    CALL Calc
    MOV DWORD PTR SS:[EBP-8h],EAX
    MOV EAX,DWORD PTR SS:[EBP-4h]
    ADD DWORD PTR DS:[ESI],EAX
    MOV EAX,DWORD PTR SS:[EBP-8h]
    ADD DWORD PTR DS:[ESI+4h],EAX
    MOV EAX,DWORD PTR SS:[EBP-0Ch]
    ADD DWORD PTR DS:[ESI+8h],EAX
    MOV EAX,DWORD PTR SS:[EBP-10h]
    ADD DWORD PTR DS:[ESI+0Ch],EAX
    ADD EDI,40h
    SUB EDX,40h
    JNZ begin
    XOR EDX,EDX
    MOV DL, BYTE PTR DS:[ESI+6h]
    MOV a1, EDX
    MOV DL, BYTE PTR DS:[ESI+5h]
    MOV a2, EDX
    MOV DL, BYTE PTR DS:[ESI+3h]
    MOV a3, EDX
    MOV DL, BYTE PTR DS:[ESI+2h]
    MOV a4, EDX
    MOV DL, BYTE PTR DS:[ESI+7h]
    MOV a5, EDX
    invoke wsprintf,addr hShow,addr szHex,a5,a4,a3,a2,a1
    LEA EAX,hShow
    JMP nobody
    ;======================
    PYG:
    PUSH EBP
    MOV EBP,ESP
    PUSH EBX
    PUSH ECX
    MOV EAX,DWORD PTR SS:[EBP+0Ch]
    MOV EBX,DWORD PTR SS:[EBP+10h]
    MOV ECX,DWORD PTR SS:[EBP+14h]
    AND EBX,EAX
    NOT EAX
    AND EAX,ECX
    OR EAX,EBX
    ADD EAX,DWORD PTR SS:[EBP+8h]
    ADD EAX,DWORD PTR SS:[EBP+18h]
    ADD EAX,DWORD PTR SS:[EBP+20h]
    MOV CL,BYTE PTR SS:[EBP+1Ch]
    ROL EAX,CL
    ADD EAX,DWORD PTR SS:[EBP+0Ch]
    POP ECX
    POP EBX
    LEAVE
    RETN 0
    ;====================
    tianxj:
    PUSH EBP
    MOV EBP,ESP
    PUSH EBX
    PUSH ECX
    MOV EAX,DWORD PTR SS:[EBP+0Ch]
    MOV EBX,DWORD PTR SS:[EBP+10h]
    MOV ECX,DWORD PTR SS:[EBP+14h]
    AND EAX,ECX
    NOT ECX
    AND ECX,EBX
    OR EAX,ECX
    ADD EAX,DWORD PTR SS:[EBP+8h]
    ADD EAX,DWORD PTR SS:[EBP+18h]
    ADD EAX,DWORD PTR SS:[EBP+20h]
    MOV CL,BYTE PTR SS:[EBP+1Ch]
    ROL EAX,CL
    ADD EAX,DWORD PTR SS:[EBP+0Ch]
    POP ECX
    POP EBX
    LEAVE
    RETN 0
    ;====================
    MD5:
    PUSH EBP
    MOV EBP,ESP
    PUSH EBX
    PUSH ECX
    MOV EAX,DWORD PTR SS:[EBP+0Ch]
    MOV EBX,DWORD PTR SS:[EBP+10h]
    MOV ECX,DWORD PTR SS:[EBP+14h]
    XOR EAX,EBX
    XOR EAX,ECX
    ADD EAX,DWORD PTR SS:[EBP+8h]
    ADD EAX,DWORD PTR SS:[EBP+18h]
    ADD EAX,DWORD PTR SS:[EBP+20h]
    MOV CL,BYTE PTR SS:[EBP+1Ch]
    ROL EAX,CL
    ADD EAX,DWORD PTR SS:[EBP+0Ch]
    POP ECX
    POP EBX
    LEAVE
    RETN 0
    ;====================
    Calc:
    PUSH EBP
    MOV EBP,ESP
    PUSH EBX
    PUSH ECX
    MOV EAX,DWORD PTR SS:[EBP+0Ch]
    MOV EBX,DWORD PTR SS:[EBP+10h]
    MOV ECX,DWORD PTR SS:[EBP+14h]
    NOT ECX
    OR EAX,ECX
    XOR EAX,EBX
    ADD EAX,DWORD PTR SS:[EBP+8h]
    ADD EAX,DWORD PTR SS:[EBP+18h]
    ADD EAX,DWORD PTR SS:[EBP+20h]
    MOV CL,BYTE PTR SS:[EBP+1Ch]
    ROL EAX,CL
    ADD EAX,DWORD PTR SS:[EBP+0Ch]
    POP ECX
    POP EBX
    LEAVE
    RETN 0
    ;====================
    nobody:
    易语言代码〗
    .版本 2
    .支持库 dp1

    .子程序 _按钮1_被单击
    .局部变量 MD5, 文本型

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

        MD5 = 到大写 (取数据摘要 (到字节集 (编辑框1.内容)))
        编辑框2.内容 = 取文本中间 (MD5, 15, 2) + 取文本中间 (MD5, 5, 2) + 取文本中间 (MD5, 7, 2) + 取文本中间 (MD5, 11, 2) +

    取文本中间 (MD5, 13, 2)

    .判断结束
    --------------------------------------------------------------
    【内存注册机】
    中断地址 00402DEB
    中断次数 1
    第一字节 E8
    指令长度 5

    内存方式-寄存器-EDX
    --------------------------------------------------------------
    【注册信息】
    用户名:abcdef
    注册码:FC50178950
    保存在安装目录下printbar.ini里
    --------------------------------------------------------------
    感谢飘云老大、猫老大、Nisy老大以及很多前辈们的学习教程以及徐超等所有帮助过我的论坛兄弟姐妹们!谢谢
    --------------------------------------------------------------
    【版权声明】破文是学习的手记,兴趣是成功的源泉;本破文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!

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

    该用户从未签到

    发表于 2008-10-15 13:14:55 | 显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽
    PYG19周年生日快乐!
  • TA的每日心情
    擦汗
    前天 08:16
  • 签到天数: 1592 天

    [LV.Master]伴坛终老

    发表于 2008-10-15 13:20:51 | 显示全部楼层
    学习学习,谢谢楼主!
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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