我在执行文件时遇到了一个奇怪的问题。当我使用IP Messenger将此可执行文件从PC A传输到PC B时,其大小会发生变化。在功能上,它仍然以相同的方式运行。同样,当我进一步将文件从PC B传输到PC C时,可执行文件将还原为原始大小。我尝试使用十六进制比较比较这两个不同大小的可执行文件,并且有很多字节已更改。
这可能是什么原因?
注意:所有这些系统都使用Windows操作系统。
4
您最近是否更新了病毒定义?另外,您能否确认哈希值(如CRC32)也发生变化?
—
Gleno
块大小不同可能会导致实际文件大小发生细微变化,但文件内容不应更改。
—
2011年
@Gleno:仅供参考,但是CRC32并不是真正的“哈希”,很容易冲突。为了文件完整性,MD5或SHA更好。
—
user1686 2011年
@grawity,两个不同文件输出相同CRC32的概率足够低。您的说法是正确的,即存在更好的哈希,但是CRC32是文件完整性的非常常见的检查。
—
Gleno
@Gleno:是的,但仅针对意外损坏,而不是恶意软件。(不相关,但很有趣:许多Microsoft分发的ISO都将FFFFFFFF作为其CRC32。)
—
user1686 2011年