windows – PE格式,IAT目录有什么用
在PE格式中,我们有导入表目录(由IMAGE_DIRECTORY_ENTRY_IMPORT访问)和IAT目录(由IMAGE_DIRECTORY_ENTRY_IAT访问)
两者都是可选标题数据目录的一部分. 使用Import Table,加载器可以动态加载和解析必要的库和函数. 那么,如果我们使用导入目录进行导入解析,我们需要哪些IAT目录? 我一直在阅读Microsoft PE specification,但找不到答案.此外,SO中也存在一些问题,但大多数问题都使用IAT来引用Thunk表而不是IAT目录. 谢谢 编辑 我认为导入地址表(导入表目录中的字段)和导入地址表(称为IAT目录)之间存在混淆. 再次感谢 解决方法
在您链接的PE规范中,第5.4.4章对此进行了详细描述.它们是相同的表格:
也许解释为什么这样做是很重要的. PE文件通过将其直接映射到内存而加载到进程中.底层操作系统原语是内存映射文件.这提供了几个重要的优化: >可执行文件使用的内存不必由页面文件支持.如果操作系统需要另一个进程的RAM,则可以简单地丢弃映射到可执行文件的页面.当进程生成页面错误时,再从PE文件重新加载. 当加载程序使用导入函数的实际地址填充IAT时,操作系统将重新映射IAT的页面并使其由页面文件支持.因此,每个进程都可以拥有自己的一组导入地址.包含代码和导入表的其余页面仍然是共享的. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- MySQL_8.0.15_Windows10_X64 安装教程
- windows-installer – 我可以在ARPCONTACT属性中显示URL链接
- Windows – 从Microsoft PKI中的CDP和AIA中删除LDAP
- wix – RegistrySearch vs util:Burn中的RegistrySearch
- 已收到MSMQ消息但未提供Windows 2008 R2
- [问八系列] Windows 8 开发 (4): 分离检视型应用程序 Part
- windows-phone-8.1 – Windows Phone 8.1中按钮的最小尺寸
- windows-server-2012-r2 – 远程桌面和网络访问保护问题
- Windows10 and MySQL安装
- 干净的Windows安装中存在哪些视频编解码器?