替换 ELF 可执行文件的代码/文本段

Replace code / text segment of ELF executable

我正在寻找一种在执行 ELF 可执行文件之前替换其代码/文本段的方法。这可能吗?如果是,是否有任何实用程序或库可以用来替换它?

这是可能的,但并非微不足道(我警告你 :) )。 ELF 在头文件中包含有关其内容的大量信息。文本只是 ELF 文件中的单个部分。我也在尝试这样做,但到目前为止还没有成功。

我还没有尝试用 objcopy 来替换文本段,但试试这个。我对此没有什么问题,所以我没有继续这个。

objcopy srcELF--dump-section .text=text.dump

objcopy dstELF --add-section .text=text.dump

我的首选方式是使用libelf.

使用 libelf,您可以修改 ELF 二进制文件(添加部分、修改部分中的数据等)。 本教程提供了一个良好的开端。

libelf-by-example