什么是PE文件

原创 2005年05月15日 19:51:00

一个托管的PE文件包含4个部分:PE表头,CLR表头,元数据,IL代码。

PE表头是Windows操作系统要求的标准信息,主要时指出了文件的类型,GUI、CUI或是DLL(不同于以前的Dynamic Link Library,特指程序集文件的一种形式)。

CLR表头专门用于那些需要CLR才能运行的托管模块。CLR表头中包含和托管模块一起创建的元数据的主版本号和次版本号,一些标记,如果模块是GUI或CUI,可执行文件还有一个标识入口点方法的MethodDef标记,以及一个可选的强命名数字签名。最后该表头中还包括模块内某些元数据表的大小和偏移量。

元数据是一个非常重要的概念,他实际上是一个二进制数据块。元数据中包含了一些表,这些表被划分为三大类:定义表、引用表和清单表。定义表包含了程序中的模块、方法、类型、字段、变量、属性、事件等等一切相关的定义信息,而引用表则记录了程序引用的程序集、方法、类型等的信息。清单表与Assembly运行相关。

大家可以通过ILDasm来打开一个托管模块的元数据清单。在命令行中键入ILDasm  /Adv  App.exe来打开一个名为App.exe托管程序,在ILDasm的可视化界面中点击菜单--〉试图--〉元数据--〉显示就可以看到ILDasm处理过的元数据清单。

IL代码,源程序被编译后成为中间语言代码,在ILDasm中也可以看到程序的IL代码。

现在没有解决的就是Assembly相关的一些概念了。

下回再写

PE文件学习

1.介绍 什么是PE文件? PE文件是windows操作系统下使用的可执行文件格式。32位就直接叫PE或PE32,64位的就PE+或PE32+,注意不是PE64哦!!!! 学习PE文件其实...
  • u012763794
  • u012763794
  • 2016年05月21日 15:39
  • 4948

PE文件结构详解(一)基本概念

PE(Portable Execute)文件是Windows下可执行文件的总称,常见的有DLL,EXE,OCX,SYS等,事实上,一个文件是否是PE文件与其扩展名无关,PE文件可以是任何扩展名。那Wi...
  • evileagle
  • evileagle
  • 2013年09月14日 23:01
  • 47826

非PE文件类型攻击小结

非PE攻击,包括hta、rundll32、powershell、office文档等方式攻击
  • bajinsheng
  • bajinsheng
  • 2017年08月22日 16:03
  • 230

PE文件病毒感染示例

;本程序修改自hume的代码,其版权信息如下:CopyRight              db "The SoftWare WAS OFFERRED by Hume[AfO]",0dh,0ah   ...
  • long_xing
  • long_xing
  • 2006年05月29日 10:30
  • 2926

关于PE可执行文件的修改(3) 给PE文件打补丁

作者:njhhack--------给PE文件打补丁--------------njhhack我们都知道在PE文件中有很多空隙,所以我们就有可能给PE文件打补丁.做法是在空隙中插入我们的补丁代码.下面...
  • VxD1
  • VxD1
  • 2008年03月12日 10:05
  • 845

Windows下判断PE文件是32位还是64位程序

int __stdcall get_file_machine_bit(const WCHAR * pwszFullPath) { FILE * peFile = NULL; _...
  • perry_xiao
  • perry_xiao
  • 2012年09月01日 22:02
  • 4460

PE文件是什么?

EXE文件是属于PE文件的一种。   PE文件的全称是Portable Executable,意为可移植的执行体是,常见的EXE、DLL、OCX、SYS、COM都是PE文件,PE文件是微软Windo...
  • see__you__again
  • see__you__again
  • 2016年07月28日 20:31
  • 472

PE中添加外置程序(转载)

PE中添加外置程序(转载) 一、增减外置程序        外置程序在光盘的“外置程序”目录中,对应的配置文件是该目录下的 WinPE.INI 删除程序只须删除该软件在外置程序目录对应的子目录,再删除...
  • xiuxiugirl
  • xiuxiugirl
  • 2010年03月16日 09:20
  • 2541

PE文件详解1——PE文件头部解析

参考书籍:《WindowsPE文件权威指南》 MSDN中winnt.h是PE文件定义的最终决定者。 EXE文件与DLL文件之间的区别完全是语义上的,二者PE结构完全相同。唯一区别用一个字段标示处这...
  • sinat_34260423
  • sinat_34260423
  • 2016年06月27日 11:24
  • 598

PE文件格式TLS回调

从这个帖子打开文件对话框中有些文件无法显示中了解到了TLS,网上搜索了一下,挺有意思的,一般用于调试...
  • BeanJoy
  • BeanJoy
  • 2015年12月28日 16:13
  • 1750
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:什么是PE文件
举报原因:
原因补充:

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