首页
社区
课程
招聘
[原创]手动跟踪脱吗啡脱壳机1.0[火狐小强版]
发表于: 2005-12-3 00:17 5754

[原创]手动跟踪脱吗啡脱壳机1.0[火狐小强版]

2005-12-3 00:17
5754
【破文标题】手动跟踪脱吗啡脱壳机1.0[火狐小强版]
【破文作者】marsaber
【作者邮箱】marsaber@163.com
【作者主页】555
【破解工具】Peid 0.93、FI 3.01、Ollydbg 1.1[fly版]
【破解平台】Windows2003 SP1
【软件名称】吗啡脱壳机1.0
【软件大小】184K
【原版下载】老火狐论坛的东西了
【保护方式】不知道
【软件简介】脱壳机
------------------------------------------------------------------------
【破解过程】脱壳目的:"浏览"键高宽太小了,难看,想编辑一下。PE Explorer 1.97打开,"资源查看/编辑器

"(好像没加壳啊)-->"资源"-->"对话框"和"RC数据",但是都不能编辑,初步判断是Delphi编写的

且有伪装壳!继而判断得到入口代码类似于下面的:
004B7220 >  55              push ebp
004B7221    8BEC            mov ebp,esp
004B7223    83C4 F0         add esp,-10
004B7226    B8 A86F4B00     mov eax,Pe.004B6FA8
004B722B    E8 6CF4F4FF     call Pe.0040669C
004B7230    A1 C4A04B00     mov eax,dword ptr ds:[4BA0C4]
004B7235    8B00            mov eax,dword ptr ds:[eax]
004B7237    E8 C48CFCFF     call Pe.0047FF00

查壳     :Peid 0.92:[代码未能识别] *
           FI 3.01  :PE Win GUI *Unknown*

步骤     :

1.OllyDbyDYK载入,没有任何提示到达(难道真没壳?):
00474645 吗>/$  55            push ebp   ;很容易认为是壳的入口啊!
00474646   |.  8BEC          mov ebp,esp
00474648   |.  81EC D4010000 sub esp,1D4

2.F8下跳,
004746E5   |.  68 C4424700   push 吗啡脱壳.004742C4              ; |Title = "Nfo"
004746EA   |.  68 C8424700   push 吗啡脱壳.004742C8              ; |Text = "This

