PE 格式 - 如何删除 IMAGE_IAT_DIRECTORY 并且应用程序仍能正常运行?

逆向工程 视窗 二元分析 聚乙烯 视窗 10 pe32
2021-06-29 03:17:59

我正在做一个关于 PE 文件的小型研究,虽然我深入研究了每个相关问题或文档本身,但我无法解释这个问题。

为什么我可以去CFF explorer或其他一些PE编辑软件并将OptionalHeader中的IMAGE_IAT_DIRECTORY作废,程序仍然可以正常运行?

据我了解,loader 会遍历 OriginalFirstThunk 指向的 PIMAGE_THUNK_DATA 数组,解析符号,然后用对应的函数地址覆盖 FirstThunk 指向的内存。

我还了解到 IMAGE_IAT_DIRECTORY 将作为这些函数指针数组的容器,用于每个 IMAGE_IMPORT_DESCRIPTOR 中的每个相应 FirstThunk。IAT 目录什么时候需要存在?是否缺少此目录会阻止文件启动?

谢谢!

0个回答
没有发现任何回复~