c++ - Linux 注入(inject) C/C++ dll

标签 c++ c linux inject

如果有任何解决方案可用于注入(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/

相关文章:

c++ - 在 C++ 中编程。 char 数组的大小为 5,但也接受大于 5 char 的值

c++ - 我怎样才能得到除法除零以外的结果

c - c.. 中的 realloc() 打印垃圾值

c - 如何在函数中操作变量?

linux - 在 Linux 上,如何创建具有 sudo 能力的受限 shell

linux - 尝试在 CDH-5.4.2 中安装 hbase

c++ - 如何在编译时从两个索引序列创建数组

c++ - C++ 中的 2 的补码转换器

c++ - 适用于(C 或 C++)Windows 的文本基础用户界面库?

linux - 如果不同文件中相同位置的字段值为 "zero",则修改一个文件的字段值