PE中规定了三类对齐:数据在内存中的对齐、 数据在文件中的对齐、资源文件资源数据的对齐。

1.内存对齐

    由于windows操作系统对内存属性的设置以也为单位,所以通常情况下,节在内存中的对齐单位必须至少一个页的大小。
对于32的windowsxp系统来说,这个值是4KB(1000H)
对于64位操作系统来说,这个值就是8KB(2000H)

2.文件对齐(磁盘存储时候的对齐)

 文件对齐要小于内存对齐,通常会一个物理扇区的大小作为对齐粒度的值。
512字节 十六进制表示位200H
通常情况下,PE在内存中的尺寸要比文件中的尺寸大

3.资源数据对齐

  在资源文件中,资源字节码部分一般要求以双字(4个字节)方式对齐,以后会学习。

pe文件对齐的更多相关文章

  1. 分配粒度和内存页面大小(x86处理器平台的分配粒度是64K,内存页是4K,所以section都是0x1000对齐,硬盘扇区大小是512字节,所以PE文件默认文件对齐是0x200)

    分配粒度和内存页面大小 x86处理器平台的分配粒度是64K,32位CPU的内存页面大小是4K,64位是8K,保留内存地址空间总是要和分配粒度对齐.一个分配粒度里包含16个内存页面. 这是个概念,具体不 ...

  2. 浅析MSIL中间语言——PE文件结构篇

    一.开篇 开篇我想讲一下于本文无关的话题,其实我很想美化一下自己博客园一直没时间弄,无意间找了博客园李宝亨的博客园里面有一篇分享自己主题的文章,我就将这个模板暂时用作我的blog主题,我要讲述一个关于 ...

  3. PE文件学习系列笔记四-C++实现PE文件的分析

    合肥程序员群:49313181.    合肥实名程序员群:128131462 (不愿透露姓名和信息者勿加入) Q  Q:408365330     E-Mail:egojit@qq.com 综述: 首 ...

  4. PE文件学习系列三-PE头详解

    合肥程序员群:49313181.    合肥实名程序员群:128131462 (不愿透露姓名和信息者勿加入) Q  Q:408365330     E-Mail:egojit@qq.com 最近比较忙 ...

  5. PE文件结构部分解析以及输入的定位

    原文链接地址:http://www.cnblogs.com/shadow-lei/p/3554670.html PE文件定义 PE 文件("Portable executable" ...

  6. 修改PE文件的入口函数OEP

    修改入口函数地址.这个是最省事的办法,在原PE文件中新增加一个节,计算新节的RVA,然后修改入口代码,使其指向新增加的节.当然,如果.text节空隙足够大的话,不用添加新节也可以. BOOL Chan ...

  7. 手写PE文件(二)

    [文章标题]: 纯手工编写的PE可执行程序 [文章作者]: Kinney [作者邮箱]: mohen_ng@sina.cn [下载地址]: 自己搜索下载 [使用工具]: C32 [操作平台]: win ...

  8. 手写PE文件(一)

    DOS Header(IMAGE_DOS_HEADER)->64 Byte DOS头部 DOS Stub 112字节 "PE"00(Signature) 4个字节 IMAGE ...

  9. 打造XP下可运行的微型PE文件

    前几天和朋友交流技术,提到手工打造微型PE文件,他说现在网上流传的大部分版本在XP SP3下都不能运行,于是心血来潮,拍着胸脯说:“你放心,忙完了帮你做一个.”后来花了半天时间,终于打造出一个XP下可 ...

  10. 破解软件系列-PE文件深入浅出之Section Table节表

    我们已经学了许多关于 DOS header 和 PE header 的知识.接下来就该轮到 section table(节表)了.节表其实就是紧挨着 PE header 的一结构数组.该数组成员的数目 ...

随机推荐

  1. 25-tree shaking(树摇)

    const { resolve } = require('path'); const MiniCssExtractPlugin = require('mini-css-extract-plugin') ...

  2. 如何通过C#/VB.NET 代码调整PDF文档的页边距

    PDF边距是页面主要内容区域和页面边缘之间的距离.与Word页边距不同,PDF文档的页边距很难更改.因为Adobe没有提供操作页边距的直接方法.但是,您可以通过缩放页面内容来改变页边距.本文将介绍如何 ...

  3. git拉取代码总提示输入密码解决方法

    公司用的gitlab,在项目拉取(git clone)和更新(git pull)的时候,每次都提示输入用户名密码,不胜其烦,解决方法如下: # 首先 git config --global crede ...

  4. [转] Windows下Hook DirectX

    首先说,这篇文章是很久以前为了玩成某游戏的HOOK找到的资料,虽然一直没用上,但是还是让我保留下来了.直接贴上了..看不懂也不要问我,我都没看. 也许看得懂的人对他们来说这是一个思路,不懂的就当垃圾文 ...

  5. 《 Istio 权威指南 》新著重磅发行!华为云云原生团队匠心力作

    摘要:由 Istio社区指导委员会成员和华为云云原生团队联合编著的云原生服务网格书籍< Istio 权威指南>重磅上市 本文分享自华为云社区<< Istio 权威指南 > ...

  6. 2023-03-06:给定一个二维网格 grid ,其中: ‘.‘ 代表一个空房间 ‘#‘ 代表一堵 ‘@‘ 是起点 小写字母代表钥匙 大写字母代表锁 我们从起点开始出发,一次移动是指向四个基本方向之

    2023-03-06:给定一个二维网格 grid ,其中: '.' 代表一个空房间 '#' 代表一堵 '@' 是起点 小写字母代表钥匙 大写字母代表锁 我们从起点开始出发,一次移动是指向四个基本方向之 ...

  7. 2023-01-01:remix-ide是浏览器的ide,官方已经提供地址,但是需要连接外网。如果是内网,需要自己在服务器里搭建remix-ide;另一种方式是用remix-ide的桌面版。这里只讨论

    2023-01-01:remix-ide是浏览器的ide,官方已经提供地址,但是需要连接外网.如果是内网,需要自己在服务器里搭建remix-ide:另一种方式是用remix-ide的桌面版.这里只讨论 ...

  8. 2020-11-25:go中,map的底层数据结构是什么?

    福哥答案2020-11-25: 简单回答:hmap映射头.bmap桶.mapextra溢出额外信息 中级回答: // 映射头 type hmap struct { // Note: the forma ...

  9. 2022-03-01:k8s安装phpmyadmin,yaml如何写?

    2022-03-01:k8s安装phpmyadmin,yaml如何写? 答案2022-03-01: yaml如下: apiVersion: apps/v1 kind: Deployment metad ...

  10. pycharm-professional-2023 下载安装

    PyCharm Professional 是一款针对 Python 编程的集成开发环境 (IDE),由 JetBrains 公司开发和维护.它是 PyCharm 社区版的升级版,提供了更多的功能和工具 ...