我正在尝试从较旧版本的 Windows 中获取 DLL,以便在较新版本上工作。我已经修补了代码以跳过对丢失的导入的调用,但我现在想从导入表中删除该序数导入,以便可以加载 DLL。
有没有什么简单的方法可以跳过导入表中的导入,而不必将所有后续导入移回一个位置?
我正在尝试从较旧版本的 Windows 中获取 DLL,以便在较新版本上工作。我已经修补了代码以跳过对丢失的导入的调用,但我现在想从导入表中删除该序数导入,以便可以加载 DLL。
有没有什么简单的方法可以跳过导入表中的导入,而不必将所有后续导入移回一个位置?
Runemoro 在评论中的回答似乎是一个非常平易近人的回答。您将需要更新从该 DLL 的 IMAGE_IMPORT_DESCRIPTOR 引用的 FirstThunk(和/或 OriginalFirstThunk)数组中的一个(或两个)RVA。为什么不只是修补该条目以包含其他一些无害的 RVA,用于从同一 DLL 导入的另一个函数?