我在ELF二进制文件中遇到了这个有用的功能 - Build ID。 "It ... is (normally) the SHA1 hash over all code sections in the ELF image."人们可以用GNU工具阅读:ELF,Build-ID,有重新计算它的实用程序吗?
$ readelf -n /bin/bash
...
Displaying notes found at file offset 0x00000274 with length 0x00000024:
Owner Data size Description
GNU 0x00000014 NT_GNU_BUILD_ID (unique build ID bitstring)
Build ID: 54967822da027467f21e65a1eac7576dec7dd821
而且我不知道是否有重新计算自己构建标识一个简单的方法?检查它是否没有被破坏等。
好的,但似乎他们在某些时候改变了它。 [在此电子邮件中](http://cygwin.com/ml/binutils/2008-11/msg00214.html)Roland McGrath说:“构建ID的目的是唯一标识由构建创建的二进制文件,以便其构建ID只匹配一个语义相同的二进制文件,“ - 所以它不只是一个随机blob。不知道今天的情况如何。 [Fedora的特性页面](https://fedoraproject.org/wiki/Releases/FeatureBuildId)是2007年的.. – xealits