给定 Windows 环境...
我知道可以使用 DLL 或反射 DLL 注入在运行时加载共享库(在 Windows 中为 DLL)。正如这里明确指出的那样; http://blog.opensecurityresearch.com/2013/01/windows-dll-injection-basics.html?m=1
但是静态链接的 .lib 或 .a 文件呢?
当.lib或.a文件在编译时静态链接时,它们在PE文件中的位置在哪里?是否可以像常见的 DLL 注入一样在运行时“链接”它们?我应该查看 .lib 或 .a 文件的格式来寻找线索吗?
您无法在运行时进行静态链接。
要解决您的问题,请将 lib 转换为 DLL 并注入它。
你可以在lib项目中创建你的函数,当你在dll项目中调用它们时,没有问题!就像@Steve Mucci 刚才所说的..我使用这种方式并将其与我的旧技术进行比较,从那以后我没有注意到任何差异。