c#dll加密

loc*_*ock 4 encryption dll code-access-security dllexport code-security

我需要加密 ASP.NET 页面使用的 C# 代码。所以,当我编译创建一个 DLL 文件时,我确实需要加密我的 DLL 文件。请帮我如何加密DLL文件...

Lun*_*ist 7

您可以做的一件事是将加密的 .dll 嵌入到另一个要在运行时解密和加载的 .dll 中。

  • 首先,使用您要保护的所有代码编译一个 .dll。
  • 其次,以您认为合适的任何方式加密 .dll。
  • 然后,创建第二个 .dll,将加密的 .dll 作为资源嵌入。
  • 让第二个外部 .dll 在运行时请求密钥。
  • 然后外部 .dll 将使用密钥解密加密的 .dll。
  • 然后外层 .dll 可以调用System.AppDomain.CurrentDomain静态方法,并使用Load方法加载解密的 .dll 。
  • 然后,外部 .dll 可能必须在 ASP.NET 和解密的 .dll 之间执行一些互操作。

tis 方法有局限性。每次启动时,您都需要为实例提供一个密钥才能运行。有办法拦截这个。此外,一旦提供了密钥,解密的 .dll 将存在于内存中,解密后。有多种阅读方式。

这种方法实际上仅用于保护可能窃取硬盘驱动器的人的代码。对于控制将运行代码的机器的任何人来说,这并不是绝对的障碍。