.NET程序集是否会发生变化?

时间:2010-01-20 11:51:22

标签: .net assemblies

我需要提供所有程序集的32位CRC(循环冗余校验),存储(用于释放控制),然后可以与以后系统上的程序集进行比较(为了检查版本是否在某种程度上没有被破坏。)

我在计算程序集本身的CRC方面没有问题,我的问题是:

.NET程序集是否会发生变化?即在目标系统上安装后,程序集的实际二进制内容是否会发生变化(出于任何原因)?如果确实如此,那么CRC也会改变。

注意,我指的是与我的软件一起打包的程序集,而不是标准的系统程序集,不会检查这些程序集。

干杯

4 个答案:

答案 0 :(得分:6)

你正在重新发明一个轮子,强有力的命名已经做到了这一点。篡改组件以使其具有正确的CRC32非常简单。打破一个强大的名称不是,它是加密安全的。

答案 1 :(得分:4)

如果您不更新程序集(覆盖它们),它们将永远不会更改。

答案 2 :(得分:0)

他们应该只在安装或更新时更改,除非程序员在他的程序中包含了一些讨厌的黑客。但是,如果您有疑问,为什么不撤销写入或修改相应文件的用户权限?

答案 3 :(得分:-1)

我记得在某处读取.net优化器搜索并通过任何程序集来“优化”它们?听说它在安装后就这样做了 - 虽然从来没有看过它 - 我想他们可能不会改变但是我不确定它是否真的可以保证

试一试,看看!祝你好运