标签: c++ loadlibrary dll portable-executable
我想在运行时加载我的应用程序(A.exe)中的第三方二进制插件(P.dll)。此插件是为另一个应用程序(B.exe)构建的。
该插件在B.exe模块上具有隐式dll导入,如:
我已经从A.exe导出了函数func1,func2和func3,但我无法使用LoadLibrary加载dll,因为没有名为“B.exe”的模块。
LoadLibrary
有没有比重命名我的应用程序“B.exe”或修补P.dll的PE更好的事情?
谢谢,
西里尔
答案 0 :(得分:1)
您可以创建假B.exe,(实际上它可以是DLL),并将B.exe导出重定向到A.exe。
重定向可以通过转发导出来完成,请参阅“导出转发”部分here。