linux动态链接库注入

时间:2015-06-03 20:30:56

标签: c++ linux debian code-injection

目前我正在开发一些用C ++编写的应用程序插件 - 在Windows上我将dll注入进程,捕获接口并完成我的工作 - 但我的问题是 - 如何在linux上做类似的事情?我更喜欢这样做而不编辑可执行代码注入到运行进程。

1 个答案:

答案 0 :(得分:1)

如果您可以控制流程的启动,只需使用LD_PRELOAD强制加载库和可执行文件,可能会遮蔽其他库中的符号(链接到二进制文件中):

 LD_PRELOAD=/path/to/libfoo.so myapplication

以下是通过拦截ioctl来向v4l1应用程序添加v4l2支持层的实际用例:

LD_PRELOAD=/usr/local/lib/libv4l/v4l1compat.so camorama

要将符号注入已经运行的流程,请结帐this answer