-2

我很想知道,如何覆盖 Linux 中正在运行的进程的函数,以便该进程首先调用我的函数。

我们可以LD_PRELOAD用于覆盖二进制文件中的函数,但在已经运行的进程的情况下它不起作用。请有任何建议。

4

1 回答 1

0

LD_PRELOAD 允许您做的是在任何其他对象之前强制加载共享对象。因此,如果此自定义共享对象已经提供了一个功能,则不会从“标准”共享对象再次加载它。

在您的情况下,您想修改已加载的功能。我相信这是不可能的。

这显然会带来安全风险。

大多数操作系统都实现了 DEP 和 ASLR,这将阻止修改和预测共享对象在内存中的位置。

于 2015-06-27T10:57:08.973 回答