4

对于 winForms 环境中的 C#,我已经通过将详细信息写入 regestry,加密了我的课程。

在 Mono 下,您无法使用某些功能。注册表就是其中之一。你会用什么方法在 Mono 下授权你的代码?

我不希望恶意用户能够删除应用程序目录、重置试用计时器或复制 .LIC 文件并突然访问该程序。

任何想法,将不胜感激。

4

3 回答 3

2

任何类型的加密证书许可证在 Mono 上都应该至少与在 Windows 上一样安全。在没有证书的情况下部署应用程序。如果它没有检测到证书,则它处于“缩减功能”模式。如果是这样,那么它处于“完整模式”。仅在购买时签发证书。对于功能齐全的限时试用,您会遇到更大的问题,但归根结底,没有什么能阻止用户弄乱他们的注册表,即使是在虚拟机中运行您的应用程序或使用系统大方地恢复。

于 2009-01-30T20:00:07.990 回答
1

您可以使用标准的 .Net Registry 类来使用注册表。您可以在那里写入您的加密值,并在以后检索它们。

然而,Linux 上的注册表只是用户主目录中的一个文件,所以你不能真正做的是从 Mono 外部修改它,比如从 .msi(例如,.msi 在 Linux 上不存在) .

于 2009-01-30T20:10:32.480 回答
1

您始终可以根据 CPUID 加密文件并将其存储在目录中。我不确定在硬盘上存储文件与在注册表中存储文件有何不同。用户仍然可以根据需要找到注册表项导出/导入它。只有当您使用 CPUID 或主板信息来加密数据时,它才会仅限于该机器。

于 2009-01-30T20:13:05.703 回答