我真的想把我的C ++程序注入另一个(编译好的)程序。我想要这样做的方法是更改字节的第一部分(程序启动的地方)以转到我的程序的二进制文件(例如粘贴到编解码器中)以及当它完成运行时转到它注入之前的位置程序开始运行。
这有可能吗?如果是的话,这是一个好的/聪明的想法吗?
还有其他方法吗?
例如: 我写了一个程序,将当前时间写入文件然后终止,所以如果我将它注入Internet Explorer并启动它,它将首先将其当前时间写入文件,然后启动Internet Explorer。
答案 0 :(得分:0)
为了做到这一点,您应该开始阅读PE文件的文档,您可以在microsoft下载。
这样做需要大量的研究和实验,这超出了stackoverflow的范围。您还应该知道,这样做很大程度上取决于您尝试修补的可执行文件。它可能适用于您的版本,但很可能不适用于其他版本。还有针对这种攻击的技术。可以内置到可执行文件和操作系统中。
有可能吗?
是。当然,但这不是微不足道的。
聪明吗?
取决于你用它做什么。有时它可能是唯一的方式。