假设我有一个已经签名的.NET程序集,并且只有我拥有私钥。然后我将程序集分发给某些客户端系统。
客户端要修改这个程序集有多难?也就是说,他们需要做什么才能修改我的程序集?
客户端要修改这个程序集有多难?也就是说,他们需要做什么才能修改我的程序集?
Strong-naming(强命名)不能防止修改程序集,但它可以防止引用强命名程序集的其他应用程序无意中使用已修改的版本。
这与修改非强类型程序集没有什么不同。唯一的真正区别在于,他们必须运行强名称实用程序(sn.exe)才能使用修改后的程序集。
就像其他人所说的一样,这很容易。
您可以使用程序集的公钥(或令牌)对程序集中的重要信息(如算法参数、连接字符串等)进行加密。这样,如果公钥已更改或删除,则解密将失败,程序集将无法正常运行。加密混淆器(如Crypto Obfuscator)将此技术作为保护的一部分。