我有一个程序集,用于验证我的应用程序的安全性,例如许可证。 每次我的应用程序调用验证方法时,如何从正确的程序集中加载? 我想防止有人创建假装配以绕过这些验证。
通过添加.snk
来获取强名称密钥,这会解决我的问题吗?
E.g。如果我的应用程序使用MySecurity.dll
,如果其他人创建了具有相同名称的程序集并将其覆盖在bin
文件夹中,我的应用程序是否会知道这不是正确的程序集?
我很担心,因为我们的解决方案使用两种验证,本地使用公共证书作为许可文件,在线(如果有互联网连接)。但是任何这些都可以轻易绕过。
答案 0 :(得分:-1)
您可以在代码中硬编码该dll文件的哈希字符串,并在运行时检查它(可能在计时器中)
此外,您还需要使用Eazfuscator.NET
之类的东西来保护您的程序集