有任何解决方案可用于注入进程自己的C / C ++ dll并从入口点开始,我需要钩子进程套接字发送函数并在那里粘贴我自己的代码。它可以在linux上使用吗?
谢谢!
答案 0 :(得分:4)
执行此操作的典型方法是在启动程序之前设置LD_PRELOAD
环境变量。请参阅示例tsocks。请注意,虽然某些程序会因安全原因(它可以窥探密码等)禁用此功能,例如, gnupg阻止LD_PRELOAD
工作。
如果要注入正在运行的程序,则要困难得多。可以使用ptrace
完成(例如,使用gdb附加并调用dlopen)。但这是不可靠的,因为你不知道你附加的程序是什么状态。
答案 1 :(得分:0)