检查是不是为当前受版权保护的程序集制作了许可文件
Posted
技术标签:
【中文标题】检查是不是为当前受版权保护的程序集制作了许可文件【英文标题】:Check if a license file is made for the current copy-protected assembly检查是否为当前受版权保护的程序集制作了许可文件 【发布时间】:2011-05-15 15:25:55 【问题描述】:嗨 我使用 Microsoft 的 LicenseProvider 模型和公钥/私钥对实现了复制保护机制,以防止将程序从一台 PC 复制到另一台 PC。很简单。 启动时,许可证文件必须包含有关计算机、到期日期和该许可证文件所针对的程序集名称的加密信息。 但是,如果有人将许可证文件从 MyProgramA.exe.lic 重命名为 MyProgramB.exe.lic 怎么办?如果两个程序都使用相同的方法进行复制保护,只需重命名 .lic 文件即可获得有效的 ProgramB 许可证。 这就是我将程序集名称存储在 .lic 文件中的原因。程序集名称必须匹配。
现在,如果有人将 ProgramB 重命名为 ProgramA,会发生什么情况?程序集名称将匹配,并且许可证再次有效。 有什么想法可以让它更防弹吗?
同样,这是一个简单的专有解决方案,因此没有混淆,也没有我知道存在的第 3 方工具。
谢谢!
【问题讨论】:
【参考方案1】:将程序集名称(不是文件名)存储在 lic 文件中。即使文件名更改,程序集名称也将相同。
更好的是为不同的应用简单地使用不同的加密密钥。这样,重命名exe或lic文件都没有关系。
【讨论】:
【参考方案2】:如果你签署你的程序集,那么我不相信人们可以成功地重命名它。
【讨论】:
以上是关于检查是不是为当前受版权保护的程序集制作了许可文件的主要内容,如果未能解决你的问题,请参考以下文章
如何检查 InputStream 7Z 存档文件是不是受密码保护?