网站导航网学 原创论文 原创专题 网站设计 最新系统 原创论文 论文降重 发表论文 论文发表 UI设计定制 论文答辩PPT格式排版 期刊发表 论文专题
返回网学首页
网学原创论文
最新论文 推荐专题 热门论文 论文专题
当前位置: 网学 > 设计下载 > DELPHI类作品 > 正文

delphiPE文件格式研究及PEDUMP的实现

论文降重修改服务、格式排版等 获取论文 论文降重及排版 论文发表 相关服务
统程序设计 …………………………………………….

  29 第一节 分析模块的实现 ……………………………………………..

  29 第二节 基本信息显示模块的实现 …………………………..

  29 第三节 资源数据导出导入模块的实现 ……………….…

  42 第四节 文本结果导出模块的实现 ……………………………

  46 第六章 运行结果及界面 ……………………………………….

  48 第七章 总结 ……………………………………………………&h

ellip;……….

  51 附录一 参考文献 ………………………………………………………

  52 附录二 文件分析文本结果事例 …………………………. 53

  第一章 问题定义对于一个程序员或电脑使用者,总要和PE文件打交道,PE文件是 Win32环境自身所带的可执行文件格式,它的一些特性继承自Unix的COFF(Common Object File Format)文件格式。PE即Portable Executable(可移植执行)的缩写,意味着此文件格式是跨Win32平台的:即使Windows运行在非Intel的CPU上,PE装载器都能识别和使用该文件格式。我们平时在Windows下使用的.exe文件就是典型的PE类型文件,当然PE文件还包含了例如32位的.DLL等任何可在Win32环境下执行的文件,很多时候我们需要对自己或者已有的PE文件作一个分析,以便改进或者研究,由于PE文件是计算机中最重要,最常用的文件,因而学习,了解PE文件格式对于我们不无裨益。第一节 PE格式简要分析 PE文件格式主要由微软制定,此格式基本已成为Windows下可执行文件的标准格式,一个标准的PE文件包含了很多部分,每部分都有自己的结构,它的主要组成如表1.1.1:英文标示说明 DOS MZ HeaderDOS文件头 Dos stub SignaturePE文件头,包含数据目录 File header Optional header Section Table节表 Sections节 Resource Directory资源目录 表1.1.1 以下我将对以上几个部分分别介绍,由于资料有限,每部分不可能说得非常详细,只是每部分的介绍都加上了我的一些研究心得,这将为后章的PEDUMP文件分析器的实现打下基础。 1.1 DOS文件头所有PE文件都必须以一个简单的DOS MZ Header开始。有了它,一旦程序在DOS下执行,DOS就能识别出这是有效的执行体,通常以两字节的"MZ"(IMAGE_DOS_SIGNATURE)标示字符开始的,然后运行紧随MZ header之后的DOS stub(片断)。DOS stub实际上是个有效的EXE,在不支持PE文件格式的操作系统中(例如DOS系统),它将简单显示一个错误提示,类似于字符串" This program must be run under Win32"或者程序员可根据自己的意图实现完整的DOS代码。大多数情况下DOS文件头是由汇编器/编译器自动生成,它简单调用21h中断服务来显示字符串。在Dos文件头中有两个比较重要的值,一个是位于文件开始位置的.e_magic的值,包含了标志字符串"MZ",另一个是._lfanew的值,指出了PE header的起始地址,通常在文件开始$003C偏移地址指明,比如偏移地址的值为$1000,表示PE文件头从文件地址$1000处开始。 1.2 PE文件头紧接着DOS stub的是PE header。PE header是PE文件相关结构IMAGE_NT_HEADERS的简称。PE文件在支持他的操作系统中执行时,PE装载器将根据._lfanew指示的PE header的起始偏移量,直接定位到真正的文件头PE header的开始部分而跳过DOS stub部分。此结构有3个域,各个域说明如表1.1.2: SignaturePE文件头标志 FileHeader包含TimageFileHeader结构,此结构在后面将详细说明。 OptionalHeader包含TimageOptionalHeader结构此结构在后面将详细说明。 表1.1.2 在PE header开始部分是特殊的32-bit的标志Signature,它表明了此文件的真正身份,通过检测此标志,可以准确的判断此文件是否是有效的PE文件格式。在DELPHI的 Windows.pas单元中他们的申明如表1.1.3:标示值注释 IMAGE_DOS_SIGNATURE$5A4D{ MZ } IMAGE_OS2_SIGNATURE$454E{ NE } IMAGE_OS2_SIGNATURE_LE$454C{ LE } IMAGE_VXD_SIGNATURE$454C{ LE } IMAGE_PE_SIGNATURE$00004550{ PE00 } 表1

  • 下一篇资讯: delphi仓库管理系统
  • 设为首页 | 加入收藏 | 网学首页 | 原创论文 | 计算机原创
    版权所有 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2020 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号 常年法律顾问:王律师