专栏名称: 黑白之道
黑白之道,普及网络安全知识!
目录
相关文章推荐
结构先声  ·  践行国家战略,共建自主生态 | ... ·  2 天前  
结构先声  ·  践行国家战略,共建自主生态 | ... ·  2 天前  
濮阳日报新视角  ·  信创板块风云再起!央企信创龙头崛起,四季度或 ... ·  2 天前  
濮阳日报新视角  ·  信创板块风云再起!央企信创龙头崛起,四季度或 ... ·  2 天前  
安天集团  ·  安天AVL ... ·  5 天前  
DataFunTalk  ·  基于豆包大模型的创意生成与Agent构建 ·  6 天前  
DataFunTalk  ·  基于豆包大模型的创意生成与Agent构建 ·  6 天前  
51好读  ›  专栏  ›  黑白之道

逆向小学习

黑白之道  · 公众号  · 互联网安全  · 2017-11-06 10:19

正文

EXE和DLL文件直接的区别完全是语义上的,因为他们使用的完全相同的PE格式。而唯一的区别就是用一个字段表示出这个文件是EXE还是DLL.

64位Windows只是对PE格式做了一些简单的修饰,新格式叫PE32 .并没有认识新的结构加进去,改变的只是简单的将32位字段扩展成64位。

PE格式定义的主要地方位于我们的头文件winnt.h,这个头文件中几乎能找到关于PE文件的所有定义。

PE文件中的数据结构一般都有32位和64位之分,一般在名称上会表现出来:例如IMAGE_NT_HEADERS32或IMAGE_NT_HEADER64

我们的讲解主要基于现在主流的32位PE格式来进行研究的,64位请依次类推,因为64位版本只是对32位做了一些简单的扩展,结构几乎是一模一样的。

PE文件使用的是一个平面地址空间,所有代码和数据都被合并在一起,组成一个很大的结构。

文件的内容被分割成不同的区块,块中包含代码和数据。各个区块按页边界来对齐,区块没有大小限制,是一个连续的结构。

此外,每个块有自己在内存中的一套属性,比如说这个区块是否包含代码,是否只读或可读/写等。

认识PE文件不是作为单一内存映射文件被装入内存是很重要的。

Windows加载器(又称PE装载器)便利PE文件并决定文件的哪一部分被映射,这种映射方式是将文件较高的偏移位置映射到较高的内存地址中。

当磁盘文件一旦被装入内存中,磁盘上的数据结构布局和内存中的数据结构布局是一致的。

这样如果知道在磁盘的数据结构中寻找一些内容,那么几乎都能在被装入到内存映射文件中找到相同的信息。

但数据直接的相对位置可能改变,其某项的偏移地址可能区别于原始的偏移位置,不管怎样,所有表现出来的信息都允许从磁盘文件偏移到内存偏移的转换。

 

PE的基本概念
1.基地址
2.相对虚拟地址
3.文件偏移地址

 

4D 5A 表示DOS头部的开始
 

PEID是用来查看是否有壳的工具


 

55表示入口地址

学习到这吧,大神路过此地勿喷