更改的校验和检测
checksum detection of changes
我正在尝试找出一种简单的方法来使用校验和来检查可执行文件是否被篡改。
我知道校验和不是万无一失的。我也不寻找一个解决方案,将需要一个专门的(恶意)对手。
我的情况是:在一个"狂野西部"编码习惯发生的环境中,人们可以自由地修改/重新编译所谓的"发布"。我想知道我所说的释放X是否和它生成时一样。这样,如果有什么东西"神秘地"坏了,我可以指出是不好的软件实践,或者明确地排除它们,把注意力集中在bug上。
我知道校验和应该检测已编译代码中的更改。我不知道的是,如果它会检测到代码所依赖的东西(如库)已经改变....
我主要处理c++代码,但也有一些Java代码。校验和是否不仅能检测到对代码的修改,还能检测到代码所依赖的内容?如果没有,是否有一个相对简单的解决方案?
校验和肯定会让您知道是否对文件进行了更改,但它只能告诉您对运行校验和的文件进行了更改。您可以维护一个文件列表及其原始校验和,然后编写一个脚本来比较每个文件的校验和。您还可以修改构建脚本以更新每个构建的版本(构建计数)-可能还记录运行构建的人的用户名-并在可执行文件中引入版本函数以显示其自身及其库的信息。
祝你打败当地人好运!
校验和只包括取校验和的内容。因此,您必须查找依赖项,否则将无法检测到其修改。据我所知,这个问题没有简单的解决办法。
相关文章:
- 如何用尽可能少的数据将数据缓冲区计算为零校验和值
- 计算校验和的逐位运算符
- 如何从存储在 QByteArray 中的十六进制值计算校验和
- 如何在 c++ 中计算对象的哈希/校验和/指纹?
- C++文件传输的校验和算法
- 如何从 IP 校验和字段中计算十六进制值
- 计算句子的校验和(XOR)(由不同变量/类型的组合形成)
- 目录校验和
- 编译后如何计算某些二进制功能(或基本块)的校验和
- PMS5003带有ESP8266-许多校验和错误
- 未正确的校验和释放对象 - 打印时错误
- 将C++校验和函数转换为 Java
- 确定是否使用boost.asio计算UDP校验和
- 校验和CRC 16从C 到Java
- 不同的CRC32校验和同一文件
- Qt,tcp/ip通信校验和
- 正在计算ICMP数据包校验和
- 错误的校验和错误遍布程序
- 如何计算 dmg 文件上的主校验和和数据分叉校验和
- 更改的校验和检测