如果有任何解决方案可用于注入(inject)进程自己的 C/C++ dll 并从入口点开始,我需要 Hook 进程套接字发送函数并将我自己的代码粘贴到那里。它在 Linux 上可用吗?
谢谢!
最佳答案
典型的做法是在启动程序之前设置 LD_PRELOAD
环境变量。参见示例 tsocks .请注意,某些程序会出于安全原因禁用此功能(它可以窥探密码等),例如gnupg 阻止 LD_PRELOAD
工作。
如果你想注入(inject)一个正在运行的程序,那就更难了。可以使用 ptrace
完成(例如,使用 gdb 附加并调用 dlopen)。但这是不可靠的,因为您不知道附加时程序处于什么状态。
关于c++ - Linux 注入(inject) C/C++ dll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9141047/