.exe 文件的哈希值

标签 hash executable exe

我想知道在运行 .exe 文件之前、之后或之后生成校验和时是否会得到不同的结果。与边界情况相比,我更关心常见的做法(例如生成流行应用程序(如 firefox.exe)的 SHA 哈希),但两者都很有趣。谢谢。

最佳答案

只要文件是相同的(即仅包含相同的字节,以相同的顺序),文件的哈希值就应该是常量。很难找到在运行时重写其磁盘表示的应用程序,因此散列应该是常量。有自修改程序,但它们倾向于在内存中加载的代码副本上运行,而不是磁盘副本。

编辑:我们应该考虑“自更新”应用程序,但这些应用程序往往会启动一个小帮助程序来下载和更新核心应用程序。很难(尤其是在 Windows 上)在运行时更新执行。 UNIX 系统倾向于在写入系统上运行复制,因此软件更新可能会更改您脚下的可执行文件 - 但同样,这是一个“极端情况”。

关于.exe 文件的哈希值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1424248/

相关文章:

go - 去编译: remove personal info from executable [closed]

Perl 脚本用于记录外部可执行文件输出和错误,同时仍在运行

windows - COM文件在windows中的执行

python - 如何双击直接用python打开自定义文件?

C# 从另一个独立应用程序获取数据?

javascript - 对象属性作为散列函数中的键值对

java - HashMap 放性能

java - 将jar转换为exe

r - 我可以在 R 中使用列表作为哈希吗?如果是这样,为什么这么慢?

ruby - 数组到数组的哈希