我创建了一个检查部分二进制代码完整性的函数。
该功能是通过 llvm 通行证添加的。
它需要开始和结束地址加上一个校验值。
校验值是二进制代码的计算结果。
遗憾的是,IR 通道位于 llvm 的中间部分,这部分适用于 IR 而不是二进制文件。
您还不知道二进制代码以及地址如何。
现在,我用我的通行证创建了我能做的一切,我使用pyelftool进入二进制文件并像疯子一样修改十六进制值;-)
我的第一个问题是:可以提前知道这个地址。
我看到了 blockaddress,但我需要更灵活的东西(指令地址)。
我的第二个问题是:有人对修改检查值有更好的想法。我的解决方案不是很优雅,而且我依赖于平台-.-
我希望我是可以理解的。
谢谢,