gpt4 book ai didi

python - 如何通过添加自定义部分和符号来编辑 ELF

转载 作者:太空宇宙 更新时间:2023-11-03 19:52:54 24 4
gpt4 key购买 nike

我想获取一个 elf 文件,然后根据内容添加一个包含数据的部分并添加符号。使用 objcopy --add-section 我可以添加一个包含我想要的内容的部分。我不知道如何添加符号。

无论如何,我宁愿不运行一系列程序来完成我想做的事情,而是在 C 或 Python 中本地完成。在 pyelftools 中,我可以查看 Sprite ,但我不知道如何编辑 Sprite 。

如何在 Python 或 C 中添加自定义部分和符号?

最佳答案

ELF 与程序存储在其中的符号无关。它只是一种对所有内容进行编码的格式。符号通常由编译器生成,例如 C 编译器、fortran 编译器或汇编器,而节由编程语言固定(例如,C 编译器仅使用有限数量的节,具体取决于您在程序中使用的数据类型)程式)。一些编译器具有将变量与节关联的扩展,因此链接会在某种程度上认为它是特殊的。编译器/汇编器生成一个符号表,以便链接器能够使用它来解决依赖关系。

如果您想向程序添加符号,最简单的方法是创建一个汇编器模块,其中包含要添加到可执行文件的部分和符号,然后对其进行汇编并链接到最终的可执行文件。

了解 ld(1) 程序(链接器),以及它如何使用链接脚本(特殊的隐藏文件,指导链接器如何在链接时组织不同模块中的部分) ) 来处理目标文件中的部分。 ELF只是一种格式。如果您使用链接脚本和汇编器的帮助,您将能够添加您想要的任何部分或修改程序使用的正常内存映射。

关于python - 如何通过添加自定义部分和符号来编辑 ELF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59717918/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com