首页
社区
课程
招聘
内存程序调用问题
发表于: 2006-11-24 13:22 4433

内存程序调用问题

2006-11-24 13:22
4433
已知在一块内存区域保存着一个标准EXE文件的全部内容,那么怎样才能去启动这个放在内存里的EXE文件呢?

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (12)
雪    币: 304
活跃值: (82)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
2
我只知道两种方法
1.先dump为exe文件,然后直接执行
2.对一个空文件用createprocess,先suspend然后内存拷贝过去,然后resume

如果那个内存区域在你的程序的内存空间,可以用一个远跳跳到它的入口
2006-11-24 14:12
0
雪    币: 116
活跃值: (220)
能力值: ( LV12,RANK:370 )
在线值:
发帖
回帖
粉丝
3
最初由 skylly 发布
我只知道两种方法
1.先dump为exe文件,然后直接执行
2.对一个空文件用createprocess,先suspend然后内存拷贝过去,然后resume

如果那个内存区域在你的程序的内存空间,可以用一个远跳跳到它的入口


第2个方法肯定不行,IAT那些什么的都还没有初始化
2006-11-24 18:20
0
雪    币: 304
活跃值: (82)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
4
你是说第三种方法不行吧,第三种我看也不行
第二种应该可以的,系统会初始化它的
2006-11-24 18:34
0
雪    币: 103
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
学习了,谢谢分享经验~
2006-11-24 20:00
0
雪    币: 116
活跃值: (220)
能力值: ( LV12,RANK:370 )
在线值:
发帖
回帖
粉丝
6
第2种不行那第3种也不行,同理第3种不行,第2种也不行
2006-11-24 22:03
0
雪    币: 304
活跃值: (82)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
7
第二种和第三种是不同地,
随你好了,你说不行就不行吧.
2006-11-24 22:52
0
雪    币: 254
活跃值: (126)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
8
似乎3种都有一定可行性
要看程序怎么写的,有没有自相矛盾的调用
2006-11-24 23:16
0
雪    币: 116
活跃值: (220)
能力值: ( LV12,RANK:370 )
在线值:
发帖
回帖
粉丝
9
skylly不要急,大家研究一下,
我的理解是,楼主说的是一块内存区域保存着一个标准的exe文件的全部内容,
并不是说“操作系统或Loader所载入到内存中的程序”
2006-11-24 23:51
0
雪    币: 304
活跃值: (82)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
10
西裤大哥,不好意思,最近我碰到几个没玩过的壳都没能脱下来,心情很不爽,所以性急了点,不要见怪.
2006-11-25 11:11
0
雪    币: 211
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
对,我所说的就是再一块内存里放这一个标准EXE文件的全部内容,而且还知道它的地址,而且这块内存不在主程序里,是随便开的一块可用地址!
现在就是无法解决去执行这个存在内存种的程序的问题!

感谢各位高手能给我指点迷津!
希望问题能早点得到解决!
2006-11-25 13:17
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
借楼主的贴问问。
我现在将所有DLL压缩为一个包,使用时先将文件解压到内存中,再save为临时文件,再调用。
怎样不用临时文件,从内存调用DLL?
2006-11-30 11:45
0
雪    币: 2899
活跃值: (1753)
能力值: ( LV9,RANK:850 )
在线值:
发帖
回帖
粉丝
13
热贴关注……
2006-12-1 07:14
0
游客
登录 | 注册 方可回帖
返回
//