我如何在运行时(否LD_PRELOAD
)拦截/挂钩一个 C 函数,如fopen()
Linux 上的一个 la Detours for Windows?我想从 Python 执行此操作(因此,我假设该程序已经在运行 CPython VM)并且还重新路由到 Python 代码。只需挂钩共享库函数就可以了。我也想这样做,而不必改变程序的运行方式。
一个想法是基于ptrace()
或重写dlsym()
在 PLT 中或在 PLT 中找到的代码,并以ctypes
生成的 C 可调用函数为目标来推出我自己的工具,但我想我会先在这里问。谢谢。