首页
社区
课程
招聘
[旧帖] [求助]第一个练习品就卡壳 0.00雪花
发表于: 2008-7-29 13:13 5661

[旧帖] [求助]第一个练习品就卡壳 0.00雪花

2008-7-29 13:13
5661
AsPark的壳,我跟着教程里的例子也脱过好几次了。这一次的程序是个外挂,我以前用脱壳机脱过很容易,这次拿它练手想手动脱就不行了,脱了壳不能运行,复建IAT还是不行。各位大侠帮我看看问题出在哪里。

[课程]Linux pwn 探索篇!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (20)
雪    币: 399
活跃值: (38)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
2
附加数据的问题,Google一把,论坛有很多文章讲这个
2008-7-29 15:22
0
雪    币: 401
活跃值: (18)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
有附加数据很容易搞吧!
2008-7-29 15:30
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
为什么脱壳之后会出现ERROR:INVALID DATAT IN THE FILE??哪理错了?
2008-7-29 15:43
0
雪    币: 162
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
非常感谢楼上两位,虽然目前还不知道什么是附加数据,但问题总算有眉目了。
2008-7-29 15:45
0
雪    币: 295
活跃值: (26)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
E语言的程序……
让人头疼
2008-7-29 16:39
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
压缩壳一般都用脱壳机弄得,不知道
2008-7-29 16:51
0
雪    币: 213
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
可以脱壳的,只是你不会修复
上传的附件:
2008-7-29 16:56
0
雪    币: 93
活跃值: (43)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
9
http://bbs.pediy.com/showthread.php?t=9182
这篇把附加数据基本讲清了,好像论坛还有自动添加附加数据的工具,搜一下就差不多了
2008-7-29 16:56
0
雪    币: 399
活跃值: (38)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
10
楼上的你试了吗
Windows XP sp2上出错
我搞出来的也这样,不知道哪个地方没搞好
2008-7-29 17:00
0
雪    币: 697
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
试了下,很简单,附件就不传了,外挂的东西嘛
2008-7-29 17:13
0
雪    币: 399
活跃值: (38)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
12
月之精灵能不能讲讲如何处理附加数据的?
2008-7-29 18:08
0
雪    币: 697
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
有工具,都是常规的东西
2008-7-29 18:52
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
对啊,月之精灵,详细说一下子了,我也很想知道啊。
2008-7-29 19:23
0
雪    币: 93
活跃值: (43)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
15
不是吧,我在学校可以搞定啊,我再做一遍。
   脱壳后点击显示invalid date in the file.OK,有这个一般就是附加数据出问题了,另外我们明显发现脱壳后的exe才105KB,源文件都0.99M。附加段出问题基本上没什么疑问了。我们需要做的就是把附加数据加到脱壳后的EXE中,
  用工具的话,我在论坛找了个名叫overlay的工具,工具不错,但是有点难用(其实也没什么,就是没个说明),源文件选择未脱壳的源文件,目标文件选择脱壳后的文件,先用overlay另存为,再选择复制Overlay,就可以了,再看脱壳后的文件,大小已经变成了1.05M,运行OK.
   手动的话,先用lordPE查下源文件的最后一个区段的终结(就是Roffset+Rsize)。记下是:A200. 然后用UE32把源文件与脱壳后的都打开。把源文件从偏移地址A200以后的一直到结束的内容全部粘贴,然后复制到脱壳后的文件结束,(就是文件最后),然后保存,运行OK。
   备注1:好像用winhex更好些,但是那个的编辑模式快把我这么死了,所以换成Uedit32,
   备注2:再次强烈推荐我上面推荐过的那个讲附加数据的帖子,我这个手动只能解决,1/3的情况,那个帖子则理论操作皆大全。
2008-7-29 21:58
0
雪    币: 162
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
找了些资料,还下了个动画,终于把附加文件加上去了.看来还有很多人不懂,我把方法说一下.
aspack的壳大家都会脱,就不多说了,脱壳修复后发现不能运行,跳出个对话框:
究其原因就是程序缺少"附加数据".程序运行的时候"附加数据"并不载入内存,所以脱壳Dump的时候是Dump不到的.这段数据还是在原程序的尾部. 一般来说,只要把这段数据复制到脱壳程序的尾部就可以了. 使用的工具是winHex , 这个程序的汉化版找了好几个,最后发现黑基的最好.
首先打开winHex,然后把原程序和脱壳后的程序都用winHex载入.

然后要确定一下"附加数据"的位置,位置就是在最后程序一个区段的后面我可以用PEid帮助定位.
用PEid查看一下原程序"绿线.exe"

点"PE 区段"右边的 >  

可以看到最后一个段 .adata 它的文件偏移是A200 大小是0 ,就是说从A200之后到文件结尾就是附加数据了.
然后我们回到winHex上来,先找到附加数据的起始位置 A200 ,选中第一个数据并在上面右击并选块开始,

然后选中文件最后一个数据并在上面右击并选块结尾,

这样就选中了一个区域,在选中的区域上右击->编辑->复制块->正常.
然后在winHex中来到脱壳文件的结尾, 右击->编辑->剪贴块数据->粘贴.

最后在winHex文件菜单中把它另存为一个文件就可以运行了.

最后用PE查壳对比没加附加数据和加了附加数据的:

可以发现加了附加数据后,多了个[overlay]标记.
上传的附件:
2008-7-29 22:48
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
恩,成功了,多谢你们了!
2008-7-29 22:57
0
雪    币: 399
活跃值: (38)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
18
工具手工两种方法都试了,可粘贴了附加数据的程序就是出错,不知道咋回事
2008-7-31 13:59
0
雪    币: 93
活跃值: (43)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
19
你把你改过的发上来,看看
2008-7-31 14:19
0
雪    币: 399
活跃值: (38)
能力值: (RANK:350 )
在线值:
发帖
回帖
粉丝
20
解决了
貌似是我手动确定IAT大小出了问题,但是脱之后程序能正常运行啊
也有Invalid data in the file!的提示
我刚才试了一下,修复的时候让ImportREC自动寻找IAT
然后复制overlay数据,就没问题了,我手动确定IAT起始地址和大小,找到的Imports貌似和自动找到是一样的,真是奇怪
初学脱壳,看来还得多练习
2008-7-31 14:55
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
学习一下,看看我能不能。初来乍到啊,到处学习中,没有头绪
2008-7-31 15:39
0
游客
登录 | 注册 方可回帖
返回
//