我正在寻找一种在执行前替换ELF可执行文件的代码/文本段的方法。这可能吗?如果是,是否可以使用任何实用程序或库来替换它?
答案 0 :(得分:2)
有可能,但并非无关紧要(我警告您:))。 ELF在头文件中包含许多有关其内容的信息。文本只是ELF文件中的单个部分。我也正在尝试这样做,但到目前为止还没有成功。
我还没有尝试使用objcopy替换文本段,但是尝试了一下。我对此没有什么问题,所以我没有继续。
objcopy srcELF--dump-section .text=text.dump
objcopy dstELF --add-section .text=text.dump
我首选的方式是使用 libelf 。
使用libelf,您可以修改ELF二进制文件(添加节,修改节中的数据等)。 本教程提供了一个良好的开端。