首页
社区
课程
招聘
[原创]实践易程序"通用"脱壳方法
发表于: 2008-11-25 12:15 19200

[原创]实践易程序"通用"脱壳方法

2008-11-25 12:15
19200
【文章标题】: 实践易程序"通用"脱壳方法
【文章作者】: stalker
--------------------------------------------------------------------------------
【详细过程】
  一直想学习下脱壳,无奈天赋不足,始终没有什么进展,至今只能手脱几个压缩壳。听说易语言的程序有通用脱壳方法,于是Google了一把,居然我又被带回了论坛:http://bbs.pediy.com/showthread.php?t=54227
    我没有实验过foxabu的通用脱壳机,但从大家的回复来看,应该很好用。其中的一个回复特别值得关注,由于我已经无法引用,发个截图

    根据我短时间内对论坛各大牛的观察,他们一般都是不说废话的,我猜想forgot应该是含蓄地告诉了我们易语言程序的通用脱壳方法:对LoadLibraryExW函数下断。所谓实践是检验真理的唯一标准,找个样品开始吧。Google到了一个,名为“窗口组件任意摆 BY:梦飞鸟 [Dream Flyer]”,PEID扫描显示mkfpack (APlib) ->  llydd * Sign.By.Celta68 * 20080131 [Overlay] *
    在下孤陋寡闻,没有听说过此壳。直接用OD打开,bp LoadLibraryExW,F9运行,停在如下地方

  经过若干次ALT+F9之后

  00401460肯定不是OEP,往上查找一直到过程首部

  这里是OEP吗?我也不知道,从这里DUMP出来试试,一运行

  出错了,应该是OEP找错了
  再回到0040113A看看

  注意下面的Local call from 004038FA,Ctrl+G看看去

  上下拖拖看看,是否觉得很熟悉?就像VC++编译出来的程序一般
  从这个过程首部再DUMP一次试试,运行出现提示

  看到这个提示是否想到了附加数据?(如果你不知道什么是附加数据,请看这里http://www.pediy.com/bbshtml/bbs6/pediy6923.htm)
  用PEditor打开未脱壳的程序,重点看图中红色部分

  用WinHex打开原程序,跳转到偏移16000(14000+2000,即最后一个节的末尾)处

  从16000一直到文件末尾都是附加数据,Alt+1&Alt+2选中之,右键->Edit->Copy Block->Hex Values
  然后再打开刚才DUMP出来的程序,把数据粘贴到它的末尾保存就OK
  此例成功之后,我又找了两个程序测试,均成功,而且我发现易程序的附加数据都是一样的(不知道这是不是装到exe中的易库呢?)
  由于我只试验了3次,不知道此法是否真的通用,因此标题上我打了引号(^_^)
  注意:并非所有附加数据的问题都是用这种方法解决,更多请参考上面那个红色的URL
  在此附上我的三个样品程序(感谢他们的作者),其中样品一为上文中操作的程序
样品一.rar
样品二.rar
样品三.rar
  
  
--------------------------------------------------------------------------------

                                                       2008年11月25日 下午 12:08:01

[课程]Android-CTF解题方法汇总!

上传的附件:
收藏
免费 7
支持
分享
最新回复 (30)
雪    币: 590
活跃值: (177)
能力值: ( LV9,RANK:680 )
在线值:
发帖
回帖
粉丝
2
思考,探索
就是这样,谢谢分享
2008-11-25 13:04
0
雪    币: 1564
活跃值: (3572)
能力值: ( LV13,RANK:420 )
在线值:
发帖
回帖
粉丝
3
顶一把
2008-11-25 13:05
0
雪    币: 347
活跃值: (25)
能力值: ( LV9,RANK:420 )
在线值:
发帖
回帖
粉丝
4
你通用的意思是都可以bp LoadLibraryExW以后那么找到OEP,然后再处理附加数据,然后被搞定?
2008-11-25 14:13
0
雪    币: 251
活跃值: (25)
能力值: ( LV9,RANK:290 )
在线值:
发帖
回帖
粉丝
5
研究行学习,支持一下
2008-11-25 15:00
0
雪    币: 1946
活跃值: (243)
能力值: (RANK:330 )
在线值:
发帖
回帖
粉丝
6
菊花教主的话经常被人引用,膜拜一下
2008-11-25 15:15
0
雪    币: 424
活跃值: (10)
能力值: ( LV9,RANK:850 )
在线值:
发帖
回帖
粉丝
7
路过膜拜菊花导师
2008-11-25 15:20
0
雪    币: 340
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
maybe。。。
2008-11-25 15:34
0
雪    币: 399
活跃值: (38)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
9
独立编译的吧
有的是带库运行的,比如样品三,因此我才猜测附加数据就是易库
2008-11-25 16:08
0
雪    币: 240
活跃值: (10)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
10
关注之,我也研究一下
2008-11-25 16:34
0
雪    币: 403
活跃值: (29)
能力值: ( LV11,RANK:180 )
在线值:
发帖
回帖
粉丝
11
顶lz,在自己的电脑试了一下,发现用bp LoadLibraryExA和lz总结的一样用bp LoadLibraryExW行不通
2008-11-25 17:49
0
雪    币: 399
活跃值: (38)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
12
可以上传你的程序吗?
2008-11-25 19:00
0
雪    币: 370
活跃值: (15)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
13
TAG:Ecode 易语言 通用脱壳 LOADLIABRARYEXA/W

再次对forgot表示崇拜,牛人牛语,
以后我不会放过你打的任何一个字符
一定要深入的挖掘再挖掘
2008-11-25 19:02
0
雪    币: 403
活跃值: (29)
能力值: ( LV11,RANK:180 )
在线值:
发帖
回帖
粉丝
14
我测试的程序就是你上传的 样品一.rar 啊
2008-11-25 21:17
0
雪    币: 403
活跃值: (29)
能力值: ( LV11,RANK:180 )
在线值:
发帖
回帖
粉丝
15
这是返回后的截图(看红色框起来的部分)
2008-11-25 21:20
0
雪    币: 403
活跃值: (29)
能力值: ( LV11,RANK:180 )
在线值:
发帖
回帖
粉丝
16
刚才的回复图不见了,
上传的附件:
2008-11-25 21:22
0
雪    币: 403
活跃值: (29)
能力值: ( LV11,RANK:180 )
在线值:
发帖
回帖
粉丝
17
如果用bp LoadLibraryExW则返回到下面地方
上传的附件:
  • 2.jpg (48.31kb,169次下载)
2008-11-25 21:26
0
雪    币: 399
活跃值: (38)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
18
不会吧,你看到这句话了吗?
2008-11-25 21:30
0
雪    币: 403
活跃值: (29)
能力值: ( LV11,RANK:180 )
在线值:
发帖
回帖
粉丝
19
刚才测试了一下用bp LoadLibraryExW可以的,运行断下,返回到程序领空,再单步,进入系统领空,再返回。。。就到

00401460     3BC3           cmp eax,ebx

了,不过步骤还是蛮多的,我测试了一下,用bp LoadLibraryExA的话,运行断下,返回程序领空就到

00401460     3BC3           cmp eax,ebx

了,比较快捷,楼主可以试一下用bp LoadLibraryExA的效果。我之前说的无法用bp LoadLibraryExW 无法到达00401460 错了,是因为我第一次返回程序领空看见地址是7***多就没有继续单步下去了。楼主说的是正确的!!!
2008-11-25 21:42
0
雪    币: 399
活跃值: (38)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
20
好的,我也试试去
2008-11-25 21:44
0
雪    币: 403
活跃值: (29)
能力值: ( LV11,RANK:180 )
在线值:
发帖
回帖
粉丝
21
00401459     50             push eax
0040145A     FF15 04604000  call dword ptr ds:[406004]     ; kernel32.LoadLibraryA
00401460     3BC3           cmp eax,ebx

在上面有个LoadLibraryA
2008-11-25 21:45
0
雪    币: 399
活跃值: (38)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
22
果然A比W快
2008-11-25 21:56
0
雪    币: 208
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
23
遗忘掉我吧 我是个路过的马甲
2008-12-1 09:50
0
雪    币: 254
活跃值: (91)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
24
做一个记号~~~~~~
2009-4-14 03:20
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
25
-.-!!!
2009-4-14 05:12
0
游客
登录 | 注册 方可回帖
返回
//