覆盖linux中运行进程的功能

时间:2015-06-27 10:13:54

标签: linux ld-preload

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

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

1 个答案:

答案 0 :(得分:0)

LD_PRELOAD允许您执行的操作是强制在任何其他对象之前加载共享对象。因此,如果此自定义共享对象已提供某个函数,则不会再从“标准”共享对象加载该函数。

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

这显然是一种安全风险。

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