是否可以在运行时链接库?

问题描述 投票:0回答:2

给定 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 文件的格式来寻找线索吗?

c static-linking dynamic-linking dll-injection
2个回答
0
投票

您无法在运行时进行静态链接。

要解决您的问题,请将 lib 转换为 DLL 并注入它。


0
投票

你可以在lib项目中创建你的函数,当你在dll项目中调用它们时,没有问题!就像@Steve Mucci 刚才所说的..我使用这种方式并将其与我的旧技术进行比较,从那以后我没有注意到任何差异。

© www.soinside.com 2019 - 2024. All rights reserved.