飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 4585|回复: 0

[原创] E程序12位Crackme 简单分析

[复制链接]
  • TA的每日心情
    无聊
    2020-4-10 17:02
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    发表于 2006-11-22 21:46:00 | 显示全部楼层 |阅读模式
    破解日期】 2006年11月22日
    【破解作者】 冷血书生
    【作者邮箱】 meiyou
    【作者主页】 hxxp://www.126sohu.com/
    【使用工具】 OD
    【破解平台】 Win9x/NT/2000/XP
    【软件名称】 e
    【下载地址】 本地
    【软件大小】 534k
    【加壳方式】 无
    【破解声明】 我是一只小菜鸟,偶得一点心得,愿与大家分享:)
    ------------------------------------------------------------------------

    --------
    【破解内容】


    1. 0040A0C0   sub esp,24
    2. 0040A0C6   call ECRACKME.0040A299                      ; 算法Call
    3. 0040A0CB   push -1
    4. 0040A0CD   push 8
    5. 0040A0CF   push 16010003
    6. 0040A0D4   push 52010001
    7. 0040A0D9   call ECRACKME.0040A6D1
    8. 0040A0DE   add esp,10
    9. 0040A0E1   mov dword ptr ss:[ebp-4],eax                ; 注册码1
    10. 0040A0E4   mov eax,dword ptr ds:[CA0D28]
    11. 0040A0E9   push eax
    12. 0040A0EA   push dword ptr ss:[ebp-4]
    13. 0040A0ED   call ECRACKME.00409F0C
    14. 0040A0F2   add esp,8
    15. 0040A0F5   cmp eax,0
    16. 0040A0F8   mov eax,0
    17. 0040A0FD   sete al
    18. 0040A100   mov dword ptr ss:[ebp-8],eax
    19. 0040A103   mov ebx,dword ptr ss:[ebp-4]
    20. 0040A106   test ebx,ebx
    21. 0040A108   je short ECRACKME.0040A113
    22. 0040A10A   push ebx
    23. 0040A10B   call ECRACKME.0040A6C5
    24. 0040A110   add esp,4
    25. 0040A113   cmp dword ptr ss:[ebp-8],0
    26. 0040A117   je ECRACKME.0040A21A                        ; 相等就失败
    27. 0040A11D   push -1
    28. 0040A11F   push 8
    29. 0040A121   push 16010004
    30. 0040A126   push 52010001
    31. 0040A12B   call ECRACKME.0040A6D1
    32. 0040A130   add esp,10
    33. 0040A133   mov dword ptr ss:[ebp-C],eax                ; 注册码2
    34. 0040A136   mov eax,dword ptr ds:[CA0D2C]
    35. 0040A13B   push eax
    36. 0040A13C   push dword ptr ss:[ebp-C]
    37. 0040A13F   call ECRACKME.00409F0C
    38. 0040A144   add esp,8
    39. 0040A147   cmp eax,0
    40. 0040A14A   mov eax,0
    41. 0040A14F   sete al
    42. 0040A152   mov dword ptr ss:[ebp-10],eax
    43. 0040A155   mov ebx,dword ptr ss:[ebp-C]
    44. 0040A158   test ebx,ebx
    45. 0040A15A   je short ECRACKME.0040A165
    46. 0040A15C   push ebx
    47. 0040A15D   call ECRACKME.0040A6C5
    48. 0040A162   add esp,4
    49. 0040A165   cmp dword ptr ss:[ebp-10],0
    50. 0040A169   je ECRACKME.0040A21A                        ; 相等就失败
    51. 0040A16F   push -1
    52. 0040A171   push 8
    53. 0040A173   push 16010005
    54. 0040A178   push 52010001
    55. 0040A17D   call ECRACKME.0040A6D1
    56. 0040A182   add esp,10
    57. 0040A185   mov dword ptr ss:[ebp-14],eax               ; 注册码3
    58. 0040A188   mov eax,dword ptr ds:[CA0D30]
    59. 0040A18D   push eax
    60. 0040A18E   push dword ptr ss:[ebp-14]
    61. 0040A191   call ECRACKME.00409F0C
    62. 0040A196   add esp,8
    63. 0040A199   cmp eax,0
    64. 0040A19C   mov eax,0
    65. 0040A1A1   sete al
    66. 0040A1A4   mov dword ptr ss:[ebp-18],eax
    67. 0040A1A7   mov ebx,dword ptr ss:[ebp-14]
    68. 0040A1AA   test ebx,ebx
    69. 0040A1AC   je short ECRACKME.0040A1B7
    70. 0040A1AE   push ebx
    71. 0040A1AF   call ECRACKME.0040A6C5
    72. 0040A1B4   add esp,4
    73. 0040A1B7   cmp dword ptr ss:[ebp-18],0
    74. 0040A1BB   je ECRACKME.0040A21A                        ; 相等就失败
    75. 0040A1C1   push -1
    76. 0040A1C3   push 8
    77. 0040A1C5   push 16010006
    78. 0040A1CA   push 52010001
    79. 0040A1CF   call ECRACKME.0040A6D1
    80. 0040A1D4   add esp,10
    81. 0040A1D7   mov dword ptr ss:[ebp-1C],eax               ; 注册码4
    82. 0040A1DA   mov eax,dword ptr ds:[CA0D34]
    83. 0040A1DF   push eax
    84. 0040A1E0   push dword ptr ss:[ebp-1C]
    85. 0040A1E3   call ECRACKME.00409F0C
    86. 0040A1E8   add esp,8
    87. 0040A1EB   cmp eax,0
    88. 0040A1EE   mov eax,0
    89. 0040A1F3   sete al
    90. 0040A1F6   mov dword ptr ss:[ebp-20],eax
    91. 0040A1F9   mov ebx,dword ptr ss:[ebp-1C]
    92. 0040A1FC   test ebx,ebx
    93. 0040A1FE   je short ECRACKME.0040A209
    94. 0040A200   push ebx
    95. 0040A201   call ECRACKME.0040A6C5
    96. 0040A206   add esp,4
    97. 0040A209   cmp dword ptr ss:[ebp-20],0
    98. 0040A20D   je ECRACKME.0040A21A                        ; 相等就失败
    99. 0040A213   mov eax,1
    100. 0040A218   jmp short ECRACKME.0040A21C
    101. 0040A21A   xor eax,eax
    102. 0040A21C   test eax,eax
    103. 0040A21E   je ECRACKME.0040A25F
    104. 0040A224   push 80000004
    105. 0040A229   push 0
    106. 0040A22B   push ECRACKME.004090CE                      ; 欢迎你访问飘云阁
    107. 0040A230   push 80000301
    108. 0040A235   push 0
    109. 0040A237   push 0
    110. 0040A23C   push 80000004
    111. 0040A241   push 0
    112. 0040A243   push ECRACKME.004090DF                      ; 注册成功
    113. 0040A248   push 3
    114. 0040A24D   mov ebx,300
    115. 0040A252   call ECRACKME.0040A6CB
    116. 0040A257   add esp,28
    117. 0040A25A   jmp ECRACKME.0040A295
    118. 0040A25F   push 80000004
    119. 0040A264   push 0
    120. 0040A266   push ECRACKME.004090E8                      ; 出错了!
    121. 0040A26B   push 80000301
    122. 0040A270   push 0
    123. 0040A272   push 0
    124. 0040A277   push 80000004
    125. 0040A27C   push 0
    126. 0040A27E   push ECRACKME.004090F1                      ; 你输入的注册码有误,请联系软件作者
    127. 0040A283   push 3
    128. 0040A288   mov ebx,300
    129. 0040A28D   call ECRACKME.0040A6CB
    130. 0040A292   add esp,28
    131. 0040A295   mov esp,ebp
    132. 0040A297   pop ebp
    133. 0040A298   retn

    134. /////////////////////////////////////////////////////////////////////////
    135. /////////////////////////////////////////////////////////////////////////


    136. 0040A2AF   push 1
    137. 0040A2B4   mov ebx,164
    138. 0040A2B9   call ECRACKME.0040A6CB
    139. 0040A2BE   add esp,10
    140. 0040A2C1   mov dword ptr ss:[ebp-8],eax
    141. 0040A2C4   mov dword ptr ss:[ebp-4],edx
    142. 0040A2C7   push 80000301
    143. 0040A2CC   push 0
    144. 0040A2CE   push 4B4EB28                              
    145. 0040A2D3   fld qword ptr ss:[ebp-8]                    ; 机器码
    146. 0040A2D6   call ECRACKME.00409FA9
    147. 0040A2DB   push 80000301
    148. 0040A2E0   push 0
    149. 0040A2E2   push eax
    150. 0040A2E3   push 2
    151. 0040A2E8   mov ebx,0CC
    152. 0040A2ED   call ECRACKME.0040A6CB                      ; 算法Call
    153. 0040A2F2   add esp,1C
    154. 0040A2F5   push 80000301
    155. 0040A2FA   push 0
    156. 0040A2FC   push eax
    157. 0040A2FD   push 1
    158. 0040A302   mov ebx,168
    159. 0040A307   call ECRACKME.0040A6CB
    160. 0040A30C   add esp,10
    161. 0040A30F   mov dword ptr ss:[ebp-10],eax               ; eax保存结果
    162. 0040A312   push 80000301
    163. 0040A317   push 0
    164. 0040A319   push 4
    165. 0040A31E   push 80000301
    166. 0040A323   push 0
    167. 0040A325   push 2
    168. 0040A32A   push 80000004
    169. 0040A32F   push 0
    170. 0040A331   mov eax,dword ptr ss:[ebp-10]
    171. 0040A334   test eax,eax
    172. 0040A336   jnz short ECRACKME.0040A33D
    173. 0040A338   mov eax,ECRACKME.004090CD
    174. 0040A33D   push eax
    175. 0040A33E   push 3
    176. 0040A343   mov ebx,13C
    177. 0040A348   call ECRACKME.0040A6CB                      ; 取2到5位
    178. 0040A34D   add esp,28
    179. 0040A350   mov dword ptr ss:[ebp-14],eax               ; 保存注册码1
    180. 0040A353   mov ebx,dword ptr ss:[ebp-10]
    181. 0040A356   test ebx,ebx
    182. 0040A358   je short ECRACKME.0040A363
    183. 0040A35A   push ebx
    184. 0040A35B   call ECRACKME.0040A6C5
    185. 0040A360   add esp,4
    186. 0040A363   mov ebx,dword ptr ds:[CA0D28]
    187. 0040A369   test ebx,ebx
    188. 0040A36B   je short ECRACKME.0040A376
    189. 0040A36D   push ebx
    190. 0040A36E   call ECRACKME.0040A6C5
    191. 0040A373   add esp,4
    192. 0040A376   mov eax,dword ptr ss:[ebp-14]
    193. 0040A379   mov dword ptr ds:[CA0D28],eax
    194. 0040A37E   push 80000301
    195. 0040A383   push 0
    196. 0040A385   push dword ptr ds:[CA0D20]
    197. 0040A38B   push 1
    198. 0040A390   mov ebx,164
    199. 0040A395   call ECRACKME.0040A6CB
    200. 0040A39A   add esp,10
    201. 0040A39D   mov dword ptr ss:[ebp-8],eax
    202. 0040A3A0   mov dword ptr ss:[ebp-4],edx
    203. 0040A3A3   push 80000301
    204. 0040A3A8   push 0
    205. 0040A3AA   push 22F16632                               ;
    206. 0040A3AF   fld qword ptr ss:[ebp-8]                    ; 机器码
    207. 0040A3B2   call ECRACKME.00409FA9
    208. 0040A3B7   push 80000301
    209. 0040A3BC   push 0
    210. 0040A3BE   push eax
    211. 0040A3BF   push 2
    212. 0040A3C4   mov ebx,0CC
    213. 0040A3C9   call ECRACKME.0040A6CB                      ; 算法Call
    214. 0040A3CE   add esp,1C
    215. 0040A3D1   push 80000301
    216. 0040A3D6   push 0
    217. 0040A3D8   push eax
    218. 0040A3D9   push 1
    219. 0040A3DE   mov ebx,168
    220. 0040A3E3   call ECRACKME.0040A6CB
    221. 0040A3E8   add esp,10
    222. 0040A3EB   mov dword ptr ss:[ebp-10],eax               ; eax保存结果
    223. 0040A3EE   push 80000301
    224. 0040A3F3   push 0
    225. 0040A3F5   push 4
    226. 0040A3FA   push 80000301
    227. 0040A3FF   push 0
    228. 0040A401   push 2
    229. 0040A406   push 80000004
    230. 0040A40B   push 0
    231. 0040A40D   mov eax,dword ptr ss:[ebp-10]
    232. 0040A410   test eax,eax
    233. 0040A412   jnz short ECRACKME.0040A419
    234. 0040A414   mov eax,ECRACKME.004090CD
    235. 0040A419   push eax
    236. 0040A41A   push 3
    237. 0040A41F   mov ebx,13C
    238. 0040A424   call ECRACKME.0040A6CB                      ; 取2到5位
    239. 0040A429   add esp,28
    240. 0040A42C   mov dword ptr ss:[ebp-14],eax               ; 保存注册码2
    241. 0040A42F   mov ebx,dword ptr ss:[ebp-10]
    242. 0040A432   test ebx,ebx
    243. 0040A434   je short ECRACKME.0040A43F
    244. 0040A436   push ebx
    245. 0040A437   call ECRACKME.0040A6C5
    246. 0040A43C   add esp,4
    247. 0040A43F   mov ebx,dword ptr ds:[CA0D2C]
    248. 0040A445   test ebx,ebx
    249. 0040A447   je short ECRACKME.0040A452
    250. 0040A449   push ebx
    251. 0040A44A   call ECRACKME.0040A6C5
    252. 0040A44F   add esp,4
    253. 0040A452   mov eax,dword ptr ss:[ebp-14]
    254. 0040A455   mov dword ptr ds:[CA0D2C],eax
    255. 0040A45A   push 80000301
    256. 0040A45F   push 0
    257. 0040A461   push dword ptr ds:[CA0D20]
    258. 0040A467   push 1
    259. 0040A46C   mov ebx,164
    260. 0040A471   call ECRACKME.0040A6CB
    261. 0040A476   add esp,10
    262. 0040A479   mov dword ptr ss:[ebp-8],eax
    263. 0040A47C   mov dword ptr ss:[ebp-4],edx
    264. 0040A47F   push 80000301
    265. 0040A484   push 0
    266. 0040A486   push 2CF062E0                               ;
    267. 0040A48B   fld qword ptr ss:[ebp-8]                    ; 机器码
    268. 0040A48E   call ECRACKME.00409FA9
    269. 0040A493   push 80000301
    270. 0040A498   push 0
    271. 0040A49A   push eax
    272. 0040A49B   push 2
    273. 0040A4A0   mov ebx,0CC
    274. 0040A4A5   call ECRACKME.0040A6CB                      ; 算法Call
    275. 0040A4AA   add esp,1C
    276. 0040A4AD   push 80000301
    277. 0040A4B2   push 0
    278. 0040A4B4   push eax
    279. 0040A4B5   push 1
    280. 0040A4BA   mov ebx,168
    281. 0040A4BF   call ECRACKME.0040A6CB
    282. 0040A4C4   add esp,10
    283. 0040A4C7   mov dword ptr ss:[ebp-10],eax               ; EAX保存结果
    284. 0040A4CA   push 80000301
    285. 0040A4CF   push 0
    286. 0040A4D1   push 4
    287. 0040A4D6   push 80000301
    288. 0040A4DB   push 0
    289. 0040A4DD   push 2
    290. 0040A4E2   push 80000004
    291. 0040A4E7   push 0
    292. 0040A4E9   mov eax,dword ptr ss:[ebp-10]
    293. 0040A4EC   test eax,eax
    294. 0040A4EE   jnz short ECRACKME.0040A4F5
    295. 0040A4F0   mov eax,ECRACKME.004090CD
    296. 0040A4F5   push eax
    297. 0040A4F6   push 3
    298. 0040A4FB   mov ebx,13C
    299. 0040A500   call ECRACKME.0040A6CB                      ; 取2到5位
    300. 0040A505   add esp,28
    301. 0040A508   mov dword ptr ss:[ebp-14],eax               ; 保存注册码3
    302. 0040A50B   mov ebx,dword ptr ss:[ebp-10]
    303. 0040A50E   test ebx,ebx
    304. 0040A510   je short ECRACKME.0040A51B
    305. 0040A512   push ebx
    306. 0040A513   call ECRACKME.0040A6C5
    307. 0040A518   add esp,4
    308. 0040A51B   mov ebx,dword ptr ds:[CA0D30]
    309. 0040A521   test ebx,ebx
    310. 0040A523   je short ECRACKME.0040A52E
    311. 0040A525   push ebx
    312. 0040A526   call ECRACKME.0040A6C5
    313. 0040A52B   add esp,4
    314. 0040A52E   mov eax,dword ptr ss:[ebp-14]
    315. 0040A531   mov dword ptr ds:[CA0D30],eax
    316. 0040A536   push 80000301
    317. 0040A53B   push 0
    318. 0040A53D   push dword ptr ds:[CA0D20]
    319. 0040A543   push 1
    320. 0040A548   mov ebx,164
    321. 0040A54D   call ECRACKME.0040A6CB
    322. 0040A552   add esp,10
    323. 0040A555   mov dword ptr ss:[ebp-8],eax
    324. 0040A558   mov dword ptr ss:[ebp-4],edx
    325. 0040A55B   push 80000301
    326. 0040A560   push 0
    327. 0040A562   push 6C21D6B                                ;
    328. 0040A567   fld qword ptr ss:[ebp-8]                    ; 机器码
    329. 0040A56A   call ECRACKME.00409FA9
    330. 0040A56F   push 80000301
    331. 0040A574   push 0
    332. 0040A576   push eax
    333. 0040A577   push 2
    334. 0040A57C   mov ebx,0CC
    335. 0040A581   call ECRACKME.0040A6CB                      ; 算法Call
    336. 0040A586   add esp,1C
    337. 0040A589   push 80000301
    338. 0040A58E   push 0
    339. 0040A590   push eax
    340. 0040A591   push 1
    341. 0040A596   mov ebx,168
    342. 0040A59B   call ECRACKME.0040A6CB
    343. 0040A5A0   add esp,10
    344. 0040A5A3   mov dword ptr ss:[ebp-10],eax               ; EAX保存结果
    345. 0040A5A6   push 80000301
    346. 0040A5AB   push 0
    347. 0040A5AD   push 4
    348. 0040A5B2   push 80000301
    349. 0040A5B7   push 0
    350. 0040A5B9   push 2
    351. 0040A5BE   push 80000004
    352. 0040A5C3   push 0
    353. 0040A5C5   mov eax,dword ptr ss:[ebp-10]
    354. 0040A5C8   test eax,eax
    355. 0040A5CA   jnz short ECRACKME.0040A5D1
    356. 0040A5CC   mov eax,ECRACKME.004090CD
    357. 0040A5D1   push eax
    358. 0040A5D2   push 3
    359. 0040A5D7   mov ebx,13C
    360. 0040A5DC   call ECRACKME.0040A6CB                      ; 取2到5位
    361. 0040A5E1   add esp,28
    362. 0040A5E4   mov dword ptr ss:[ebp-14],eax               ; 保存注册码4
    363. 0040A5E7   mov ebx,dword ptr ss:[ebp-10]
    364. 0040A5EA   test ebx,ebx
    365. 0040A5EC   je short ECRACKME.0040A5F7
    366. 0040A5EE   push ebx
    367. 0040A5EF   call ECRACKME.0040A6C5
    368. 0040A5F4   add esp,4
    369. 0040A5F7   mov ebx,dword ptr ds:[CA0D34]
    370. 0040A5FD   test ebx,ebx
    371. 0040A5FF   je short ECRACKME.0040A60A
    372. 0040A601   push ebx
    373. 0040A602   call ECRACKME.0040A6C5
    374. 0040A607   add esp,4
    375. 0040A60A   mov eax,dword ptr ss:[ebp-14]
    376. 0040A60D   mov dword ptr ds:[CA0D34],eax
    377. 0040A612   mov esp,ebp
    378. 0040A614   pop ebp
    379. 0040A615   retn

    380. /////////////////////////////////////////////////////////////////////////
    381. /////////////////////////////////////////////////////////////////////////

    382. 小结:


    383. 4B4EB28  xor 机器码 = 注册码1 ->取2到5位
    384. 22F16632 xor 机器码 = 注册码2 ->取2到5位
    385. 2CF062E0 xor 机器码 = 注册码3 ->取2到5位
    386. 6C21D6B  xor 机器码 = 注册码3 ->取2到5位

    387. 注册码1-注册码2-注册码3-注册码4  ==> 注册码

    388. /////////////////////////////////////////////////////////////////////////
    389. /////////////////////////////////////////////////////////////////////////
    390. ------------------------------------------------------------------------

    391. --------
    复制代码

    【版权声明】 本文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!

    [ 本帖最后由 冷血书生 于 2006-11-22 21:47 编辑 ]

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?加入我们

    x
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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