PE文件格式文档

NT头---可选头---IMAGE_DATA_DIRECTORY---IMAGE_DIRECTORY_ENTRY_RESOURCE--->

IMAGE_SECTION_HEADER[](节头/表)

……

节n---->IMAGE_RESOURCE_DIRECTORY_ENTRY[]---IMAGE_RESOURCE_DIRECTORY[]

-----------------0:DOS头

-----------------1:NT头

typedef struct _IMAGE_NT_HEADERS {
DWORD Signature;//PE文件头标志 :"PE\0\0"。在开始DOS header的偏移3CH处所指向的地址开始
IMAGE_FILE_HEADER FileHeader; //PE文件物理分布的信息
IMAGE_OPTIONAL_HEADER32 OptionalHeader;//PE文件逻辑分布的信息
} IMAGE_NT_HEADERS32, *PIMAGE_NT_HEADERS32;

-----------------1.1:文件头

typedef struct _IMAGE_FILE_HEADER {
WORD Machine; //该文件运行所需要的CPU,对于Intel平台是14Ch
WORD NumberOfSections; //文件的节数目
DWORD TimeDateStamp; //文件创建日期和时间
DWORD PointerToSymbolTable; //用于调试
DWORD NumberOfSymbols; //符号表中符号个数
WORD SizeOfOptionalHeader; //OptionalHeader 结构大小
WORD Characteristics; //文件信息标记,区分文件是exe还是dll
} IMAGE_FILE_HEADER, *PIMAGE_FILE_HEADER;

-----------------1.2:可选头

typedef struct _IMAGE_OPTIONAL_HEADER {
WORD Magic; //标志字(总是010bh)
BYTE MajorLinkerVersion; //连接器版本号
BYTE MinorLinkerVersion; //
DWORD SizeOfCode; //代码段大小
DWORD SizeOfInitializedData; //已初始化数据块大小
DWORD SizeOfUninitializedData;//未初始化数据块大小
DWORD AddressOfEntryPoint; //PE装载器准备运行的PE文件的第一个指令的RVA,若要改变整个执行的流程,可以将该值指定到新的RVA,这样新RVA处的指令首先被执行。(许多文章都有介绍RVA,请去了解)
DWORD BaseOfCode; //代码段起始RVA
DWORD BaseOfData; //数据段起始RVA
DWORD ImageBase; //PE文件的装载地址
DWORD SectionAlignment; //块对齐
DWORD FileAlignment; //文件块对齐
WORD MajorOperatingSystemVersion;//所需操作系统版本号
WORD MinorOperatingSystemVersion;//
WORD MajorImageVersion; //用户自定义版本号
WORD MinorImageVersion; //
WORD MajorSubsystemVersion; //win32子系统版本。若PE文件是专门为Win32设计的
WORD MinorSubsystemVersion; //该子系统版本必定是4.0否则对话框不会有3维立体感
DWORD Win32VersionValue; //保留
DWORD SizeOfImage; //内存中整个PE映像体的尺寸
DWORD SizeOfHeaders; //所有头+节表的大小
DWORD CheckSum; //校验和
WORD Subsystem; //NT用来识别PE文件属于哪个子系统
WORD DllCharacteristics; //
DWORD SizeOfStackReserve; //
DWORD SizeOfStackCommit; //
DWORD SizeOfHeapReserve; //
DWORD SizeOfHeapCommit; //
DWORD LoaderFlags; //
DWORD NumberOfRvaAndSizes; //
IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES];//=16
} IMAGE_OPTIONAL_HEADER32, *PIMAGE_OPTIONAL_HEADER32;

时间: 2024-09-18 23:23:34

PE文件格式文档的相关文章

PDF文件和Word文档面临更多网络安全威胁

安全厂商攻击研究报告显示,借助PDF文件进行入侵渗透的行为最为最常见. 截至2009年4月底,在全球共发现663起具有典型攻击目的的入侵行为,其中最常见是借助PDF文件进行入侵,占总攻击事件的48.87% .近半成袭击来自PDF文档,根源归咎于最近发生的两起PDF格式文件安全漏洞. 月内,Adobe Acrobat Reader分别爆出"getAnnots( )"及"pell.customDictionaryOpen( )"的安全漏洞,攻击者借助这些漏洞可以任意执行

在Word 2010中把文档保存为.DOC文件格式

