飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 4228|回复: 2

[原创] [暴破入门]Amadis DVD Ripper 暴破分析

[复制链接]

该用户从未签到

发表于 2007-5-31 16:09:43 | 显示全部楼层 |阅读模式
Amadis 这个公司的软件,暴破后向注册表写入某数值代表已注册.所以采取暴破的方式更快速直接.并且可任意修改软件注册给谁.

Amadis公司官方网站:
http://www.amadis-soft.com/



  1. 00402E30  /.  55            push    ebp
  2. 00402E31  |.  8BEC          mov     ebp, esp
  3. 00402E33  |.  64:A1 0000000>mov     eax, dword ptr fs:[0]
  4. 00402E39  |.  6A FF         push    -1
  5. 00402E3B  |.  68 93B44A00   push    004AB493
  6. 00402E40  |.  50            push    eax
  7. 00402E41  |.  B8 34110000   mov     eax, 1134
  8. 00402E46  |.  64:8925 00000>mov     dword ptr fs:[0], esp
  9. 00402E4D  |.  E8 0E360700   call    00476460
  10. 00402E52  |.  53            push    ebx
  11. 00402E53  |.  56            push    esi
  12. 00402E54  |.  8BD9          mov     ebx, ecx
  13. 00402E56  |.  8D45 D0       lea     eax, dword ptr [ebp-30]
  14. 00402E59  |.  57            push    edi
  15. 00402E5A  |.  8D8D C0EEFFFF lea     ecx, dword ptr [ebp-1140]
  16. 00402E60  |.  50            push    eax                              ; /pValueSize
  17. 00402E61  |.  51            push    ecx                              ; |Value
  18. 00402E62  |.  68 98F44C00   push    004CF498                         ; |Subkey = "Software\Amadis Software\DVDVIDEO\register"
  19. 00402E67  |.  68 01000080   push    80000001                         ; |hKey = HKEY_CURRENT_USER
  20. 00402E6C  |.  C745 D0 00020>mov     dword ptr [ebp-30], 200          ; |
  21. 00402E73  |.  FF15 00204B00 call    dword ptr [<&ADVAPI32.RegQueryVa>; \RegQueryValueA
  22. 00402E79  |.  85C0          test    eax, eax
  23. 00402E7B  |.  75 23         jnz     short 00402EA0                   ;  查看是否向注册表写入过信息 没有则跳走
  24. 00402E7D  |.  8D95 C0EEFFFF lea     edx, dword ptr [ebp-1140]
  25. 00402E83  |.  52            push    edx
  26. 00402E84  |.  E8 CA350700   call    00476453                         ;  查看注册表中register键值是否为1,是则表示已注册.
  27. 00402E89  |.  83C4 04       add     esp, 4
  28. 00402E8C  |.  83F8 01       cmp     eax, 1
  29. 00402E8F  |.  75 0F         jnz     short 00402EA0
  30. 00402E91  |.  8B03          mov     eax, dword ptr [ebx]
  31. 00402E93  |.  8BCB          mov     ecx, ebx
  32. 00402E95  |.  FF90 C4000000 call    dword ptr [eax+C4]
  33. 00402E9B  |.  E9 9A030000   jmp     0040323A
  34. 00402EA0  |>  A1 80784D00   mov     eax, dword ptr [4D7880]
  35. 00402EA5  |.  8945 D4       mov     dword ptr [ebp-2C], eax
  36. 00402EA8  |.  C745 FC 00000>mov     dword ptr [ebp-4], 0
  37. 00402EAF  |.  8945 E4       mov     dword ptr [ebp-1C], eax
  38. 00402EB2  |.  8D55 D4       lea     edx, dword ptr [ebp-2C]
  39. 00402EB5  |.  8D8B A0000000 lea     ecx, dword ptr [ebx+A0]
  40. 00402EBB  |.  52            push    edx
  41. 00402EBC  |.  C645 FC 01    mov     byte ptr [ebp-4], 1
  42. 00402EC0  |.  E8 48840900   call    0049B30D
  43. 00402EC5  |.  8B45 D4       mov     eax, dword ptr [ebp-2C]
  44. 00402EC8  |.  68 00CA4D00   push    004DCA00                         ; /Arg2 = 004DCA00
  45. 00402ECD  |.  50            push    eax                              ; |Arg1
  46. 00402ECE  |.  E8 38320700   call    0047610B                         ; \Amadis_D.0047610B
  47. 00402ED3  |.  83C4 08       add     esp, 8
  48. 00402ED6  |.  85C0          test    eax, eax
  49. 00402ED8  |.  0F84 2E030000 je      0040320C
  50. 00402EDE  |.  8B4D D4       mov     ecx, dword ptr [ebp-2C]
  51. 00402EE1  |.  8379 F8 12    cmp     dword ptr [ecx-8], 12            ;  KEY应该大于12H即18位
  52. 00402EE5      0F8E 21030000 jle     0040320C
  53. 00402EEB  |.  8D4D E4       lea     ecx, dword ptr [ebp-1C]
  54. 00402EEE  |.  C645 FC 00    mov     byte ptr [ebp-4], 0
  55. 00402EF2  |.  E8 C3B70900   call    0049E6BA
  56. 00402EF7  |.  8D4D D4       lea     ecx, dword ptr [ebp-2C]
  57. 00402EFA  |.  C745 FC FFFFF>mov     dword ptr [ebp-4], -1
  58. 00402F01  |.  E8 B4B70900   call    0049E6BA
  59. 00402F06  |.  68 F4F54C00   push    004CF5F4                         ;  ASCII "DVDVIDEO"
  60. 00402F0B  |.  8D4D D8       lea     ecx, dword ptr [ebp-28]
  61. 00402F0E  |.  E8 15B80900   call    0049E728
  62. 00402F13  |.  A1 80784D00   mov     eax, dword ptr [4D7880]
  63. 00402F18  |.  C745 FC 02000>mov     dword ptr [ebp-4], 2
  64. 00402F1F  |.  8945 EC       mov     dword ptr [ebp-14], eax
  65. 00402F22  |.  8945 E8       mov     dword ptr [ebp-18], eax
  66. 00402F25  |.  8B43 60       mov     eax, dword ptr [ebx+60]
  67. 00402F28  |.  C645 FC 04    mov     byte ptr [ebp-4], 4
  68. 00402F2C  |.  85C0          test    eax, eax
  69. 00402F2E  |.  75 7D         jnz     short 00402FAD
  70. 00402F30  |.  6A 40         push    40
  71. 00402F32  |.  E8 ACAB0900   call    0049DAE3
  72. 00402F37  |.  83C4 04       add     esp, 4
  73. 00402F3A  |.  8945 E4       mov     dword ptr [ebp-1C], eax
  74. 00402F3D  |.  85C0          test    eax, eax
  75. 00402F3F  |.  C645 FC 05    mov     byte ptr [ebp-4], 5
  76. 00402F43  |.  74 0B         je      short 00402F50
  77. 00402F45  |.  8BC8          mov     ecx, eax
  78. 00402F47  |.  E8 D4710100   call    0041A120
  79. 00402F4C  |.  8BF0          mov     esi, eax
  80. 00402F4E  |.  EB 02         jmp     short 00402F52
  81. 00402F50  |>  33F6          xor     esi, esi
  82. 00402F52  |>  85F6          test    esi, esi
  83. 00402F54  |.  0F95C0        setne   al
  84. 00402F57  |.  8845 E0       mov     byte ptr [ebp-20], al
  85. 00402F5A  |.  8975 E4       mov     dword ptr [ebp-1C], esi
  86. 00402F5D  |.  8D7B 5C       lea     edi, dword ptr [ebx+5C]
  87. 00402F60  |.  8D55 E0       lea     edx, dword ptr [ebp-20]
  88. 00402F63  |.  3BFA          cmp     edi, edx
  89. 00402F65  |.  C645 FC 06    mov     byte ptr [ebp-4], 6
  90. 00402F69  |.  74 2E         je      short 00402F99
  91. 00402F6B  |.  8B4F 04       mov     ecx, dword ptr [edi+4]
  92. 00402F6E  |.  3BCE          cmp     ecx, esi
  93. 00402F70  |.  74 16         je      short 00402F88
  94. 00402F72  |.  803F 00       cmp     byte ptr [edi], 0
  95. 00402F75  |.  74 0D         je      short 00402F84
  96. 00402F77  |.  85C9          test    ecx, ecx
  97. 00402F79  |.  74 09         je      short 00402F84
  98. 00402F7B  |.  8B01          mov     eax, dword ptr [ecx]
  99. 00402F7D  |.  6A 01         push    1
  100. 00402F7F  |.  FF10          call    dword ptr [eax]
  101. 00402F81  |.  8A45 E0       mov     al, byte ptr [ebp-20]
  102. 00402F84  |>  8807          mov     byte ptr [edi], al
  103. 00402F86  |.  EB 07         jmp     short 00402F8F
  104. 00402F88  |>  84C0          test    al, al
  105. 00402F8A  |.  74 03         je      short 00402F8F
  106. 00402F8C  |.  C607 01       mov     byte ptr [edi], 1
  107. 00402F8F  |>  C645 E0 00    mov     byte ptr [ebp-20], 0
  108. 00402F93  |.  8A45 E0       mov     al, byte ptr [ebp-20]
  109. 00402F96  |.  8977 04       mov     dword ptr [edi+4], esi
  110. 00402F99  |>  84C0          test    al, al
  111. 00402F9B  |.  C645 FC 04    mov     byte ptr [ebp-4], 4
  112. 00402F9F  |.  74 0C         je      short 00402FAD
  113. 00402FA1  |.  85F6          test    esi, esi
  114. 00402FA3  |.  74 08         je      short 00402FAD
  115. 00402FA5  |.  8B16          mov     edx, dword ptr [esi]
  116. 00402FA7  |.  6A 01         push    1
  117. 00402FA9  |.  8BCE          mov     ecx, esi
  118. 00402FAB  |.  FF12          call    dword ptr [edx]
  119. 00402FAD  |>  8B45 D8       mov     eax, dword ptr [ebp-28]
  120. 00402FB0  |.  6A 10         push    10
  121. 00402FB2  |.  8D4D C0       lea     ecx, dword ptr [ebp-40]
  122. 00402FB5  |.  50            push    eax
  123. 00402FB6  |.  51            push    ecx
  124. 00402FB7  |.  E8 D4340700   call    00476490
  125. 00402FBC  |.  8B4B 60       mov     ecx, dword ptr [ebx+60]
  126. 00402FBF  |.  83C4 0C       add     esp, 0C
  127. 00402FC2  |.  8D55 C0       lea     edx, dword ptr [ebp-40]
  128. 00402FC5  |.  6A 00         push    0
  129. 00402FC7  |.  6A 00         push    0
  130. 00402FC9  |.  68 20684B00   push    004B6820
  131. 00402FCE  |.  6A 10         push    10
  132. 00402FD0  |.  52            push    edx
  133. 00402FD1  |.  E8 FA710100   call    0041A1D0
  134. 00402FD6  |.  A1 80784D00   mov     eax, dword ptr [4D7880]
  135. 00402FDB  |.  8B7B 60       mov     edi, dword ptr [ebx+60]
  136. 00402FDE  |.  8945 F0       mov     dword ptr [ebp-10], eax
  137. 00402FE1  |.  8D4D F0       lea     ecx, dword ptr [ebp-10]
  138. 00402FE4  |.  C645 FC 07    mov     byte ptr [ebp-4], 7
  139. 00402FE8  |.  51            push    ecx
  140. 00402FE9  |.  8D8B A0000000 lea     ecx, dword ptr [ebx+A0]
  141. 00402FEF  |.  E8 19830900   call    0049B30D
  142. 00402FF4  |.  8D4D F0       lea     ecx, dword ptr [ebp-10]
  143. 00402FF7  |.  E8 8A4A0900   call    00497A86
  144. 00402FFC  |.  8D4D F0       lea     ecx, dword ptr [ebp-10]
  145. 00402FFF  |.  E8 364A0900   call    00497A3A
  146. 00403004  |.  6A 04         push    4
  147. 00403006  |.  8D55 E4       lea     edx, dword ptr [ebp-1C]
  148. 00403009  |.  6A 0E         push    0E
  149. 0040300B  |.  52            push    edx
  150. 0040300C  |.  8D4D F0       lea     ecx, dword ptr [ebp-10]
  151. 0040300F  |.  E8 E1440900   call    004974F5
  152. 00403014  |.  50            push    eax
  153. 00403015  |.  8D4D E8       lea     ecx, dword ptr [ebp-18]
  154. 00403018  |.  C645 FC 08    mov     byte ptr [ebp-4], 8
  155. 0040301C  |.  E8 D2B70900   call    0049E7F3
  156. 00403021  |.  8D4D E4       lea     ecx, dword ptr [ebp-1C]
  157. 00403024  |.  C645 FC 07    mov     byte ptr [ebp-4], 7
  158. 00403028  |.  E8 8DB60900   call    0049E6BA
  159. 0040302D  |.  8B45 F0       mov     eax, dword ptr [ebp-10]
  160. 00403030  |.  8D4D E4       lea     ecx, dword ptr [ebp-1C]
  161. 00403033  |.  8B40 F8       mov     eax, dword ptr [eax-8]
  162. 00403036  |.  83C0 EE       add     eax, -12
  163. 00403039  |.  50            push    eax
  164. 0040303A  |.  51            push    ecx
  165. 0040303B  |.  8D4D F0       lea     ecx, dword ptr [ebp-10]
  166. 0040303E  |.  E8 48450900   call    0049758B
  167. 00403043  |.  50            push    eax
  168. 00403044  |.  8D4D EC       lea     ecx, dword ptr [ebp-14]
  169. 00403047  |.  C645 FC 09    mov     byte ptr [ebp-4], 9
  170. 0040304B  |.  E8 A3B70900   call    0049E7F3
  171. 00403050  |.  8D4D E4       lea     ecx, dword ptr [ebp-1C]
  172. 00403053  |.  C645 FC 07    mov     byte ptr [ebp-4], 7
  173. 00403057  |.  E8 5EB60900   call    0049E6BA
  174. 0040305C  |.  8B55 EC       mov     edx, dword ptr [ebp-14]
  175. 0040305F  |.  8B42 F8       mov     eax, dword ptr [edx-8]
  176. 00403062  |.  99            cdq
  177. 00403063  |.  2BC2          sub     eax, edx
  178. 00403065  |.  8BF0          mov     esi, eax
  179. 00403067  |.  D1FE          sar     esi, 1
  180. 00403069  |.  8BC6          mov     eax, esi
  181. 0040306B  |.  83C0 03       add     eax, 3
  182. 0040306E  |.  24 FC         and     al, 0FC
  183. 00403070  |.  E8 EB330700   call    00476460
  184. 00403075  |.  8BC4          mov     eax, esp
  185. 00403077  |.  56            push    esi
  186. 00403078  |.  8945 E4       mov     dword ptr [ebp-1C], eax
  187. 0040307B  |.  50            push    eax
  188. 0040307C  |.  8B45 EC       mov     eax, dword ptr [ebp-14]
  189. 0040307F  |.  50            push    eax
  190. 00403080  |.  E8 3B9D0100   call    0041CDC0
  191. 00403085  |.  8D46 01       lea     eax, dword ptr [esi+1]
  192. 00403088  |.  83C4 0C       add     esp, 0C
  193. 0040308B  |.  83C0 03       add     eax, 3
  194. 0040308E  |.  24 FC         and     al, 0FC
  195. 00403090  |.  E8 CB330700   call    00476460
  196. 00403095  |.  8965 DC       mov     dword ptr [ebp-24], esp
  197. 00403098  |.  8B17          mov     edx, dword ptr [edi]
  198. 0040309A  |.  8BCF          mov     ecx, edi
  199. 0040309C  |.  FF52 18       call    dword ptr [edx+18]
  200. 0040309F  |.  85C0          test    eax, eax
  201. 004030A1  |.  0F84 29010000 je      004031D0
  202. 004030A7  |.  8B4D DC       mov     ecx, dword ptr [ebp-24]
  203. 004030AA  |.  8B55 E4       mov     edx, dword ptr [ebp-1C]
  204. 004030AD  |.  8B07          mov     eax, dword ptr [edi]
  205. 004030AF  |.  56            push    esi
  206. 004030B0  |.  51            push    ecx
  207. 004030B1  |.  52            push    edx
  208. 004030B2  |.  8BCF          mov     ecx, edi
  209. 004030B4  |.  FF50 0C       call    dword ptr [eax+C]
  210. 004030B7  |.  85C0          test    eax, eax
  211. 004030B9  |.  0F84 11010000 je      004031D0                         ;  这里要NOP掉 暴破点1
  212. 004030BF  |.  8B45 DC       mov     eax, dword ptr [ebp-24]
  213. 004030C2  |.  50            push    eax
  214. 004030C3  |.  C60430 00     mov     byte ptr [eax+esi], 0
  215. 004030C7  |.  8B45 E8       mov     eax, dword ptr [ebp-18]
  216. 004030CA  |.  50            push    eax
  217. 004030CB  |.  E8 63310700   call    00476233
  218. 004030D0  |.  83C4 08       add     esp, 8
  219. 004030D3  |.  8BCB          mov     ecx, ebx
  220. 004030D5  |.  85C0          test    eax, eax
  221. 004030D7  |.  6A 40         push    40
  222. 004030D9      0F85 F5000000 jnz     004031D4                         ;  这样修改为NOP NOP掉弹出注册成功对话框
  223. 004030DF  |.  68 E4F54C00   push    004CF5E4                         ;  ASCII "Congratulate"
  224. 004030E4  |.  68 A4F54C00   push    004CF5A4                         ;  ASCII "Succeed to register!",LF,"You get all features and free supports!"
  225. 004030E9  |.  E8 DE8E0900   call    0049BFCC
  226. 004030EE  |.  8D4D DC       lea     ecx, dword ptr [ebp-24]          ;  以下代码开始向注册表写入信息.
  227. 004030F1  |.  51            push    ecx                              ; /pHandle
  228. 004030F2  |.  68 80F54C00   push    004CF580                         ; |Subkey = "Software\Amadis Software\DVDVIDEO"
  229. 004030F7  |.  68 01000080   push    80000001                         ; |hKey = HKEY_CURRENT_USER
  230. 004030FC  |.  FF15 0C204B00 call    dword ptr [<&ADVAPI32.RegCreateK>; \RegCreateKeyA
  231. 00403102  |.  8B35 08204B00 mov     esi, dword ptr [<&ADVAPI32.RegSe>;  ADVAPI32.RegSetValueA
  232. 00403108  |.  85C0          test    eax, eax
  233. 0040310A  |.  0F85 95000000 jnz     004031A5
  234. 00403110  |.  6A 01         push    1
  235. 00403112  |.  8D95 C0FEFFFF lea     edx, dword ptr [ebp-140]
  236. 00403118  |.  68 7CF54C00   push    004CF57C                         ;  ASCII "%d"
  237. 0040311D  |.  52            push    edx
  238. 0040311E  |.  E8 D72E0700   call    00475FFA
  239. 00403123  |.  8DBD C0FEFFFF lea     edi, dword ptr [ebp-140]
  240. 00403129  |.  83C9 FF       or      ecx, FFFFFFFF
  241. 0040312C  |.  33C0          xor     eax, eax
  242. 0040312E  |.  83C4 0C       add     esp, 0C
  243. 00403131  |.  F2:AE         repne   scas byte ptr es:[edi]
  244. 00403133  |.  F7D1          not     ecx
  245. 00403135  |.  49            dec     ecx
  246. 00403136  |.  8D85 C0FEFFFF lea     eax, dword ptr [ebp-140]
  247. 0040313C  |.  51            push    ecx
  248. 0040313D  |.  8B4D DC       mov     ecx, dword ptr [ebp-24]
  249. 00403140  |.  50            push    eax
  250. 00403141  |.  6A 01         push    1
  251. 00403143  |.  68 70F54C00   push    004CF570                         ;  ASCII "register"
  252. 00403148  |.  51            push    ecx
  253. 00403149  |.  FFD6          call    esi
  254. 0040314B  |.  8B55 EC       mov     edx, dword ptr [ebp-14]
  255. 0040314E  |.  8B45 E8       mov     eax, dword ptr [ebp-18]
  256. 00403151  |.  52            push    edx
  257. 00403152  |.  50            push    eax
  258. 00403153  |.  68 F4F54C00   push    004CF5F4                         ;  ASCII "DVDVIDEO"
  259. 00403158  |.  8D8D C0FEFFFF lea     ecx, dword ptr [ebp-140]
  260. 0040315E  |.  68 60F54C00   push    004CF560                         ;  ASCII "AMADIS%s%s%s"
  261. 00403163  |.  51            push    ecx
  262. 00403164  |.  E8 912E0700   call    00475FFA
  263. 00403169  |.  8DBD C0FEFFFF lea     edi, dword ptr [ebp-140]
  264. 0040316F  |.  83C9 FF       or      ecx, FFFFFFFF
  265. 00403172  |.  33C0          xor     eax, eax
  266. 00403174  |.  83C4 14       add     esp, 14
  267. 00403177  |.  F2:AE         repne   scas byte ptr es:[edi]
  268. 00403179  |.  8B45 DC       mov     eax, dword ptr [ebp-24]
  269. 0040317C  |.  8D95 C0FEFFFF lea     edx, dword ptr [ebp-140]
  270. 00403182  |.  F7D1          not     ecx
  271. 00403184  |.  49            dec     ecx
  272. 00403185  |.  51            push    ecx
  273. 00403186  |.  52            push    edx
  274. 00403187  |.  6A 01         push    1
  275. 00403189  |.  68 5CF54C00   push    004CF55C                         ;  ASCII "key"
  276. 0040318E  |.  50            push    eax
  277. 0040318F  |.  FFD6          call    esi
  278. 00403191  |.  8B4D DC       mov     ecx, dword ptr [ebp-24]
  279. 00403194  |.  51            push    ecx                              ; /hKey
  280. 00403195  |.  FF15 04204B00 call    dword ptr [<&ADVAPI32.RegCloseKe>; \RegCloseKey
  281. 0040319B  |.  C705 44AC4E00>mov     dword ptr [4EAC44], 1
  282. 004031A5  |>  6A 02         push    2
  283. 004031A7  |.  68 58F54C00   push    004CF558
  284. 004031AC  |.  6A 01         push    1
  285. 004031AE  |.  68 38F54C00   push    004CF538                         ;  ASCII "Software\Amadis Software\pro"
  286. 004031B3  |.  68 01000080   push    80000001
  287. 004031B8  |.  FFD6          call    esi
  288. 004031BA  |.  C705 4CAC4E00>mov     dword ptr [4EAC4C], 1
  289. 004031C4  |.  8B13          mov     edx, dword ptr [ebx]
  290. 004031C6  |.  8BCB          mov     ecx, ebx
  291. 004031C8  |.  FF92 C4000000 call    dword ptr [edx+C4]
  292. 004031CE  |.  EB 13         jmp     short 004031E3
  293. 004031D0  |>  6A 40         push    40
  294. 004031D2  |.  8BCB          mov     ecx, ebx
  295. 004031D4  |>  68 30F54C00   push    004CF530                         ;  ASCII "Sorry"
  296. 004031D9  |.  68 14F54C00   push    004CF514                         ;  ASCII "Invalid Registration Code!"
  297. 004031DE  |.  E8 E98D0900   call    0049BFCC


复制代码


注册信息保存到这里:
HKEY_CURRENT_USER\Software\Amadis Software\DVDVIDEO\key

其中KEY的键值显示软件注册给谁,可任意修改.
register的键值若为1则代表已注册.

软件对新手来说练手即可,有兴趣的朋友可看下算法.

评分

参与人数 1威望 +20 收起 理由
tigerisme + 20 鼓励

查看全部评分

PYG19周年生日快乐!
  • TA的每日心情
    开心
    2017-12-8 13:11
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2007-12-2 10:22:33 | 显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-12-2 23:58:30 | 显示全部楼层
    很好的啊,谢谢了哦!!
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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