如何解决在elf文件的notes部分中修改build-id
我需要在ELF文件的notes部分中修改一个build-id。我看到有很多工具可以读取elf,但不能对其进行修改。我找到了elfedit
,但似乎没有满足我的需要。甚至有可能吗?
这是readelf
$ readelf -n myelffile
Displaying notes found in: .note.ABI-tag
Owner Data size Description
GNU 0x00000010 NT_GNU_ABI_TAG (ABI version tag)
OS: Linux,ABI: 3.14.0
Displaying notes found in: .note.gnu.build-id
Owner Data size Description
GNU 0x00000014 NT_GNU_BUILD_ID (unique build ID bitstring)
Build ID: d75a086c288c582036b0562908304bc3a8033235
我正在尝试修改.note.gnu.build-id section
。
解决方法
有可能吗?
是的。这是较容易的修改之一,因为注释中的数据是完全任意的,并且没有其他数据引用它。
您要做的就是找到.note
部分,依次解码每个音符,直到找到类型为NT_GNU_BUILD_ID
的音符,然后用您选择的相同长度的字节覆盖其数据。 / p>
您是否知道链接器--build-id 0x....
选项,该选项可让您在链接时放入所需的十六进制数据?如果您可以重新链接二进制文件,则无需修改build-id注释,因为链接器会在初始链接期间将数据愉快地放在那里。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。