C#即时加密和解密DLL

时间:2011-02-22 03:06:03

标签: c# dll encryption

我们正在开发一个基于客户端/服务器的应用程序,它应该加密服务器端的DLL,然后在客户端安装阶段,服务器将这些DLL发送到客户端。

当客户端运行时,它将远程连接到服务器以获取解密密钥。然后它将解密DLL并使用它们来启动和使用该程序。

我的问题不是加密DLL,但我怎么能在运行中解密它们才能使用?

感谢您的时间。 卡米尔。

2 个答案:

答案 0 :(得分:1)

您似乎正在发明一种新型安全方案,而不是使用久经考验的技术。除非您是安全专家,否则最终可能会出现一个无法保护您软件的复杂系统。

您的问题只会导致更多问题:

如果您发送带有解密密钥的DLL,为什么还要首先对它们进行加密?

“即时”的定义和建议的好处是什么?

您是否打算采用某种过期机制?一旦客户端拥有解密密钥,您就必须假设他们拥有解密密钥。

答案 1 :(得分:1)

您想要的是下载和解密DLL文件,然后使用System.Reflection命名空间中的内容(例如Assembly.LoadCreateInstance)在运行时加载DLL。

尽管如此,我认为这不是那么安全。请记住,您不能控制客户。