Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly 替换ELF可执行文件的代码/文本段_Assembly_Reverse Engineering_Elf - Fatal编程技术网

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

Assembly 替换ELF可执行文件的代码/文本段,assembly,reverse-engineering,elf,Assembly,Reverse Engineering,Elf,我正在寻找一种在执行ELF可执行文件之前替换其代码/文本段的方法。这可能吗?如果是,是否有任何实用程序或库可用于替换它?这是可能的,但不是微不足道的(我警告您:))。ELF在头文件中包含大量关于其内容的信息。文本只是ELF文件中的单个部分。我也在尝试,但到目前为止还没有成功 我还没有尝试用objcopy替换文本段,但尝试一下这个。我对此没有什么问题,所以我没有继续 objcopy srcELF--dump-section .text=text.dump objcopy dstELF --add

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

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

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

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

objcopy dstELF --add-section .text=text.dump
我喜欢的方法是使用libelf

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


你想实现什么目标?您也可以简单地启动另一个ELF二进制文件,而不是替换文本部分。如果出于某种奇怪的原因想在另一个二进制文件中重用现有二进制文件的部分,那么像
objcopy
这样的工具可能会很有用。但请记住,询问图书馆或公用设施的问题通常不是本网站的主题。