今天在 The Code Project 看到一篇关于保护 .NET 程序集的文章,作者已经写了3部分(还没有写到重点

Building Security Awareness in .NET Assemblies : Part 1 - Learn to break a .NET Assembly
Building Security Awareness in .NET Assemblies : Part 2 - Learn to protect your .NET assemblies from being tampered
Building Security Awareness in .NET Assemblies : Part 3 - Learn to break Strong Name .NET Assemblies
以前经常听说 强名称(Strong Name)可以保护 .NET 程序集,防止被篡改。那时候没有接触过这方面的,所以听起来似乎很不错。前段时间听到有人说把程序集用 ILDASM 反编译为 IL 源代码后,可以直接删掉强名称,修改 IL 后再重新 ILASM 和重新签名。这下明白了,强名称说到底只是起到一种唯一标识程序集的作用,并不能保护程序集不被篡改。
如果有效的保护我们的 .NET 程序集呢?希望各位参与讨论!