我正在对PE文件进行一些批量分析,在解析PE文件的导入表时,我发现许多PE文件导入了给定DLL的重复条目......为什么会这样?这在功能上提供了什么?
例如,example.exe导入表的转储显示:
的Kernel32.dll user32.dll中 blah.dll KERNEL32.DLL KERNEL32.DLL user32.dll中 SHELL32.DLL
提前致谢。
答案 0 :(得分:2)
您所观察到的正确且完全正常!请查看下面的图片,其中显示Dependency Walker正在分析导入许多库的Process Explorer(静态)图像。不久之后,一个库会导入一个已经被其他人导入的库(例如,典型的示例是USER32.DLL或NTDLL.DLL,它们几乎总是被多次导入)。
答案 1 :(得分:0)
也许正在分析的PE已被修补以导入其他功能,因为大多数二进制文件的导入地址表都非常紧凑,因此在现有模块中添加一个条目是不可能的。