对不起,如果这是一个基本问题,因为我对此很陌生。
我试图让一个 .exe 加载一个虚拟的 .dll。我在 VC++ 2019 中创建了一个示例 .dll 项目,添加了 .exe 的导入表中列出的函数,确保声明extern "C" __declspec(dllexport),使用十六进制编辑器更改了导入表中的序数以匹配新的 .dll 并确保文件名匹配。尽管如此,当我在其文件夹中运行带有此 .dll 的 .exe 时,我收到此类错误消息:
在动态链接库 MyDll.dll 中找不到过程入口点 MyFunction2
我已经重新检查过我没有遗漏导入表中的任何函数名称,并且 .dll 中的函数名称都没有被破坏。.dll 文件中函数入口点的偏移量是否以 PE 格式硬编码?我错过了什么可能导致应用程序拒绝 .dll 的问题?
编辑:该程序不导入LoadLibrary, CreateProcess,ShellExecute也没有我知道的任何其他处理进程和库的函数。