我需要加密 ASP.NET 页面使用的 C# 代码。所以,当我编译创建一个 DLL 文件时,我确实需要加密我的 DLL 文件。请帮我如何加密DLL文件...
问问题
14688 次
2 回答
8
您可以做的一件事是将加密的 .dll 嵌入到另一个要在运行时解密和加载的 .dll 中。
- 首先,使用您要保护的所有代码编译一个 .dll。
- 其次,以您认为合适的任何方式加密 .dll。
- 然后,创建第二个 .dll,将加密的 .dll 作为资源嵌入。
- 让第二个外部 .dll 在运行时请求密钥。
- 然后,外部 .dll 将使用密钥解密加密的 .dll。
- 然后外部 .dll 可以调用System.AppDomain.CurrentDomain静态方法,并使用Load方法加载解密的 .dll 。
- 然后,外部 .dll 可能必须在 ASP.NET 和解密的 .dll 之间进行一些互操作。
tis 方法存在局限性。您需要在每次启动时为实例提供一个密钥才能运行。有办法拦截这个。此外,一旦提供了密钥,解密的 .dll 将存在于内存中,并进行解密。有很多方法可以阅读此内容。
这种方法实际上只对保护可能窃取硬盘驱动器的人的代码有用。对于任何控制将运行代码的机器的人来说,这并不是绝对的障碍。
于 2011-02-24T06:10:53.167 回答
0
我不太清楚你所说的“加密”是什么意思,但如果你想混淆你的代码,有几种工具,比如 Dotfuscator、Smart Assembly 等......
于 2011-02-23T15:29:25.080 回答