首页
社区
课程
招聘
[己解决]脱看雪教程中壳的例子失败原因
发表于: 2007-10-2 01:12 5608

[己解决]脱看雪教程中壳的例子失败原因

2007-10-2 01:12
5608
哪位有脱http://www.pediy.com/tutorial/chap8/Chap8-4-2.htm
教程里面的upx经验,我用OD按照教程上去脱壳,生成的目标文件执行不了。但是我自己用upx工具加的壳,直接dump就成功了。哪位能告诉我问题出在哪啊

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
免费 0
支持
分享
最新回复 (16)
雪    币: 44229
活跃值: (19955)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
2
那个教学太老了,你按这个来:
http://bbs.pediy.com/showthread.php?t=20366
2007-10-2 10:38
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
好的,我就去看。不过老不老没关系啊,重点是那个UPX壳我脱不下来哦!我用UPX自动脱壳工具脱下来后,用PEID查看,显示什么也没发现,但是文件能正常执行,我想知道是什么原因啊?哪位能给我点提示!
2007-10-2 11:55
0
雪    币: 44229
活跃值: (19955)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
4
你按着2楼方法来,肯定能成功的。
2007-10-2 12:00
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
谢谢你!这个里面的实例按照堆栈平衡原理很容易就脱下来了!不过我用同样的方法脱http://www.pediy.com/tutorial/chap8/Chap8-4-2.htm里面的却怎么也成功不了,修复IAT也不行,是不是这个实例的UPX是变种的?
2007-10-2 12:32
0
雪    币: 44229
活跃值: (19955)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
6
2楼提供的链接也是UPX为例的,方法是一样的。
堆栈平衡只是找OEP,这也是脱壳中的一步,你还得Dump出来,修复输入表。

本例:
0040DDBE > \61 popad
0040DDBF .- E9 3C32FFFF jmp 00401000 //跳到OEP,此处Dump出来

然后用imprec重建输入表。(http://bbs.pediy.com/showthread.php?t=20366  10楼的帖子)
2007-10-2 12:39
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
一下是我脱壳步骤:
用OD打开Notepad-upx.exe文件
到达这里:
     0040DC70 >  60              PUSHAD
=>0040DC71    BE AEB04000     MOV ESI,Notepad-.0040B0AE

根据堆栈平衡原理,到达这里:
=>0040DDBF  - E9 3C32FFFF     JMP Notepad-.00401000
    0040DDC4    0000            ADD BYTE PTR DS:[EAX],AL
    0040DDC6    0000            ADD BYTE PTR DS:[EAX],AL
    0040DDC8    0000            ADD BYTE PTR DS:[EAX],AL

F8到达入口:
=>00401000    55              PUSH EBP
    00401001    8BEC            MOV EBP,ESP
   00401003    83EC 44         SUB ESP,44

dump内存生成aa.exe目标文件

运行ImportREC,在下拉列表框中选择Notepad-upx.exe进程

ImportREC中OEP显示为DC70,改为1000;

点击IAT AUTOSEARCH自动获取RVA和SIZE

点击点击“Get Import”按钮,成功找到各个DLL信息

单击"Fix Dump"按钮,选择aa.exe,生成的目标文件aa_.exe仍然不可用!

我的哪一步做的有问题吗?

值得注意的是我自己用UPX工具加个壳,用OD直接DUMP出来就对了!
2007-10-2 14:38
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
跟cup有关系吗,我的是AMD64位的.
2007-10-2 14:39
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
请再指导一下我!
2007-10-2 14:45
0
雪    币: 44229
活跃值: (19955)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
10
方法正确。将你脱壳好了的文件上传一份看看。
2007-10-2 14:55
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
哦,知道怎么传附件了!
2007-10-2 15:06
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
帮我看一下,谢谢!
上传的附件:
2007-10-2 15:14
0
雪    币: 44229
活跃值: (19955)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
13
你是用了Od插件OllyDump抓取内存镜像的吧?它的Rebuild Import不是很完善。
你直接用LordPE来抓取镜像,不会引入新的问题。
2007-10-2 15:23
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
太谢谢你了!搞了我两天终于发现问题在哪里了!生成的文件可以执行了!但是用peid查看却是什么也没有发现,正常的应该是显示“Microsoft Visual C++ 6.0 SPx Method 1”吧,那么这样我算是脱壳成功了吗?
2007-10-2 15:38
0
雪    币: 44229
活跃值: (19955)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
15
算脱壳成功了。
因为此时脱壳后的程序还有外壳的代码在上面,所以peid查的不准的。
你可以手工优化他。具体参考ccedebuger的一篇教程。
平时UPX的壳尽量用upx自身脱。
2007-10-2 15:44
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
恩!真高兴弄出来了!我研究的信心倍增!

真的谢谢你!你好有耐心!
2007-10-2 15:49
0
雪    币: 454
活跃值: (31)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
呵呵,楼主真幸福,有看雪老大手把手指导。
2007-10-3 11:45
0
游客
登录 | 注册 方可回帖
返回
//