Windows PE/COEF

原创 2011年01月13日 23:34:00

Windows 平台下的可执行文件采用PE的格式, VISUAL C++编译产生的目标文件仍然是COFF,

以为为了兼容以前的DOS可执行文件,所以出了PE相对于COFF的超集来处理。

 

VISUAL C++

#pragma data_seg("FOO")

int global = 1;

#pragma data_seg(".data")

表示先全局变量 global 存到FOO段中间去,然后在回到.data段。

 

COFF文件的文件头部包括了2部分,1个是描述文件总体结构和属性的映射头,另外一个是描述该文件中包含的段属性的段表。

映射头

从它的结构体看来, 主要是用了确定平台的,和机器的信息等等。

 

.drectve 段 主要就是给编译传递参数的。

COFF 的符号表跟ELF的符号表很类似,有几个特殊的数据,如 ABS 表示符号是个绝对值,即就是个常量,不存在任何的段里。

符号类型,有2种,变量和其他符号:变量 为 notype , 其他符号 为 notype()。

符号可见范围: static 只有目标文件内部是可见的。 External 表示符号是全局变量。

PE 特有的一个头 PE扩展头部结构,有了很多成员,有些部分跟PE文件的装载和运行相关,大多数跟Windows系统相关联的。

IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES == 16 ]

这个成员表示一个数组包含着其他的表,比如导入表,资源表....

定义了很多个宏(0-15)来打开这些信息,比如 IMAGE_DIRECTORY_ENTRY_EXPORT.

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Windows PE文件各个节(Section)分析

PE(Portable Executable),即可移植的执行体。PE文件通常包括以下节(Section).textbss/BSS,text/CODE,.rdata,.data,.idata,.eda...

Windows PE 文件 ---------------资源节的解刨

时间总是太匆忙,项目总是太多,一直看CSDN,却从来没有写过一篇像样的文章,今天因为一个项目要自定义PE的资源节,我们要改变一个PE文件的已有资源节数据,在里面添加任何资源,这样不得不改变原来PE文件...

windows PE文件结构及其加载机制

1. 概述PE文件的全称是Portable Executable,意为可移植的可执行的文件,常见的EXE、DLL、OCX、SYS、COM都是PE文件,PE文件是微软Windows操作系统上的程序文件(...

Windows进程通信之PE文件共享节

本文由danny发表于 http://blog.csdn.net/danny_share   说明:建议先下载本文配套工程,其中 SectionDLL、SectionMain工程、Section...

Windows PE文件导入函数查看器(C++/C)

本文记录了此工具的实现原理和源代码

Windows PE导出表编程3(暴力覆盖导出函数)

今天要尝试的导出表相关编程内容是:覆盖函数地址部分的指令代码。 这种覆盖技术,是将AddressOfFunctions指向的地址空间指令字节码实施覆盖,这种技术又繁衍出两种: 暴力覆盖,即将所有的...

windows系统PE文件的结构简述以及w应用程序与控制台程序的区别

PE(Portable Execute)文件是Windows下可执行文件的总称,常见的有DLL,EXE,OCX,SYS等,事实上,一个文件是否是PE文件与其扩展名无关,PE文件可以是任何扩展名。那Wi...

Windows PE导出表编程2(重组导出表函数地址)

Windows PE导出表编程2(重组带出表函数地址)

Windows PE 第四章 导入表

Windows PE 第四章 导入表

Windows PE 第一章 熟悉OD(顺便破解一个小工具)

Windows PE 第一章 熟悉OD(顺便破解一个小工具)
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)