0

嗨,我使用 Microsoft 的 LicenseProvider 模型和公钥/私钥对实现了一种复制保护机制,以防止将程序从一台 PC 复制到另一台 PC。很简单。在启动时,许可证文件必须包含有关计算机、到期日期和该许可证文件所针对的程序集名称的加密信息。但是,如果有人将许可证文件从 MyProgramA.exe.lic 重命名为 MyProgramB.exe.lic 怎么办?如果两个程序都使用相同的方法进行复制保护,只需重命名 .lic 文件即可获得有效的 ProgramB 许可证。这就是我将程序集名称存储在 .lic 文件中的原因。程序集名称必须匹配。

现在,如果有人将 ProgramB 重命名为 ProgramA,会发生什么?程序集名称将匹配,并且许可证再次有效。有什么想法可以使这更加防弹吗?

同样,这是一个简单的专有解决方案,因此没有混淆,也没有我知道存在的第 3 方工具。

谢谢!

4

2 回答 2

1

将程序集名称(不是文件名)存储在 lic 文件中。即使文件名更改,程序集名称也将相同。

更好的是简单地为不同的应用程序使用不同的加密密钥。这样,重命名 exe 或 lic 文件都没有关系。

于 2010-11-26T07:19:43.287 回答
0

如果你签署你的程序集,那么我不相信人们可以成功地重命名它。

于 2010-11-25T11:11:48.697 回答