PE文件格式 PE 文件格式把可执行文件分成若干个数据节(section),不同的资源被存放在不同的节中. 一个典型的 PE 文件中包含的节如下: .text 存放着二进制的机器代码 .data 初始化的数据块,如宏定义.全局变量.静态变量等. .idata 可执行文件所使用的动态链接库等外来函数与文件的信息. .rsrc 存放程序的资源,如图标.菜单等. 除此以外,还可能出现的节包括".reloc".".edata".".tls"."…
本文主要从杀毒软件查杀病毒的原理出发,分析PE文件格式在杀毒软件定位病毒特征码中的作用.杀毒软件通过快速准确定位病毒特征码,对伪装,隐藏,变种病毒进行查杀. 一.杀毒软件查杀病毒的原理概述 对于操作系统来说,电脑病毒和其他应用程序没有差别的,都是一个exe程序.只是功能上有所区别,通常病毒程序都是窃取用户信息,破坏电脑中的数据等,而不一般程序不会这么做.杀毒软件是怎么判断一个exe程序是病毒程序呢? 通常是先经过杀毒软件公司的技术人员来分析,验证程序是否具有窃取用户信息,破坏电脑数据的行为.如果…
PE是Portable Executable File Format(可移植的运行体)简写,它是眼下Windows平台上的主流可运行文件格式. PE文件里包括的内容非常多,详细我就不在这解释了,有兴趣的能够參看之后列出的參考资料及其它相关内容. 近期我也在学习PE文件格式,參考了很多资料.用C++封装了一个高效方便的PE文件格式解析的类. 该类对想学PE文件结构的朋友可算一份可贵的资料.代码均非常易懂,考虑较全面,具有一定的通用性. 同一时候该类也能够让想创建自己的PE文件解析软件的朋能够轻松在…
作者:MSDN译者:李马 预定义段 一个Windows NT的应用程序典型地拥有9个预定义段,它们是.text..bss..rdata..data..rsrc..edata..idata..pdata和.debug.一些应用程序不需要所有的这些段,同样还有一些应用程序为了自己特殊的需要而定义了更多的段.这种做法与MS-DOS和Windows 3.1中的代码段和数据段相似.事实上,应用程序定义一个独特的段的方法是使用标准编译器来指示对代码段和数据段的命名,或者使用名称段编译器选项-NT——就和Wi…
0x01 MS-DOS头 MS-DOS头部的字段重点关注e_magic与最后一个e_lfanew是需要关注的. 第一个e_magic字段的值为4D5A,作用是可以作为判断这个文件是否是PE文件. 最后一个e_lfanew字段可以引导我们找到新的EXE文件头,从而进一步判断这个可执行文件是否为PE文件. 如果从这个文件开头用PIMAGE_DOS_HEADER解析,e_magic成员不是IMAGE_DOS_SIGNATURE,那么就不是一个PE文件. MS-DOS头结构: typedef struc…
以前刚开始学网络安全,是从免杀开始的.记得那时候杀毒软件还很弱.金山江民瑞星还存在. 那会什么原理也不懂,就一直瞎鼓捣.(后来转入渗透行列了) 这段时间一直在学PE格式,突然想起来以前很古老的PE文件头移位. 网上搜了搜,看大家虽然做了视频,但是竟然没人讲原理.借着刚好在学PE格式的知识,就做个PE文件头移位的笔记.(不喜勿喷,刚学PE头文件格式,难免出错请提点,谢谢) 当然现在这种很古老的免杀方式对于杀软来说根本是不堪一击了.纯属做笔记. PE文件的基本结构如图示: IMAGE_DOS_HEA…
在进行PE文件格式病毒分析的时候,经常要使用到PE文件格式的解析,尤其是对LoadPE形式的病毒的分析,经常要查看PE文件格式的偏移,特地从博客<PE文件格式的偏移参考>中转载收录一份,之前在网上也看到比较不错的有关PE文件偏移的博客,但忘了收录.在进行PE文件格式的病毒分析时,还会经常参考这篇博客<PE文件格式学习笔记>,博主关于PE文件格式的学习笔记写的不错,其他的参考书籍<加密与解密(第3版)>.<黑客免杀攻防>,顺便提一句<黑客免杀攻防>…
@date: 2016/11/24 @author: dlive ​ PE (portable executable) ,它是微软在Unix平台的COFF(Common Object File Format 通用对象文集格式)的基础上制成的. ​ PE文件是指32位的可执行文件,也称PE32,64位的可执行文件称为PE+或者PE32+ ​ PE文件的种类 种类 主扩展名 可执行系列 exe ,scr 驱动程序系列 sys, vxd 库系列 dll, dcx, cpl, drv 对象文件系列 ob…
PE文件就是exe文件和dll文件,前者是可执行文件,后者是动态连接库文件.两者的区别仅仅是字面上的,唯一的区别就是内部的一个字段标识这个文件是exe文件还是dll文件. 对于PE文件格式,举一个例子来说明比较清楚: 比如我打开一个.exe文件,gvim.exe 也就是gvim的安装程序 这是打开之后的截图 首先就是DOS头:前两个字节,5A4Dh 表示MZ,这只是一个DOS可执行文件标记,表示这个文件是一个可执行文件. DOS头的最后一个Double word 在地址3ch处,可以发现它的值是…
深入理解 Win32 PE 文件格式 Matt Pietrek 这篇文章假定你熟悉C++和Win32. 概述 理解可移植可执行文件格式(PE)可以更好地了解操作系统.如果你知道DLL和EXE中都有些什么东西,那么你就是一个知识渊博的程序员.这一系列文章的第一部分,讨论最近这几年PE格式所发生的变化. 这次更新后,作者讨论了PE格式如何适应于用.NET开发的应用程序,包括PE节,RVA,数据目录,以及导入函数.附录中包含了相关的映像头结构以及它们的描述. 很早以前,我为微软系统期刊(现在叫做MSD…