首页
社区
课程
招聘
关于PE文件格式的疑问
发表于: 2012-1-24 20:48 4090

关于PE文件格式的疑问

2012-1-24 20:48
4090
经常看到说“PE文件格式”
我想知道的是:这个PE文件格式是指在硬盘上的PE文件还是已经运行了的PE文件?

也就是说是:没运行的文件还是已经运行了的文件?

不知道我表达的清不清楚

换句话说,用LoadPE加载的PE文件,和在硬盘上放的文件(没运行),格式是一样的吗?

谢谢各位

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

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 227
活跃值: (66)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
2
通常静态存储在磁盘上未加载的可执行文件叫PE文件(exe,dll,ocx,sys都是,但是加载机制不同)
映射到内存之后叫映像(Image)
因为内存对齐的缘故,内存映像的PE格式和磁盘上的格式会有所不同(主要是相对虚拟地址RVA不一样,还有IAT什么的在映射时会由PELauncher修正),所以在自己解析PE时要分解析静态文件和解析内存映像两部分
给你搜了2篇参考文章,主要是RVA与OFFSET之间的转换,个人认为学习PE时这个是比较重要的知识点:
LiXMX,《【原创】我自己的PE文件RVA-VA-Offset心得……》
fantcy,《PE格式深入浅出之RAV,AV,ImageBase之间的关系》
2012-1-24 21:42
0
雪    币: 71
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3

就像这样的,我想知道的是,这样的PE文件格式是指已经运行的,还是在硬盘上躺着没运行的呢?

谢谢
上传的附件:
2012-1-24 22:33
0
雪    币: 227
活跃值: (66)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
4
[QUOTE=mumaren;1040102]
就像这样的,我想知道的是,这样的PE文件格式是指已经运行的,还是在硬盘上躺着没运行的呢?

谢谢[/QUOTE]

不管运行没运行,PE大体布局都是这样的
但是加载之后相对偏移有区别
2012-1-24 23:11
0
雪    币: 71
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
奥,明白了,分给你

我认识你,你在vb吧和老马的紫水晶都有不错的表现
2012-1-24 23:58
0
雪    币: 227
活跃值: (66)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
6
呃?你百度id是啥?
2012-1-25 09:59
0
游客
登录 | 注册 方可回帖
返回
//