在ELF文件中有效添加新节

时间:2015-03-15 06:47:31

标签: linux gcc linker elf

我想在ELF文件中添加一个新部分(例如 E ),该文件存储 .text 部分的完整性哈希。假设我将 .text 部分分成 T1,T2..Tn 并获取哈希 H1,H2..Hn 并将所有哈希值添加到 .my_hash 部分中的 E

这样做的一个天真的方法是

  • 扫描文件 E 并在单独的二进制文件中计算/存储哈希 B
  • B 转换为 B.o 文件
  • objcopy --rename_section .data 部分重命名为 .my_hash 部分
  • 最后合并 E.o (假设我在生成 E 之前也有)和 B.o

有更好的方法吗?

1 个答案:

答案 0 :(得分:4)

使用objcopy --add-section。您可能也需要--set-section-flags