更改的校验和检测

checksum detection of changes

本文关键字:检测 校验和      更新时间:2023-10-16

我正在尝试找出一种简单的方法来使用校验和来检查可执行文件是否被篡改。

我知道校验和不是万无一失的。我也不寻找一个解决方案,将需要一个专门的(恶意)对手。

我的情况是:在一个"狂野西部"编码习惯发生的环境中,人们可以自由地修改/重新编译所谓的"发布"。我想知道我所说的释放X是否和它生成时一样。这样,如果有什么东西"神秘地"坏了,我可以指出是不好的软件实践,或者明确地排除它们,把注意力集中在bug上。

我知道校验和应该检测已编译代码中的更改。我不知道的是,如果它会检测到代码所依赖的东西(如库)已经改变....

我主要处理c++代码,但也有一些Java代码。校验和是否不仅能检测到对代码的修改,还能检测到代码所依赖的内容?如果没有,是否有一个相对简单的解决方案?

校验和肯定会让您知道是否对文件进行了更改,但它只能告诉您对运行校验和的文件进行了更改。您可以维护一个文件列表及其原始校验和,然后编写一个脚本来比较每个文件的校验和。您还可以修改构建脚本以更新每个构建的版本(构建计数)-可能还记录运行构建的人的用户名-并在可执行文件中引入版本函数以显示其自身及其库的信息。

祝你打败当地人好运!

校验和只包括取校验和的内容。因此,您必须查找依赖项,否则将无法检测到其修改。据我所知,这个问题没有简单的解决办法。