PE文件,非PE文件,什么意思,如何鉴定??

PE文件,非PE文件,什么意思,如何鉴定??,第1张

pe 文件是指windows的概念,可理解为“可执行文件”,比如 .exe\.sys\.dll等

非PE文件,不是pe文件的文件就都是pe文件。

可根据 文件的二进制内容鉴定,

简单来说 pe文件 文件头都是固定的,打头是 “MZ”,

嗨、懒得打了,去搜 pe文件头,了解一下吧,

PE是目前Windows平台上主流的可执行文件格式,包括常见的可执行程序EXE文件、动态链接库DLL文件等。

学习PE文件格式对于了解windows *** 作系统是必不可少的。

与PE有关的基本概念

地址

虚拟内存地址(Virtual Address, VA)PE文件中的指令被装入内存后的地址。

相对虚拟内存地址(Reverse Virtual Address, RVA相对虚拟地址是内存地址相对于映射基址的偏移量。

文件偏移地址(File Offset Address, FOA)数据在PE文件中的地址叫文件偏移地址,这是文件在磁盘上存放时相对于文件开头的偏移。

装在基址(Image base)PE装入内存时的基地址。默认情况下,EXE文件在内存中的基地址时0x00400000, DLL文件是0x10000000。这些位置可以通过修改编译选项更改。

虚拟内存地址、映射基址、相对虚拟内存地址的关系:

VA = Image Base + RVA

文件偏移是相对于文件开始处0字节的偏移,相对虚拟地址则是相对于装载基址0x00400000处的偏移。(1)PE文件中的数据按照磁盘数据标准存放,以0x200字节为基本单位进行组织,PE数据节的大小永远是0x200的整数倍。(2)当代码装入内存后,将按照内存数据标准存放,并以0x1000字节为基本单位进行组织,内存中的节总是0x1000的整数倍。

内存中数据节相对于装载基址的偏移量和文件中数据节的偏移量的差异称为节偏移。

文件偏移地址 = 虚拟内存地址(VA) - 装载基址(Image Base) - 节偏移

= RVA - 节偏移

DOS头的下面是DOS Stub。整个DOS Stub是一个字节块,其内容随着链接时使用的链接器不同而不同,PE中并没有与之对应的相关结构。

PE头部解析

紧跟在DOS stub后面的是PE头标识Signature。与大部分文件格式的头部结构一样,PE头部信息中有一个四字节的标识,其内容固定,对应的ASCII码的字符串是“PE00”。

PE头IMAGE_NT_HEADERS

IMAGE_NT_HEADERS是广义上的PE头,在标准的PE文件中其大小为456个字节,由4个字节的PE标识符 + IMAGE_FILE_HEADER + IMAGE_OPTIONAL_HEADER32组成。

IMAGE_NT_HEADERS {

DWORD Signature // +0000h - PE文件标识,“PE00”

IMAGE_FILE_HEADER FileHeader // +0004h - PE标准头

IMAGE_OPTIONAL_HEADER32 OptionalHeader// +0018h - PE扩展头

}

标准PE头IMAGE_FILE_HEADER

标准PE头IMAGE_FILE_HEADER紧跟在PE头标识后,即位于IMAGE_DOS_HEADER的e_lfanew + 4的位置。由此位置开始的20个字节为数据结构标准PE头IMAGE_FILE_HEADER的内容。它记录了PE文件的全局属性,如该PE文件运行的平台、PE文件类型、文件中存在的节的总数等

用易语言写过

OriginalFirstThunk/FirstThunk

是指向一个IMAGE_THUNK_DATA数组的RVA

IMAGE_THUNK_DATA是一个有0结束的的DWORD数组,有多少个调用API就有多少个成员

每个成员是指向IMAGE_IMPORT_BY_NAME的RVA,检查这个RVA如果这个RVA的值与IMAGE_ORDINAL_FLAG32位与为1

则函数是通过序数引出的,所以不需要更进一步处理了。直接从提取这个RVA的低字节获得序数,然后是下一个IMAGE_THUNK_DATA

双字,如果不为1.就是通过函数名称来引入的,IMAGE_IMPORT_BY_NAME有2个成员,

第一个是个序号,WORD,2字节

另一个就是函数名, 大小不固定,文本型 以0结束

通过我的讲解,你明白了吗?


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12105482.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存