hs2*_*s2d 9 c# security activation certificate
我需要一些想法如何创建激活算法.例如,我有演示证书.提供应用程序以演示模式运行.提供完整版证书后,应用程序将以完整模式运行.它是否可能,如何创建这个系统是一个好方法?
一个简单的是我认为只有2个加密的字符串,现在当解密是使用演示公钥证书时,应用程序将在演示模式等运行.
编辑:使用C#和Windows 7
你可以这样做:
正如Overbose所提到的 - 你无法阻止逆向工程.一般来说,有人可以将功能放在他/她自己的应用程序中,从而消除任何可能的激活算法.所以你只能假设(或者说)这很难以不值得努力(这与加密相同 - 当你把破坏信息的成本提高到获得它的利润时你可以说它是很安全).
所以你可以:
如上所述 - 这一切都不能确保关闭认证部分.但没有任何东西,这可能会让破解者更难.
背景:我已经部署了基于第三方许可证系统构建的基于激活的系统,即服务器,数据库,电子商务集成.我还使用RSA密钥单独编写了一个C#激活系统,但从未部署过它.
产品激活通常意味着必须在给定的机器上激活软件.我认为这就是你的意思.如果您想要做的只有两个字符串,意思是"演示"和"购买",那么它们将在几小时内解密和分发(假设您的产品很有价值).没有意义.
所以.假设您想要"激活",那么当用户购买您的软件时,需要执行以下过程:
生成购买密钥时,服务器不仅可以存储购买的产品,还可以存储什么级别的产品.您还可以拥有时间有限的"免费"产品,因此用户可以在30天内试用该软件的完整版本.
您正在使用C#,因此请确保使用dotfuscator或等效的方法对二进制文件进行模糊处理.然而,即便如此,你也无法对付坚定的黑客.我认为,你的目标是迫使非付费用户自己成为黑客,或者不得不冒险使用破解版本:孩子们不会关心,公司可能.因人而异.
执行检查的代码需要位于需要保护的每个程序集中,否则攻击者可以通过替换执行检查的程序集来轻松删除保护.如果必须,剪切并粘贴代码.
或者只是买点东西.
另一个选择是让服务器预先生成"购买密钥"并将其提供给订单履行服务,但是您无法将密钥链接到客户详细信息(至少在他们注册之前).最好让电子商务服务器在购买时点击您的服务器,并让您的服务器将其发送出去.
困难的部分不是生成激活密钥,因为它是服务器,数据库的创建,以及与电子商务软件的集成,最重要的是人为问题:您是否允许每个购买密钥无限制安装?只有1个?如果只有1,那么您必须拥有客户支持并允许用户在新机器上安装它.这只是一个问题.各种乐趣.
归档时间: |
|
查看次数: |
3670 次 |
最近记录: |