如何使用C / C ++将代码注入正在运行的进程

我正在寻找关于如何通过在运行时直接将代码注入内存来操作函数的build议。 目标是最终运行一个外部应用程序,该应用程序能够操作正在运行的进程以达到优化目的。 到目前为止,我已经走下了使用GDB操纵内存的路线,按照这个教程:

http://www.codeproject.com/Articles/33340/Code-Injection-into-Running-Linux-Application?fid=1534990&df=90&mpp=10&sort=Position&spc=Relaxed&tid=4678205

但是,现在已经相当过时了,我似乎无法在64位体系结构上工作…我将不胜感激任何有关此主题的build议。 干杯

为此,开放了巨大的安全漏洞,严禁在任何理性的环境中使用。 特别是较新的Linux(在x86_64上更是如此)将可执行内存区域与可修改区域严格区分开来。 此外,现代CPU不会对其缓存之外的代码变化进行友好的反应。 也许最近会动态加载共享库。

这种操作是大多数脚本语言的一部分,比如Perl或者Python。