作者:张顺admin管理员组文章数量:1651261
日期:2010年12月26日
原创文章,转载请注明来自 [ http://www.justcodeit.info/ ]
软件保护是为了保护软件不被破解,不被盗版,充分保护开发者的利益。下边我尽量以浅显易懂的语言一一介绍目前流行的软件保护技术,并分析各自的特点。
1. 注册码技术
这是一般共享软件所常用的保护技术,当用户从网络上下载某个共享软件后,一般都有使用时间或功能上的限制,如果想使用正式版,你必须进行注册。注册过程一般是用户掏过钱且把自己的信息(例如用户名等)告诉给软件公司,软件公司会根据用户信息计算出一个注册码(或授权文件),在用户得到这个注册码后,按照注册需要的步骤在软件中输入注册信息和注册码,其注册信息的合法性由软件验证通过后,软件就会取消掉本身的各种限制。在互联网上的软件80%都是以这种方式来保护的,国内http://www.sharebank/就是提供共享软件注册服务的一个平台。
优点:实现起来简单,成本较低,用户购买非常方便
缺点:
1. 不能有效防止一号多用的情况 (除了根据机器ID计算注册码的情况)
2. 安全系数一般, 因为理论上验证程序一旦被cracker解密,则可以很容易地做出注册机,或是直接修改汇编指令跳过验证程序。
2. 序列号技术
这是很多光盘发行的软件所采用的保护技术,在发行光盘上会提供一个正版序列号,在安装过程中用户输入正确的序列号后才可安装成功。常见的MS-Office就是使用这种保护方式的。
优点:实现起来简单,成本较低,销售模式简单
缺点:
1. 在安装时很难检测一号多用,想想到处盗版的Office就知道了。
2. 采用这种方式的安装程序一般自身会携带一个密钥库,理论上是可以被破解的。
3. 加密狗
加密狗是一种复杂的软硬件技术结合在一起的加密工具。软件在插入加密狗的机器上才能运行,例如我在使用建行网银交易时必须插入建行U盾,这个U盾实际上就是一个加密狗。真正有商业价值得软件一般都用加密狗来保护。
优点:很安全,破解难度相当高
缺点:
1. 开发成本和硬件成本相当高,最普通的加密狗也要上百元
2. 使用不方便,想使用时还必须插入一个加密狗
4. 联机验证
这种技术是为了弥补序列号或注册码技术的不足而诞生的,例如为了防止一号多用,可在注册时或运行时不定时通过服务器端验证是否合法授权,是否存在一号多用的嫌疑。现在的授权管理的行业标准解决方案多数是基于此,例如RosettaStone、ProE、AutoCAD都是使用Flexnet Publisher的解决方案。
优点: 较注册码和序列号方式安全,可灵活定制授权模式(浮动模式和命名用户模式等)
缺点:
1. 需要网络和服务端支持
2. 和服务端通信的通道必须是加密的,例如采用SSL
5. 法律保护
上边几条都是基于技术层面的,最后不得不提一下,法律保护的重要性,在软件里要写明版权声明,最好是申请软件著作权。据说MS在中国的主要收入来源是打击盗版,法律保护的重要性,你懂的!
版权声明:本文标题:常用的软件保护技术 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1729561914a1206348.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论