program was packed with a demo version of eXPressor"
004746EF   |.  6A 01         push 1                          ; |hOwner = 00000001
004746F1   |.  FF15 C8444700 call dword ptr ds:[<&USER32.Mes>; \MessageBoxA

在004746F1处,F7跟进到达:

77E4D8DE U>  8BFF            mov edi,edi  ;004746F1的call语句跳到这。
77E4D8E0     55              push ebp
77E4D8E1     8BEC            mov ebp,esp
77E4D8E3     833D 1821E777 0>cmp dword ptr ds:[77E72118],0
77E4D8EA     74 24           je short USER32.77E4D910
77E4D8EC     64:A1 18000000  mov eax,dword ptr fs:[18]
77E4D8F2     6A 00           push 0
77E4D8F4     FF70 24         push dword ptr ds:[eax+24]
77E4D8F7     68 442FE777     push USER32.77E72F44
77E4D8FC     FF15 D012E177   call dword ptr ds:[<&KERNEL32.I>;

kernel32.InterlockedCompareExchange
77E4D902     85C0            test eax,eax
77E4D904     75 0A           jnz short USER32.77E4D910
77E4D906     C705 402FE777 0>mov dword ptr ds:[77E72F40],1
77E4D910     6A 00           push 0
77E4D912     FF75 14         push dword ptr ss:[ebp+14]
77E4D915     FF75 10         push dword ptr ss:[ebp+10]
77E4D918     FF75 0C         push dword ptr ss:[ebp+C]
77E4D91B     FF75 08         push dword ptr ss:[ebp+8]
77E4D91E     E8 4D040000     call USER32.MessageBoxExA
77E4D923     5D              pop ebp
77E4D924     C2 1000         retn 10  ;返回到004746F7。

004746F7   |.  A1 58554700   mov eax,dword ptr ds:[475558]
004746FC   |.  8985 48FEFFFF mov dword ptr ss:[ebp-1B8],eax
00474702   |.  8B85 48FEFFFF mov eax,dword ptr ss:[ebp-1B8]
00474708   |.  8B0D 58554700 mov ecx,dword ptr ds:[475558]   ;  吗啡脱壳.00400000
0047470E   |.  0348 3C       add ecx,dword ptr ds:[eax+3C]
00474711   |.  894D F4       mov dword ptr ss:[ebp-C],ecx
00474714   |.  8B45 F4       mov eax,dword ptr ss:[ebp-C]

然后一直F8下跳,到达:
004748BC   |. /75 6C         |jnz short 吗啡脱壳.0047492A
下跳到:
0047492A   |>^\E9 54FEFFFF   \jmp 吗啡脱壳.00474783
在0047492A处F8后到达:
00474783   |> /8B85 60FEFFFF /mov eax,dword ptr ss:[ebp-1A0]
然后一直F8下跳,又返回到:
0047492A   |>^\E9 54FEFFFF   \jmp 吗啡脱壳.00474783

这里如果你再继续F8的话,就会在那绕圈子了!
所以我:
0047492A   |>^\E9 54FEFFFF   \jmp 吗啡脱壳.00474783
0047492F   |>  68 00800000   push 8000                       ; /FreeType = MEM_RELEASE
00474934   |.  6A 00         push 0                          ; |Size = 0,这句上跳的!
00474936   |.  FFB5 50FEFFFF push dword ptr ss:[ebp-1B0]     ; |Address,这句也是上跳

的!
0047493C   |.  FF15 A0444700 call dword ptr ds:[<&KERNEL32.V>; \VirtualFree
00474942   |.  A1 58554700   mov eax,dword ptr ds:[475558]   ; 该句F4下断!

00474B93   |.  8985 E4FEFFFF ||mov dword ptr ss:[ebp-11C],ea>
00474B99   |.^ E9 B2FEFFFF   |\jmp 吗啡脱壳.00474A50         ;回跳!
00474B9E   |>  8B85 3CFEFFFF |mov eax,dword ptr ss:[ebp-1C4] ;F4下断!
00474BA4   |.  83C0 14       |add eax,14
00474BA7   |.  8985 3CFEFFFF |mov dword ptr ss:[ebp-1C4],eax
00474BAD   |.^ E9 A1FDFFFF   \jmp 吗啡脱壳.00474953          ;回跳!
00474BB2   |>  A1 88404700   mov eax,dword ptr ds:[474088]   ;F4下断!
00474BB7   |.  3B05 58554700 cmp eax,dword ptr ds:[475558]   ;  吗啡脱壳.00400000
00474BBD   |.  0F84 D6010000 je 吗啡脱壳.00474D99
00474BC3   |.  833D 94404700>cmp dword ptr ds:[474094],0
00474BCA   |.  0F84 C9010000 je 吗啡脱壳.00474D99
00474BD0   |.  A1 58554700   mov eax,dword ptr ds:[475558]

一直下跳,跳到:
00474DBF   |.- FFE0          jmp eax                         ;  吗啡脱壳.00455D84

F8继续下跳,到达:
00455D84     55              push ebp                        ;到达这里,dump下来!

   得到OEP=55D84,dump下,保存为55D84.exe。运行正常,程序大小:483K,Ollydbg退出后,

Peid 0.93查壳,Nothing found *,再Ollydbg载入,有提示:"模块"55D84"的入口点位于代码外部

(例如在PE文件头中被指定)。可能这个文件具有自解压或者自修改功能。请您在设置断点的时候记

住这一点"。看到这,好像没脱掉壳似的,不予理会。PE Explorer 1.97打开,"资源查看/编辑

器"-->"资源"-->"RC数据",OK,可以编辑了,说明脱壳成功了!接着编辑编辑调整调整,编辑完

后是不能运行的,需要修复。
------------------------------------------------------------------------
【破解总结】这个程序我6月份脱过一次并且还做了动画,放到火狐论坛上了,由于火狐被DDoS,改版后的火狐数据库丢了,所以一直没找到那录象,于是又啃了半天,终于干掉了!耐心+耐心+耐心+....
------------------------------------------------------------------------
【版权声明】本文纯属技术交流,转载请注明作者信息并保持文章的完整,谢谢!

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (10)
雪    币: 267
活跃值: (285)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
吗啡脱壳机1.0小强汉化原版+脱壳版+修改版,我打包放在我的一个网络硬盘里了:http://marsangel.ys168.com/
有不正确的、烦琐的地方请高手指点一下!
谢谢!
2005-12-3 00:20
0
雪    币: 239
活跃值: (52)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
看不懂,在哪学习这些呀?
2005-12-3 00:34
0
雪    币: 298
活跃值: (445)
能力值: ( LV12,RANK:450 )
在线值:
发帖
回帖
粉丝
4
This program was packed with a demo version of eXPressor
2005-12-3 01:09
0
雪    币: 304
活跃值: (82)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
5
我照着脱下来,peid显示是
Borland Delphi 6.0 - 7.0
2005-12-6 23:14
0
雪    币: 267
活跃值: (285)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
汗!
我的Peid 0.93/0.94都没查出来啊!
楼上兄弟用哪个Peid啊?
能否共享下?
2005-12-6 23:51
0
雪    币: 207
活跃值: (40)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
用esp定律 2步就可以到达OEP入口...
2005-12-7 01:18
0
雪    币: 201
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wxm
8
试着脱一下!!
2005-12-7 10:24
0
雪    币: 304
活跃值: (82)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
9
最初由 marsaber 发布
汗!
我的Peid 0.93/0.94都没查出来啊!
楼上兄弟用哪个Peid啊?
能否共享下?

我用的peid0.94啊
2005-12-7 17:49
0
雪    币: 212
活跃值: (40)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
10
几天不见,小兄弟比我强多了
2005-12-8 12:33
0
雪    币: 267
活跃值: (285)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
starluck哥哥,你也太谦虚了吧?
跟你比,差距还是巨大的!
呵呵.....
以后多指点啊!
2005-12-11 04:06
0
游客
登录 | 注册 方可回帖
返回
//