默认情况下,使用Word2010编辑的Word文档会保存为Docx格式的Word2010文档.如果Word2010用户经常需要跟Word2003用户交换Word文档,而Word2003用户在未安装文件格式兼容包的情况下又无法直接打开Docx文档,那么Word2010用户可以将其默认的保存格式设置为Doc文件. 在Word2010中设置默认保存格式为DOC文件的步骤如下所述: 第1步,打开Word2010文档窗口,依次单击"文件"→"选项"按钮,如图200912120

WPS文档怎么保存成自己需要的文件格式?

  WPS三件套中PPT演示文稿的制作是大家常用的软件,但是有时候出于某中原因想要把自己的PPT格式保存成自己需要的格式,那么具体应该如何操作才能达到目的呢,今天小编把自己的经验分享给大家. 1.既然是提问这个问题,想必大家的电脑已经安装了WPS演示这个软件,如果没有的可以网上下载,也可以在360软件管家下载,小编在这就不指导安装了. 文档怎么保存成自己需要的文件格式?-wps文件保存格式"> 2.然后就是打开你要修改格式的PPT.如图,当你双击后出现模板,把模板关闭. 3.接下来出现&q

Word 2010文档转换成PDF文件格式教程

1.我们打开要处理的word文件在导航左上角的"文件"下面的"共享"然后我们再点击"创建 PDF/XPS 文档--创建PDF/XPS",如下图红框所示. 2.之后我们在弹出界面再点击"发布为 PDF 或 XPS 对话框"然后再找到下面的"发布"按钮即可,如图2: 3.一个新的 PDF 文档就创建完成了,如图3: 好了导出之后我们我们就可以使用pdf阅读器打开它了,文件的后缀也是pdf格式的了,各位可以尝试的

Word文档生成

非常多的时候,都需要在程序当中生成一些文档,这些文档可能是csv,word,pdf,PPT,xls等文件格式. 生成csv还是比较简单的,但是要生成word,excel就麻烦多了. 当然,Tiny框架也面临这个问题,如何才能帮助开发人员快速生成这些文档呢? 一般来说,现在用java生成Word有如下方式: POI,iText,当然还有Xml形式. 对于采用POI,iText来说,要生成复杂的Doc文件,其实并不容易.而采用Xml结构生成,去把一个文档生成xml文件,看看里面的内容,估计也会是满头

Word文档使用技巧

1.快速给文字加下划线 如果在Word文档中,有一段带有空格键的文本,而现在只想给该段文本中的文字加上下划线,并且忽略其中的空格.此时,请选中该段文本,然后按下"Ctrl+Shift+W"键就搞定了. 2.用特殊符号快速绘制分隔线 在用Word编辑文档时,时常会用到一些直线或是虚线作为文档的横向分隔线,常用的绘制方法是插入剪贴画中的水平线来实现,但这种方法太烦琐.其实在 Word中可以利用一些特殊符号加回车键的办法来快速绘制常用的横向分隔线.连续输入3个以上的"*"

根据标准word模板生成word文档类库(开源)

前言                                                                                                                              最近因项目需要要自定义标准word模板,并以编码方式操作word模板.填充数据和生成word文档,于是自己写了条小"内裤"来实现这个功能.该"内 裤"只针对ooxml格式的word文档,当然大家可以用Aspose.

Word文档批量转换成TXT格式的技巧

使用Word编辑文档的时候,不仅可以保存成Word格式,也可以保存为其它格式.但有的时候需要将大批的已经编辑完成的Word文档转换成文本格式或其他格式文档,怎么办?如果通过"另存为"将是一件十分费时费力的事情. 可能有人说了利用第三方工具软件吧,那是另一话题.在这里笔者要告诉大家的是:批量转换文档格式不求"人",完全可以借助Word本身自带的功能就可以完成批量转换文档格式的工作.为了叙述方便,专家以将Word文档格式批量转换成TXT文本格式为例来介绍其转换过程,具体

所有Word文档转图片归档技巧

在笔者上班的单位,每季度都要定期进行一次文件归档.整理和打印文档不仅耗费时间,还浪费大量的打印费用,于是建议Boss批准使用Smart Printer将文档打印成图片或电子文档进行保存和归档.我们发现办公效率大大提高,而且节省了不少办公经费,值得推荐. 一.软件安装后会在XP/Win7系统中生成一个名为"Smart Printer"的虚拟打印机.我们首先来打开一个Word文档;按"Ctrl P"组合键调出打印界面;在"打印机名称"中确定新增的这台