在main之前调用系统调用

时间:2012-06-29 14:40:49

标签: linux linux-kernel

我在x86-64上使用Linux。我需要在用户程序开始执行其代码之前插入系统调用(本质上需要一个陷阱到OS)(但是在加载器/链接器映射了库之后)。有没有人建议在没有需要二进制修改/重新编译的情况下实现的最佳方法是什么?

1 个答案:

答案 0 :(得分:2)

使用LD_PRELOAD环境变量在libc之前加载自定义库,它将拦截对__libc_start_main的调用,_start似乎用它来开始实际的main()函数。

或者像调试器一样使用ptrace()附加到进程。