【发布时间】:2017-07-17 13:49:37
【问题描述】:
给定一个 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 或 .a 文件。
-
我可以将相关数据(函数代码)从 .lib 或 .a 复制到进程中,并使用 DLL 注入技术调用数据(函数)并运行它们的代码,对吗?
标签: c static-linking dynamic-linking dll-injection