【问题标题】:How to inject an executable into another on ubuntu如何在ubuntu上将可执行文件注入另一个可执行文件
【发布时间】:2016-06-04 08:01:38
【问题描述】:

这是我在这个论坛上的第一篇文章。 我在ubuntu上编程。 我想使用 C++ 将一个可执行文件注入另一个可执行文件,当我启动最终的可执行文件时,我希望它执行其代码和注入的代码。 我不知道这是否可能。 我已经尝试将第二个的二进制内容注入第一个,但它似乎不起作用,它执行第一个程序但不是我注入的。 我知道这是很多病毒的原理,但我不想编写病毒,它只是为了学习和好奇。 感谢您的回答。

【问题讨论】:

  • 我不会成为告诉人们如何制造病毒的一方。毕竟你是个陌生人,所以你的保证毫无意义

标签: c++ linux


【解决方案1】:

您不能将随机可执行文件注入另一个。如果你停下来想一想,你会发现甚至不清楚这是否应该这样做。两个可执行文件都对分配给进程的 100% CPU 时间应该做什么有自己的看法,并且没有通用的方法来合并它们。

如果注入的可执行文件意味着用于注入,那么它还必须带有注入方法。常见的方法是使用LD_PRELOAD(例如fakeroot)或使用ptrace(例如fakeroot-ng)。这些技术中的任何一种都不会改变实际的可执行文件。

如果您想更改可执行文件以执行您想做的事情,您需要了解ELF 格式。但是,这超出了堆栈溢出答案的范围。

【讨论】:

  • 感谢您的回答,我知道这不是在这个论坛上提出的问题。
  • 另外,这不是一个论坛......它是一个问答网站。论坛的运作方式与本网站的运作方式略有不同。
猜你喜欢
  • 2017-11-22
  • 2014-07-03
  • 1970-01-01
  • 2010-12-14
  • 2018-11-04
  • 1970-01-01
  • 1970-01-01
  • 2011-09-08
  • 1970-01-01
相关资源
最近更新 更多