我们希望能够创建我们的软件的中间版本,这些版本会在某个固定时间或使用次数后定时炸弹或过期,而这些使用不容易被操纵。我们将 Visual C++ 与混合的本机程序集和托管程序集一起使用。
我想我们可能需要依赖注册表标签,但这似乎不安全。
任何人都可以就如何做到这一点提供一些建议吗?
我们希望能够创建我们的软件的中间版本,这些版本会在某个固定时间或使用次数后定时炸弹或过期,而这些使用不容易被操纵。我们将 Visual C++ 与混合的本机程序集和托管程序集一起使用。
我想我们可能需要依赖注册表标签,但这似乎不安全。
任何人都可以就如何做到这一点提供一些建议吗?
不久前我正在研究一个“试用件”解决方案,它使用了注册表项的组合,信息存储在一个平面文件中的某个位置,周围有垃圾数据,然后还可以选择联系Web 服务将与软件创建者进行验证。
然而,正如 FrustratedWithFormsDesigner 所说,没有 100% 万无一失的方法可以做到这一点。黑客总有办法绕过您采取的任何预防措施。
您可以将其部署为 ClickOnce 应用程序,并使用在特定日期到期的证书。如果我没记错的话,该应用程序将在该日期之后启动时出错。
几个警告:
如果您正在为应用程序使用数据库,那么最好存储安装(日期时间)和用户数量(int),然后在程序启动/加载/初始化时编写检查这些字段的代码。如果它们超过了某个数字或时间(这也可能在数据库中),则退出程序。
如果不是不可能以万无一失的方式做到这一点,这也是非常困难的。无论如何,没有什么可以阻止有人删除和重新安装软件(你确实支持,对吧?)。
如果你不能限制这些中间版本的功能(对人们转移到官方位的更好的激励),那么实施这样一个方案可能比它更值得麻烦。
将变量设置为程序中的特定日期,然后每次运行程序时访问系统日期并检查该日期是否等于或大于指定日期。如果为真,则启动到期过程并向用户显示消息或警报面板。
让二进制文件在启动时从您的一台服务器下载一点点代码。
跟踪服务器上的激活计数器,当计数器达到限制时,返回一段显示“对不起!”的代码 信息。