【问题标题】:Is it possible to link a library at runtime?是否可以在运行时链接库?
【发布时间】: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


【解决方案1】:

您不能在运行时进行静态链接。

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

【讨论】:

    猜你喜欢
    • 2023-01-18
    • 1970-01-01
    • 1970-01-01
    • 2014-02-28
    • 1970-01-01
    • 2014-07-09
    • 1970-01-01
    • 1970-01-01
    • 2017-10-17
    相关资源
    最近更新 更多