首页
社区
课程
招聘
关于PE文件对齐的问题
发表于: 2013-2-18 16:19 5021

关于PE文件对齐的问题

2013-2-18 16:19
5021
如果PE在磁盘中按512字节对齐,那是按PE文件整体大小每512字节一分,还是其他的方式呢?还是dos头+pe头加起来对齐,然后每个节单独对齐呢?

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

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 2155
活跃值: (29)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
2
DOS头和PE头是没有对齐的

只有每一段中的数据的开始和结束是使用0x00来填充的

例如说512字节对齐,那么PE文件的每一个节开始的偏移肯定是512的倍数

如果某一节前面的数据和该节的的开始位置有空隙,那么就填零

具体的文件大小要具体计算
2013-2-18 16:37
0
雪    币: 35
活跃值: (10)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
3
与其在这里发帖问,不如用UltraEdit打开一个PE看下,看了自然就明白了
2013-2-18 22:27
0
雪    币: 8
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
给楼主介绍一个工具叫Winhex,可以用它来看看二进制结构,,用UltraEdit也可以,PE文件流的对齐只是在不同节时为了方便编程而使用了不同的对齐方式,和硬盘上的存储方式关系不大
2013-2-19 12:43
0
雪    币: 110
活跃值: (34)
能力值: (RANK:50 )
在线值:
发帖
回帖
粉丝
5
请注意PE文件中“节”的概念,对齐是以“节”为单位的
记得有本黄颜色封面的《PE格式详解》,还有看雪学院的《软件加密技术内幕》等书都讲到了PE格式,前者比较详细(厚厚的一本)。
2013-2-19 12:44
0
雪    币: 434
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
也可以看看这个文档:Microsoft Portable Executable and Common Object File Format Specification
,英文的,微软官网上有下载
2013-3-17 17:35
0
游客
登录 | 注册 方可回帖
返回
//