【发布时间】:2015-03-15 06:47:30
【问题描述】:
我想在一个存储 .text 部分的完整性哈希的 ELF 文件(比如 E)中添加一个新部分。假设我将 .text 部分分块为 T1,T2..Tn 并获取散列 H1,H2..Hn 并将所有散列添加到E 在新的 .my_hash 部分中。
一种天真的方法是
- 扫描文件 E 并将哈希值计算/存储在单独的二进制文件 B 中
- 将B转换成B.o文件
- objcopy --rename_section 将 .data 部分重命名为 .my_hash 部分
- 最后合并E.o(假设我在生成E之前也有)和B.o
有更好的方法吗?
【问题讨论】:
-
很好奇...你想通过验证单个部分来完成什么?
-
我正在尝试对内核源代码(解释器)进行一些更改,我将在其中检查这些标签。
-
您似乎想要签署整个文件,而不仅仅是部分,因为这对例如来说是微不足道的。修改
.data部分的关键部分,甚至更改入口点以转到您自己的存根。