飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 3666|回复: 5

[原创] 4U AVI MPEG Converter 5.3.8算法分析

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

    [LV.1]初来乍到

    发表于 2008-8-23 22:13:01 | 显示全部楼层 |阅读模式
    【破文标题】4U AVI MPEG Converter 5.3.8算法分析
    【破文作者】tianxj
    【作者邮箱】[email protected]
    【作者主页】WwW.ChiNaPYG.CoM
    破解工具】PEiD,OD
    【破解平台】Windows XP
    【软件名称】4U AVI MPEG Converter 5.3.8
    【软件大小】11338KB
    【软件类别】国外软件/视频转换
    【软件语言】英文
    【更新时间】2008-3-6
    【原版下载】网上找一下
    【保护方式】注册码
    【软件简介】4U AVI MPEG Converter 是一功能强大的视频转换工具,它可以将AVI、MPEG、 WMV、 ASF、 MOV、 QuickTime转换成AVI、DivX、 XviD、 MPEG-1/MPEG-2/DVD/VCD/SVCD、 WMV、 RM等常用的视频格式、或者抽音频成MP3格式。它支持批量文件转换可以一次点击转换多个文件,带有多种解码器;自定义输出视频和帧大小。使用简单,支持资源管理器中点击右键自动进行转换,而不用手动运行本软件。
    【破解声明】我是一只小菜鸟,偶得一点心得,愿与大家分享:)
    初学破解与编程,只是感兴趣,没有其它目的。失误之处敬请诸位大侠赐教!
    --------------------------------------------------------------
    【破解内容】
    --------------------------------------------------------------
    **************************************************************
    一、运行程序,进行注册,输入错误的注册信息进行检测,有提示信息
    "Invalid Registration Code! Please enter an available Registration Code."
    **************************************************************
    二、用PEiD对AVIMPEGConverter.exe查壳,为 Borland Delphi 6.0 - 7.0
    **************************************************************
    三、运行OD,打开AVIMPEGConverter.exe,右键—超级字串参考—查找ASCII.
    发现"Invalid Registration Code! Please enter an available Registration Code."
    1. 00491A9C  /$  55            PUSH EBP
    2. 00491A9D  |.  8BEC          MOV EBP,ESP
    3. 00491A9F  |.  6A 00         PUSH 0
    4. 00491AA1  |.  6A 00         PUSH 0
    5. 00491AA3  |.  6A 00         PUSH 0
    6. 00491AA5  |.  6A 00         PUSH 0
    7. 00491AA7  |.  6A 00         PUSH 0
    8. 00491AA9  |.  53            PUSH EBX
    9. 00491AAA  |.  56            PUSH ESI
    10. 00491AAB  |.  894D F8       MOV DWORD PTR SS:[EBP-8],ECX
    11. 00491AAE  |.  8955 FC       MOV DWORD PTR SS:[EBP-4],EDX
    12. 00491AB1  |.  8BF0          MOV ESI,EAX
    13. 00491AB3  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]             ;  //用户名
    14. 00491AB6  |.  E8 9D30F7FF   CALL AVIMPEGC.00404B58
    15. 00491ABB  |.  8B45 F8       MOV EAX,DWORD PTR SS:[EBP-8]             ;  //试练码
    16. 00491ABE  |.  E8 9530F7FF   CALL AVIMPEGC.00404B58
    17. 00491AC3  |.  33C0          XOR EAX,EAX
    18. 00491AC5  |.  55            PUSH EBP
    19. 00491AC6  |.  68 931B4900   PUSH AVIMPEGC.00491B93
    20. 00491ACB  |.  64:FF30       PUSH DWORD PTR FS:[EAX]
    21. 00491ACE  |.  64:8920       MOV DWORD PTR FS:[EAX],ESP
    22. 00491AD1  |.  33DB          XOR EBX,EBX
    23. 00491AD3  |.  33D2          XOR EDX,EDX
    24. 00491AD5  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]             ;  //用户名
    25. 00491AD8  |.  E8 CF31F7FF   CALL AVIMPEGC.00404CAC
    26. 00491ADD  |.  85C0          TEST EAX,EAX
    27. 00491ADF  |.  7E 0B         JLE SHORT AVIMPEGC.00491AEC
    28. 00491AE1  |.  8D45 F8       LEA EAX,DWORD PTR SS:[EBP-8]
    29. 00491AE4  |.  8B55 FC       MOV EDX,DWORD PTR SS:[EBP-4]
    30. 00491AE7  |.  E8 642CF7FF   CALL AVIMPEGC.00404750
    31. 00491AEC  |>  8D4D F4       LEA ECX,DWORD PTR SS:[EBP-C]
    32. 00491AEF  |.  8B55 FC       MOV EDX,DWORD PTR SS:[EBP-4]             ;  //用户名
    33. 00491AF2  |.  8BC6          MOV EAX,ESI
    34. 00491AF4  |.  E8 2F010000   CALL AVIMPEGC.00491C28                   ;  //算法CALL1
    35. 00491AF9  |.  8B55 F4       MOV EDX,DWORD PTR SS:[EBP-C]             ;  //真码
    36. 00491AFC  |.  8B45 F8       MOV EAX,DWORD PTR SS:[EBP-8]             ;  //试练码
    37. 00491AFF  |.  E8 186FF7FF   CALL AVIMPEGC.00408A1C                   ;  //比较CALL
    38. 00491B04  |.  85C0          TEST EAX,EAX
    39. 00491B06  |.  75 41         JNZ SHORT AVIMPEGC.00491B49              ;  //关键跳转
    40. 00491B08  |.  8B55 FC       MOV EDX,DWORD PTR SS:[EBP-4]
    41. 00491B0B  |.  8BC6          MOV EAX,ESI
    42. 00491B0D  |.  E8 EEF3FFFF   CALL AVIMPEGC.00490F00
    43. 00491B12  |.  84C0          TEST AL,AL
    44. 00491B14  |.  74 62         JE SHORT AVIMPEGC.00491B78
    45. 00491B16  |.  B3 01         MOV BL,1
    46. 00491B18  |.  6A 40         PUSH 40
    47. 00491B1A  |.  8D55 F0       LEA EDX,DWORD PTR SS:[EBP-10]
    48. 00491B1D  |.  A1 8CEF4B00   MOV EAX,DWORD PTR DS:[4BEF8C]
    49. 00491B22  |.  8B00          MOV EAX,DWORD PTR DS:[EAX]
    50. 00491B24  |.  E8 2738FDFF   CALL AVIMPEGC.00465350
    51. 00491B29  |.  8B45 F0       MOV EAX,DWORD PTR SS:[EBP-10]
    52. 00491B2C  |.  E8 3730F7FF   CALL AVIMPEGC.00404B68
    53. 00491B31  |.  50            PUSH EAX                                 ; |Title
    54. 00491B32  |.  68 A41B4900   PUSH AVIMPEGC.00491BA4                   ; |Registered successfully. Thanks for your registration!
    55. 00491B37  |.  A1 8CEF4B00   MOV EAX,DWORD PTR DS:[4BEF8C]            ; |
    56. 00491B3C  |.  8B00          MOV EAX,DWORD PTR DS:[EAX]               ; |
    57. 00491B3E  |.  8B40 30       MOV EAX,DWORD PTR DS:[EAX+30]            ; |
    58. 00491B41  |.  50            PUSH EAX                                 ; |hOwner
    59. 00491B42  |.  E8 895AF7FF   CALL <JMP.&user32.MessageBoxA>           ; \MessageBoxA
    60. 00491B47  |.  EB 2F         JMP SHORT AVIMPEGC.00491B78
    61. 00491B49  |>  6A 10         PUSH 10
    62. 00491B4B  |.  8D55 EC       LEA EDX,DWORD PTR SS:[EBP-14]
    63. 00491B4E  |.  A1 8CEF4B00   MOV EAX,DWORD PTR DS:[4BEF8C]
    64. 00491B53  |.  8B00          MOV EAX,DWORD PTR DS:[EAX]
    65. 00491B55  |.  E8 F637FDFF   CALL AVIMPEGC.00465350
    66. 00491B5A  |.  8B45 EC       MOV EAX,DWORD PTR SS:[EBP-14]
    67. 00491B5D  |.  E8 0630F7FF   CALL AVIMPEGC.00404B68
    68. 00491B62  |.  50            PUSH EAX                                 ; |Title
    69. 00491B63  |.  68 DC1B4900   PUSH AVIMPEGC.00491BDC                   ; |Invalid Registration Code! \r\nPlease enter an available Registration Code.
    70. 00491B68  |.  A1 8CEF4B00   MOV EAX,DWORD PTR DS:[4BEF8C]            ; |
    71. 00491B6D  |.  8B00          MOV EAX,DWORD PTR DS:[EAX]               ; |
    72. 00491B6F  |.  8B40 30       MOV EAX,DWORD PTR DS:[EAX+30]            ; |
    73. 00491B72  |.  50            PUSH EAX                                 ; |hOwner
    74. 00491B73  |.  E8 585AF7FF   CALL <JMP.&user32.MessageBoxA>           ; \MessageBoxA
    75. 00491B78  |>  33C0          XOR EAX,EAX
    76. 00491B7A  |.  5A            POP EDX
    77. 00491B7B  |.  59            POP ECX
    78. 00491B7C  |.  59            POP ECX
    79. 00491B7D  |.  64:8910       MOV DWORD PTR FS:[EAX],EDX
    80. 00491B80  |.  68 9A1B4900   PUSH AVIMPEGC.00491B9A
    81. 00491B85  |>  8D45 EC       LEA EAX,DWORD PTR SS:[EBP-14]
    82. 00491B88  |.  BA 05000000   MOV EDX,5
    83. 00491B8D  |.  E8 4A2BF7FF   CALL AVIMPEGC.004046DC
    84. 00491B92  \.  C3            RETN
    85. 00491B93   .^ E9 A424F7FF   JMP AVIMPEGC.0040403C
    86. 00491B98   .^ EB EB         JMP SHORT AVIMPEGC.00491B85
    87. 00491B9A   .  8BC3          MOV EAX,EBX
    88. 00491B9C   .  5E            POP ESI
    89. 00491B9D   .  5B            POP EBX
    90. 00491B9E   .  8BE5          MOV ESP,EBP
    91. 00491BA0   .  5D            POP EBP
    92. 00491BA1   .  C3            RETN
    93. =======================跟进算法CALL1=========================
    94. 00491C28  /$  55            PUSH EBP
    95. 00491C29  |.  8BEC          MOV EBP,ESP
    96. 00491C2B  |.  6A 00         PUSH 0
    97. 00491C2D  |.  6A 00         PUSH 0
    98. 00491C2F  |.  6A 00         PUSH 0
    99. 00491C31  |.  6A 00         PUSH 0
    100. 00491C33  |.  6A 00         PUSH 0
    101. 00491C35  |.  6A 00         PUSH 0
    102. 00491C37  |.  6A 00         PUSH 0
    103. 00491C39  |.  6A 00         PUSH 0
    104. 00491C3B  |.  53            PUSH EBX
    105. 00491C3C  |.  56            PUSH ESI
    106. 00491C3D  |.  57            PUSH EDI
    107. 00491C3E  |.  8BD9          MOV EBX,ECX
    108. 00491C40  |.  8955 FC       MOV DWORD PTR SS:[EBP-4],EDX
    109. 00491C43  |.  8BF8          MOV EDI,EAX
    110. 00491C45  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]             ;  //用户名
    111. 00491C48  |.  E8 0B2FF7FF   CALL AVIMPEGC.00404B58
    112. 00491C4D  |.  33C0          XOR EAX,EAX
    113. 00491C4F  |.  55            PUSH EBP
    114. 00491C50  |.  68 831D4900   PUSH AVIMPEGC.00491D83
    115. 00491C55  |.  64:FF30       PUSH DWORD PTR FS:[EAX]
    116. 00491C58  |.  64:8920       MOV DWORD PTR FS:[EAX],ESP
    117. 00491C5B  |.  8D45 FC       LEA EAX,DWORD PTR SS:[EBP-4]
    118. 00491C5E  |.  BA 9C1D4900   MOV EDX,AVIMPEGC.00491D9C                ;  J5c2V~9I3Wp
    119. 00491C63  |.  E8 102DF7FF   CALL AVIMPEGC.00404978                   ;  //用户名与字符串"J5c2V~9I3Wp"相连,设为字符串1
    120. 00491C68  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]             ;  //字符串1
    121. 00491C6B  |.  E8 002DF7FF   CALL AVIMPEGC.00404970                   ;  //取字符串1长度
    122. 00491C70  |.  8BF0          MOV ESI,EAX                              ;  //ESI=EAX=字符串1长度
    123. 00491C72  |.  D1FE          SAR ESI,1                                ;  //ESI右移1位
    124. 00491C74  |.  79 03         JNS SHORT AVIMPEGC.00491C79
    125. 00491C76  |.  83D6 00       ADC ESI,0
    126. 00491C79  |>  8D45 F0       LEA EAX,DWORD PTR SS:[EBP-10]
    127. 00491C7C  |.  50            PUSH EAX
    128. 00491C7D  |.  8BCE          MOV ECX,ESI                              ;  //ECX=ESI
    129. 00491C7F  |.  BA 01000000   MOV EDX,1                                ;  //EDX=1
    130. 00491C84  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]             ;  //字符串1
    131. 00491C87  |.  E8 3C2FF7FF   CALL AVIMPEGC.00404BC8
    132. 00491C8C  |.  8B45 F0       MOV EAX,DWORD PTR SS:[EBP-10]            ;  //字符串1的左边ESI位,设为字符串2
    133. 00491C8F  |.  50            PUSH EAX
    134. 00491C90  |.  8D45 EC       LEA EAX,DWORD PTR SS:[EBP-14]
    135. 00491C93  |.  50            PUSH EAX
    136. 00491C94  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]             ;  //字符串1
    137. 00491C97  |.  E8 D42CF7FF   CALL AVIMPEGC.00404970                   ;  //取字符串1长度
    138. 00491C9C  |.  8BC8          MOV ECX,EAX                              ;  //ECX=EAX=字符串1长度
    139. 00491C9E  |.  8D56 01       LEA EDX,DWORD PTR DS:[ESI+1]
    140. 00491CA1  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]             ;  //字符串1
    141. 00491CA4  |.  E8 1F2FF7FF   CALL AVIMPEGC.00404BC8
    142. 00491CA9  |.  8B55 EC       MOV EDX,DWORD PTR SS:[EBP-14]            ;  //字符串1去除左边ESI位剩余字符,设为字符串3
    143. 00491CAC  |.  8D45 FC       LEA EAX,DWORD PTR SS:[EBP-4]
    144. 00491CAF  |.  59            POP ECX                                  ;  //字符串2
    145. 00491CB0  |.  E8 072DF7FF   CALL AVIMPEGC.004049BC
    146. 00491CB5  |.  8D45 F8       LEA EAX,DWORD PTR SS:[EBP-8]
    147. 00491CB8  |.  50            PUSH EAX
    148. 00491CB9  |.  B9 0A000000   MOV ECX,0A                               ;  //ECX=A
    149. 00491CBE  |.  BA 01000000   MOV EDX,1                                ;  //EDX=1
    150. 00491CC3  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]             ;  //字符串3与字符串2相连,设为字符串4
    151. 00491CC6  |.  E8 FD2EF7FF   CALL AVIMPEGC.00404BC8                   ;  //取字符串4的左边10位,设为字符串5
    152. 00491CCB  |.  8D45 F4       LEA EAX,DWORD PTR SS:[EBP-C]
    153. 00491CCE  |.  50            PUSH EAX
    154. 00491CCF  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]             ;  //字符串4
    155. 00491CD2  |.  E8 992CF7FF   CALL AVIMPEGC.00404970                   ;  //取字符串4的长度
    156. 00491CD7  |.  8BC8          MOV ECX,EAX
    157. 00491CD9  |.  BA 06000000   MOV EDX,6
    158. 00491CDE  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]             ;  //字符串4
    159. 00491CE1  |.  E8 E22EF7FF   CALL AVIMPEGC.00404BC8                   ;  //取字符串4的第6位以后的字符,设为字符串6
    160. 00491CE6  |.  837D F4 00    CMP DWORD PTR SS:[EBP-C],0               ;  //字符串6
    161. 00491CEA  |.  75 10         JNZ SHORT AVIMPEGC.00491CFC
    162. 00491CEC  |.  8D45 F4       LEA EAX,DWORD PTR SS:[EBP-C]
    163. 00491CEF  |.  BA 9C1D4900   MOV EDX,AVIMPEGC.00491D9C                ;  J5c2V~9I3Wp
    164. 00491CF4  |.  8B4D F8       MOV ECX,DWORD PTR SS:[EBP-8]
    165. 00491CF7  |.  E8 C02CF7FF   CALL AVIMPEGC.004049BC
    166. 00491CFC  |>  53            PUSH EBX
    167. 00491CFD  |.  8B4D F4       MOV ECX,DWORD PTR SS:[EBP-C]             ;  //字符串6
    168. 00491D00  |.  8B55 F8       MOV EDX,DWORD PTR SS:[EBP-8]             ;  //字符串5
    169. 00491D03  |.  8BC7          MOV EAX,EDI
    170. 00491D05  |.  E8 A6F0FFFF   CALL AVIMPEGC.00490DB0                   ;  //算法CALL2
    171. 00491D0A  |.  8D45 E8       LEA EAX,DWORD PTR SS:[EBP-18]
    172. 00491D0D  |.  50            PUSH EAX
    173. 00491D0E  |.  8B03          MOV EAX,DWORD PTR DS:[EBX]               ;  //字符串7
    174. 00491D10  |.  B9 05000000   MOV ECX,5
    175. 00491D15  |.  BA 01000000   MOV EDX,1
    176. 00491D1A  |.  E8 A92EF7FF   CALL AVIMPEGC.00404BC8
    177. 00491D1F  |.  FF75 E8       PUSH DWORD PTR SS:[EBP-18]               ;  //字符串7的1-5位
    178. 00491D22  |.  68 B01D4900   PUSH AVIMPEGC.00491DB0                   ;  -
    179. 00491D27  |.  8D45 E4       LEA EAX,DWORD PTR SS:[EBP-1C]
    180. 00491D2A  |.  50            PUSH EAX
    181. 00491D2B  |.  8B03          MOV EAX,DWORD PTR DS:[EBX]               ;  //字符串7
    182. 00491D2D  |.  B9 05000000   MOV ECX,5
    183. 00491D32  |.  BA 06000000   MOV EDX,6
    184. 00491D37  |.  E8 8C2EF7FF   CALL AVIMPEGC.00404BC8
    185. 00491D3C  |.  FF75 E4       PUSH DWORD PTR SS:[EBP-1C]               ;  //字符串7的6-10位
    186. 00491D3F  |.  68 B01D4900   PUSH AVIMPEGC.00491DB0                   ;  -
    187. 00491D44  |.  8D45 E0       LEA EAX,DWORD PTR SS:[EBP-20]
    188. 00491D47  |.  50            PUSH EAX
    189. 00491D48  |.  8B03          MOV EAX,DWORD PTR DS:[EBX]               ;  //字符串7
    190. 00491D4A  |.  B9 05000000   MOV ECX,5
    191. 00491D4F  |.  BA 0B000000   MOV EDX,0B
    192. 00491D54  |.  E8 6F2EF7FF   CALL AVIMPEGC.00404BC8
    193. 00491D59  |.  FF75 E0       PUSH DWORD PTR SS:[EBP-20]               ;  //字符串7的11-15位
    194. 00491D5C  |.  8BC3          MOV EAX,EBX
    195. 00491D5E  |.  BA 05000000   MOV EDX,5
    196. 00491D63  |.  E8 C82CF7FF   CALL AVIMPEGC.00404A30                   ;  //将以上字符串相连
    197. 00491D68  |.  33C0          XOR EAX,EAX
    198. 00491D6A  |.  5A            POP EDX
    199. 00491D6B  |.  59            POP ECX
    200. 00491D6C  |.  59            POP ECX
    201. 00491D6D  |.  64:8910       MOV DWORD PTR FS:[EAX],EDX
    202. 00491D70  |.  68 8A1D4900   PUSH AVIMPEGC.00491D8A
    203. 00491D75  |>  8D45 E0       LEA EAX,DWORD PTR SS:[EBP-20]
    204. 00491D78  |.  BA 08000000   MOV EDX,8
    205. 00491D7D  |.  E8 5A29F7FF   CALL AVIMPEGC.004046DC
    206. 00491D82  \.  C3            RETN
    207. 00491D83   .^ E9 B422F7FF   JMP AVIMPEGC.0040403C
    208. 00491D88   .^ EB EB         JMP SHORT AVIMPEGC.00491D75
    209. 00491D8A   .  5F            POP EDI
    210. 00491D8B   .  5E            POP ESI
    211. 00491D8C   .  5B            POP EBX
    212. 00491D8D   .  8BE5          MOV ESP,EBP
    213. 00491D8F   .  5D            POP EBP
    214. 00491D90   .  C3            RETN
    215. =======================跟进算法CALL2=========================
    216. 00490DB0  /$  55            PUSH EBP
    217. 00490DB1  |.  8BEC          MOV EBP,ESP
    218. 00490DB3  |.  83C4 E0       ADD ESP,-20
    219. 00490DB6  |.  53            PUSH EBX
    220. 00490DB7  |.  56            PUSH ESI
    221. 00490DB8  |.  57            PUSH EDI
    222. 00490DB9  |.  33DB          XOR EBX,EBX
    223. 00490DBB  |.  895D E0       MOV DWORD PTR SS:[EBP-20],EBX
    224. 00490DBE  |.  895D F0       MOV DWORD PTR SS:[EBP-10],EBX
    225. 00490DC1  |.  894D F8       MOV DWORD PTR SS:[EBP-8],ECX
    226. 00490DC4  |.  8955 FC       MOV DWORD PTR SS:[EBP-4],EDX
    227. 00490DC7  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]             ;  //字符串5
    228. 00490DCA  |.  E8 893DF7FF   CALL AVIMPEGC.00404B58
    229. 00490DCF  |.  8B45 F8       MOV EAX,DWORD PTR SS:[EBP-8]             ;  //字符串6
    230. 00490DD2  |.  E8 813DF7FF   CALL AVIMPEGC.00404B58
    231. 00490DD7  |.  33C0          XOR EAX,EAX
    232. 00490DD9  |.  55            PUSH EBP
    233. 00490DDA  |.  68 CC0E4900   PUSH AVIMPEGC.00490ECC
    234. 00490DDF  |.  64:FF30       PUSH DWORD PTR FS:[EAX]
    235. 00490DE2  |.  64:8920       MOV DWORD PTR FS:[EAX],ESP
    236. 00490DE5  |.  8B45 F8       MOV EAX,DWORD PTR SS:[EBP-8]             ;  //字符串6
    237. 00490DE8  |.  E8 833BF7FF   CALL AVIMPEGC.00404970                   ;  //取字符串6的长度
    238. 00490DED  |.  8945 F4       MOV DWORD PTR SS:[EBP-C],EAX             ;  //[EBP-C]=EAX=字符串6的长度
    239. 00490DF0  |.  837D F4 00    CMP DWORD PTR SS:[EBP-C],0
    240. 00490DF4  |.  75 0D         JNZ SHORT AVIMPEGC.00490E03
    241. 00490DF6  |.  8D45 F8       LEA EAX,DWORD PTR SS:[EBP-8]
    242. 00490DF9  |.  BA E40E4900   MOV EDX,AVIMPEGC.00490EE4                ;  Think Space
    243. 00490DFE  |.  E8 4D39F7FF   CALL AVIMPEGC.00404750
    244. 00490E03  |>  33F6          XOR ESI,ESI                              ;  //ESI=0
    245. 00490E05  |.  BB 00010000   MOV EBX,100                              ;  //EBX=100
    246. 00490E0A  |.  8D45 F0       LEA EAX,DWORD PTR SS:[EBP-10]
    247. 00490E0D  |.  50            PUSH EAX                                 ; /Arg1
    248. 00490E0E  |.  C745 E4 00010>MOV DWORD PTR SS:[EBP-1C],100            ; |//[EBP-1C]=100
    249. 00490E15  |.  C645 E8 00    MOV BYTE PTR SS:[EBP-18],0               ; |//[EBP-18]=0
    250. 00490E19  |.  8D55 E4       LEA EDX,DWORD PTR SS:[EBP-1C]            ; |
    251. 00490E1C  |.  33C9          XOR ECX,ECX                              ; |//ECX=0
    252. 00490E1E  |.  B8 F80E4900   MOV EAX,AVIMPEGC.00490EF8                ; |%1.2x
    253. 00490E23  |.  E8 348EF7FF   CALL AVIMPEGC.00409C5C                   ; \AVIMPEGC.00409C5C
    254. 00490E28  |.  8B45 FC       MOV EAX,DWORD PTR SS:[EBP-4]             ;  //字符串5
    255. 00490E2B  |.  E8 403BF7FF   CALL AVIMPEGC.00404970                   ;  //取字符串5的长度
    256. 00490E30  |.  8BF8          MOV EDI,EAX                              ;  //EDI=EAX=字符串5的长度=A
    257. 00490E32  |.  85FF          TEST EDI,EDI
    258. 00490E34  |.  7E 60         JLE SHORT AVIMPEGC.00490E96
    259. 00490E36  |.  C745 EC 01000>MOV DWORD PTR SS:[EBP-14],1              ;  //[EBP-14]=1
    260. 00490E3D  |>  8B45 FC       /MOV EAX,DWORD PTR SS:[EBP-4]            ;  //字符串5
    261. 00490E40  |.  8B55 EC       |MOV EDX,DWORD PTR SS:[EBP-14]           ;  //EDX=[EBP-14]
    262. 00490E43  |.  0FB64410 FF   |MOVZX EAX,BYTE PTR DS:[EAX+EDX-1]       ;  //逐位取字符串5的ASC值
    263. 00490E48  |.  03C3          |ADD EAX,EBX                             ;  //EAX=EAX+EBX
    264. 00490E4A  |.  B9 FF000000   |MOV ECX,0FF                             ;  //ECX=0FF
    265. 00490E4F  |.  99            |CDQ
    266. 00490E50  |.  F7F9          |IDIV ECX                                ;  //EAX/ECX,商送EAX,余送EDX
    267. 00490E52  |.  8BDA          |MOV EBX,EDX                             ;  //EBX=EDX
    268. 00490E54  |.  3B75 F4       |CMP ESI,DWORD PTR SS:[EBP-C]            ;  //ESI与字符串6的长度比较
    269. 00490E57  |.  7D 03         |JGE SHORT AVIMPEGC.00490E5C             ;  //大于等于则跳
    270. 00490E59  |.  46            |INC ESI                                 ;  //ESI=ESI+1
    271. 00490E5A  |.  EB 05         |JMP SHORT AVIMPEGC.00490E61
    272. 00490E5C  |>  BE 01000000   |MOV ESI,1                               ;  //ESI=1
    273. 00490E61  |>  8B45 F8       |MOV EAX,DWORD PTR SS:[EBP-8]            ;  //字符串6
    274. 00490E64  |.  0FB64430 FF   |MOVZX EAX,BYTE PTR DS:[EAX+ESI-1]       ;  //逐位取字符串6ASC值
    275. 00490E69  |.  33D8          |XOR EBX,EAX                             ;  //EBX= EBX xor EAX
    276. 00490E6B  |.  8D45 E0       |LEA EAX,DWORD PTR SS:[EBP-20]
    277. 00490E6E  |.  50            |PUSH EAX                                ; /Arg1
    278. 00490E6F  |.  895D E4       |MOV DWORD PTR SS:[EBP-1C],EBX           ; |//[EBP-1C]=EBX
    279. 00490E72  |.  C645 E8 00    |MOV BYTE PTR SS:[EBP-18],0              ; |
    280. 00490E76  |.  8D55 E4       |LEA EDX,DWORD PTR SS:[EBP-1C]           ; |
    281. 00490E79  |.  33C9          |XOR ECX,ECX                             ; |
    282. 00490E7B  |.  B8 F80E4900   |MOV EAX,AVIMPEGC.00490EF8               ; |%1.2x
    283. 00490E80  |.  E8 D78DF7FF   |CALL AVIMPEGC.00409C5C                  ; \//EBX转字符形式
    284. 00490E85  |.  8B55 E0       |MOV EDX,DWORD PTR SS:[EBP-20]
    285. 00490E88  |.  8D45 F0       |LEA EAX,DWORD PTR SS:[EBP-10]
    286. 00490E8B  |.  E8 E83AF7FF   |CALL AVIMPEGC.00404978                  ;  //将字符相连
    287. 00490E90  |.  FF45 EC       |INC DWORD PTR SS:[EBP-14]               ;  //[EBP-14]=[EBP-14]+1
    288. 00490E93  |.  4F            |DEC EDI                                 ;  //EDI=EDI-1
    289. 00490E94  |.^ 75 A7         \JNZ SHORT AVIMPEGC.00490E3D             ;  //循环
    290. 00490E96  |>  8B45 08       MOV EAX,DWORD PTR SS:[EBP+8]
    291. 00490E99  |.  8B55 F0       MOV EDX,DWORD PTR SS:[EBP-10]            ;  //相连后字符串,设为字符串7
    292. 00490E9C  |.  E8 6B38F7FF   CALL AVIMPEGC.0040470C
    293. 00490EA1  |.  33C0          XOR EAX,EAX
    294. 00490EA3  |.  5A            POP EDX
    295. 00490EA4  |.  59            POP ECX
    296. 00490EA5  |.  59            POP ECX
    297. 00490EA6  |.  64:8910       MOV DWORD PTR FS:[EAX],EDX
    298. 00490EA9  |.  68 D30E4900   PUSH AVIMPEGC.00490ED3
    299. 00490EAE  |>  8D45 E0       LEA EAX,DWORD PTR SS:[EBP-20]
    300. 00490EB1  |.  E8 0238F7FF   CALL AVIMPEGC.004046B8
    301. 00490EB6  |.  8D45 F0       LEA EAX,DWORD PTR SS:[EBP-10]
    302. 00490EB9  |.  E8 FA37F7FF   CALL AVIMPEGC.004046B8
    303. 00490EBE  |.  8D45 F8       LEA EAX,DWORD PTR SS:[EBP-8]
    304. 00490EC1  |.  BA 02000000   MOV EDX,2
    305. 00490EC6  |.  E8 1138F7FF   CALL AVIMPEGC.004046DC
    306. 00490ECB  \.  C3            RETN
    307. 00490ECC   .^ E9 6B31F7FF   JMP AVIMPEGC.0040403C
    308. 00490ED1   .^ EB DB         JMP SHORT AVIMPEGC.00490EAE
    309. 00490ED3   .  5F            POP EDI
    310. 00490ED4   .  5E            POP ESI
    311. 00490ED5   .  5B            POP EBX
    312. 00490ED6   .  8BE5          MOV ESP,EBP
    313. 00490ED8   .  5D            POP EBP
    314. 00490ED9   .  C2 0400       RETN 4
    复制代码
    **************************************************************  
    【破解总结】
    这段时间工硕的课终于上完了,继续学习《加密与解密》
    --------------------------------------------------------------
    【算法总结】
    将用户名变形后分成两部分作循环运算,将得到的结果加以处理就是注册码
    --------------------------------------------------------------
    【算法注册机
    易代码
    .版本 2

    .子程序 _按钮1_被单击
    .局部变量 Serial, 文本型, , , 变量
    .局部变量 字符串1, 文本型
    .局部变量 字符串2, 文本型
    .局部变量 字符串3, 文本型
    .局部变量 字符串4, 文本型
    .局部变量 字符串5, 文本型
    .局部变量 字符串6, 文本型
    .局部变量 字符串7, 文本型
    .局部变量 字符串8, 文本型
    .局部变量 字符串1长度, 整数型
    .局部变量 字符串2长度, 整数型
    .局部变量 字符串3长度, 整数型
    .局部变量 a, 整数型
    .局部变量 b, 整数型
    .局部变量 c, 整数型
    .局部变量 d, 整数型
    .局部变量 e, 整数型
    .局部变量 i, 整数型
    .局部变量 j, 整数型

    字符串1 = 编辑框1.内容 + “J5c2V~9I3Wp”
    字符串1长度 = 取文本长度 (字符串1)
    字符串2长度 = 右移 (字符串1长度, 1)
    字符串2 = 取文本左边 (字符串1, 字符串2长度)
    字符串3 = 取文本右边 (字符串1, 字符串1长度 - 字符串2长度)
    字符串4 = 字符串3 + 字符串2
    字符串5 = 取文本左边 (字符串4, 10)
    字符串6 = 取文本中间 (字符串4, 6, 取文本长度 (字符串4) - 5)
    b = 256
    字符串8 = “100”
    .计次循环首 (取文本长度 (字符串5), i)
        a = 取代码 (字符串5, i)
        a = a + b
        c = 255
        b = a % c
        .如果 (d ≥ 取文本长度 (字符串6))
            d = 1
        .否则
            d = d + 1
        .如果结束

        e = 取代码 (字符串6, d)
        b = 位异或 (b, e)
        字符串7 = 取十六进制文本 (b)
        .计次循环首 (2 - 取文本长度 (字符串7), j)
            字符串7 = “0” + 字符串7
        .计次循环尾 ()
        字符串8 = 字符串8 + 字符串7
    .计次循环尾 ()
    编辑框2.内容 = 取文本左边 (字符串8, 5) + “-” + 取文本中间 (字符串8, 6, 5) + “-” + 取文本中间 (字符串8, 11, 5)
    --------------------------------------------------------------
    【内存注册机】
    中断地址 00491AFF
    中断次数 1
    第一字节 E8
    指令长度 5

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

    评分

    参与人数 1威望 +80 飘云币 +80 收起 理由
    hj2008mt + 80 + 80 PYG有你更精彩!

    查看全部评分

    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2017-10-25 13:07
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    发表于 2008-8-24 11:21:05 | 显示全部楼层

    沙发啊

    /:001 /:001

    评分

    参与人数 1威望 -40 收起 理由
    hj2008mt -40 请勿恶意灌水

    查看全部评分

    PYG19周年生日快乐!
  • TA的每日心情

    3 天前
  • 签到天数: 2455 天

    [LV.Master]伴坛终老

    发表于 2008-8-24 12:48:20 | 显示全部楼层
    /:014 内功见长涨啊,有时间快学啊/:002
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2018-12-18 12:34
  • 签到天数: 4 天

    [LV.2]偶尔看看I

    发表于 2008-8-25 18:30:39 | 显示全部楼层
    学习,学习,再学习。
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2017-10-25 13:07
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    发表于 2008-8-26 08:14:27 | 显示全部楼层

    好冤枉啊

    我不是故意的啊
    那字些怎么没有发出 啊
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2024-6-9 12:10
  • 签到天数: 21 天

    [LV.4]偶尔看看III

    发表于 2008-8-26 15:36:05 | 显示全部楼层
    看了这篇文章,真的有些开窍了,谢谢提供
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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