导入表在PE的DOS 头部中还是在 PE 头部 还是在可选头部?
时间: 2024-03-04 13:51:30 浏览: 17
导入表不在PE文件的DOS头部中,而是在可选头部的数据目录中。可选头部中的数据目录是一个数组,它描述了PE文件中的许多数据结构,例如导入表、导出表、资源表等等。数据目录是一个描述表,每个条目都表示一个数据结构,包括该数据结构在文件中的位置和大小等信息。在数据目录中,第一项是导入表,它包含了程序运行时需要调用的外部函数的名称和地址,以及它们所在的动态链接库的名称和地址。因此,导入表是可选头部中的一个重要部分,它使PE文件能够在运行时动态加载外部函数,从而实现更强大的功能。
相关问题
windows PE结构的可选头部的那个数据描述导入表
PE结构的可选头部中的数据目录中第一项描述的就是导入表。数据目录是一个数组,每个元素是一个描述表项,包括该项数据在PE文件中的位置和大小等信息。在可选头部中,数据目录大小为16字节,其中第一项就是描述导入表的数据目录项,包括以下内容:
- RVA(Relative Virtual Address):导入表在内存中的相对虚拟地址。
- Size:导入表在PE文件中的大小。
- 其他字段:保留字段,通常为0。
导入表是一个描述PE文件需要在运行时调用哪些外部函数的表格。它包含了每个需要调用的外部函数的名称和地址,以及它们所在的DLL文件的名称和地址等信息。Windows在启动PE文件时就会动态地加载这些DLL文件,并把它们映射到进程的虚拟地址空间中。然后,当PE文件需要调用某个外部函数时,就可以直接跳转到该函数的地址执行。
pe文件中的引入函数表在什么位置
### 回答1:
PE文件的引入函数表(Import Table)通常位于PE文件的数据目录中。具体来说,引入函数表是PE文件数据目录中的第一项,也就是IMAGE_DIRECTORY_ENTRY_IMPORT。引入函数表记录了PE文件所依赖的外部模块和这些外部模块中导出函数的名称、序号、地址等信息。通过引入函数表,PE文件可以在运行时动态链接这些外部模块中的函数,实现模块间的相互调用。
### 回答2:
PE文件中的引入函数表(Import Function Table)存储在可选头(Optional Header)的数据目录中的导入表(Import Table)中。导入表是PE文件中的一个数据结构,用于记录程序需要使用的外部函数和库的信息。
导入表位于可选头的数据目录中的第一个数据目录项(IMAGE_DIRECTORY_ENTRY_IMPORT),该数据目录项保存了导入表的起始地址和大小。导入表中存储了一系列的导入表项(Import Table Entry),每个导入表项都对应着一个外部函数库。
每个导入表项中,包含了外部函数库的名称(Import Name Table)和用到的外部函数地址(Import Address Table)。导入表项中的外部函数名称是通过字符串表索引来引用的,而外部函数地址是通过在导入地址表(IAT)中分配一个位置来引用的。
通过解析PE文件中的导入表,程序可以知道需要哪些外部函数库,以及这些外部函数库中的函数被调用的地址。这对于程序在运行时动态链接外部库非常重要,因为它需要知道哪些函数应该从哪个外部库加载。
总之,PE文件中的引入函数表存储在可选头的导入表中,它包含了外部函数库的名称和地址的信息,用于程序在运行时动态链接外部库。
### 回答3:
PE文件中的引入函数表(Import Function Table)位于文件的导入表(Import Table)中。导入表是PE文件中的一个数据结构,用于记录该文件所依赖的外部函数库和函数的信息。
导入表的位置在PE文件的数据目录中,也就是在NT头(PE头)中的可执行文件头中的数据目录表(Data Directory Table)中的第一项。
导入表的结构中包含了一个或多个导入描述符(Import Descriptor),每个导入描述符对应一个外部函数库。导入描述符包含了该库的名称或地址等信息,以及一个指向导入函数表的指针。
导入函数表是一个连续的数据结构,通常位于导入描述符的下方。它记录了外部函数库中被引用的函数的名称或序号。
在导入函数表中,每个函数的记录通常由两部分组成:一个是函数的地址或序号,另一个是一个指向该函数名称的指针,该指针指向导入表中的一个字符串表。
通过导入函数表,PE文件可以在运行时动态地链接外部函数库,并调用其中的函数。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)