【问题标题】:Replace code / text segment of ELF executable替换 ELF 可执行文件的代码/文本段
【发布时间】:2018-12-12 06:07:16
【问题描述】:

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

【问题讨论】:

  • 你想达到什么目的?除了替换文本部分,您还可以简单地启动另一个 ELF 二进制文件。如果您出于某种奇怪的原因想在另一个二进制文件中重用现有二进制文件的部分内容,那么objcopy 之类的工具可能会很有用。但请记住,有关库或实用程序的问题通常不在本网站的主题范围内。

标签: assembly reverse-engineering elf


【解决方案1】:

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

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

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

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

我的首选方式是使用libelf

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

libelf-by-example

【讨论】:

    猜你喜欢
    • 2015-09-10
    • 2012-12-09
    • 1970-01-01
    • 2016-11-01
    • 1970-01-01
    • 2015-11-23
    • 2020-09-18
    相关资源
    最近更新 更多