它可能与其他问题重复,但我发誓我在谷歌上搜索了很多,在StackOverflow.com上搜索了很多,我找不到我的问题的答案:
在C#.Net应用程序中,在哪里存储保护试用信息,如过期日期、使用时间的数量?
我了解到,各种软件保护策略都可以被狡猾的黑客破解(因为它们几乎总是可以绕过过期检查步骤)。但是我现在要做的只是以一种合理的方式来保护它,这样一个“普通”/“高级”用户就不能把它搞砸。
好的,为了证明我在StackOverflow.com上搜索和搜索了很多,我列出了所有可能的策略:
1.登记册条目
首先,有些用户甚至无法读取Registry。
其次,如果我们将保护试用信息放在注册表条目中,用户总是可以通过比较软件安装前后的差异来找到它所在的位置。他们可以简单地改变它。
好的,你可能会说我们应该加密保护试用信息,是的,我们可以做到。但是,如果用户只是在安装之前更改他们的系统日期呢?
好的,你可能会说,我们也应该把最后一个使用的日期,如果有什么问题,最后使用的日期可以作为保护指南。但是,如果用户只是卸载该软件并删除与此软件相关的所有注册表条目,然后重新安装该软件,该怎么办?
我不知道怎么处理这件事。请帮帮忙。
普通档案
首先,有一些地方可以放置普通文件:
(
同样,用户可以卸载该软件并删除这些普通文件,然后重新安装该软件。
-软件本身
如果我们把保护试用信息(过期日期,我们不能把使用的时间)在软件本身,它仍然容易受到我前面提到的情况。而且,这样做一点也不酷。
-试用产品-钥匙
它的工作方式类似于授权过程,也就是说,我们将试用信息放入RSA签名的字符串中。然而,用户尝试使用该软件需要太多的步骤(他们可能会失去耐心):
F 215
现在,服务器拥有用户用户名或硬件信息的记录,因此用户将被拒绝请求第二次试用。收集硬件信息合法吗?
总之,用户必须多做一个额外的步骤(请求试用产品密钥),只是为了尝试使用该软件,这并不是很酷(把我自己当成一个用户)。
注意:这个问题不是关于许可问题,而是关于在哪里存储试用信息。试用期满后,用户应要求获得许可证(CD/Product)。我将使用RSA签名(绑定到用户硬件)
记者:我的软件将进入中国市场,后者的软件市场不同于美国。中国的大多数人,他们只购买硬件,他们通常不购买像Micosoft /Office这样的软件(他们只使用盗版软件)。然而,一些专业软件针对某一特定领域,如果没有破解版本或破解版本很难安装,研究人员仍然愿意购买。
发布于 2010-12-23 19:43:03
选项1(普通注册表项)或2(普通文件)都可以。这是我的推理:
发布于 2010-12-23 18:46:03
你找不到一个完美的解决方案。你为此付出的努力应该与你生产的产品的价格成比例。如果它值很多钱,那就买一个专业的解决方案。如果没有,那么使用您找到的方法的任何组合。使用注册表,请求联机试用密钥,检查用户是否操纵了系统时间,等等。
发布于 2010-12-23 19:56:14
我建议采取稍微不同的策略。
给你的软件一个“低”版本。没有尝试,只是功能非常有限。
如果他们想尝试一个“专业”版本,然后要求他们获得一个试用钥匙。这应该是加密的某种格式,存储它的任何时候,你想。当应用程序启动时,测试是否存在这个试用密钥。如果它在那里那就解密它。密钥内部应该是软件的过期日期。
测试日期并采取相应的行动。如果它不存在,那么就以lite版本的形式运行。
为了获得试用密钥,你可以让他们在你的应用程序中输入一个电子邮件地址和一些你想要的其他信息。要求这台机器为这个有限的部分连接到互联网并不是不合理的。甚至MS Office也要求您简短地连接到internet以验证密钥。让应用程序与您的服务器与密钥请求联系。把钥匙发给他们。
为了获得额外的分数,将试用钥匙与机器本身的某一公制相联系。即使只是盒子的名字。这些变化很少,无论如何,这是一次审判。
如果你真的不能强迫他们连接到互联网上去获取一个密钥,那么你可以走一条稍微不同的路线。让应用程序生成一个请求(其中包括机器名称或类似的内容)。让用户用生成的请求id打电话给您,或者让他们将其插入网站。然后把那台机器的钥匙发电子邮件给他们。
所有这些都阻止共享密钥。有一个后退,以防钥匙位置被劫持,并防止钥匙被移动到其他机器。它也给了你一种完全不相连的方式来做这件事。即使他们从你的应用程序中取出公开加密密钥来解密软件许可密钥,他们也不会为了构建一个新的许可证密钥文件而拥有您的私密密钥。
现在,关键管理只是你所打击的邪恶的一个方面。
下一步是,你需要混淆你的应用程序的方式,他们不能简单地解压缩和绕过你的钥匙检查。这比传递密钥文件更常见。
您甚至可能在应用程序中有多个方法,以不同的方式测试密钥。但这是一个不同的问题。
对于那些有报复能力的人来说,这是最后的奖励:用关键的gen软件为各种盗版板播种种子,这些软件对那些试图把你挖走的人的机器做些有趣的事情。你在这里可以很有创意。
或者,就像Joel说的,你根本不用担心他们。毕竟,如果他们想要找到你软件的破解版本,他们无论如何也不会为它付费,而且你真的没有损失任何东西。
https://stackoverflow.com/questions/4521468
复制相似问题