浅谈商用软件的加密及保护技术

时间:2022-10-15 05:12:15

浅谈商用软件的加密及保护技术

摘要:在现代社会,随着互联网的发展和普及,越来越多的企业在用计算机软件对企业进行管理,软件在企业的经营过程中发挥的作用日渐增大。不少不法分子趁机而入,通过对软件的复制、重编等技术进行盗版软件的生产以牟取暴利。保护软件开发产权,抵制盗版软件,是目前中国软件业所面临的迫切问题。现在许多软件都采取了加密技术来应对,在此就商用软件的加密安全保护问题进行简单的阐述,并提出几点保护方法。

关键词:软件保护;加密技术;反破解;盗版

中图分类号:TP309 文献标识码:A文章编号:1007-9599 (2011) 14-0000-01

Talking on the Encryption and Protection Technology

of Commercial Software

Xie Qiulian,Zhang Xue

(Baoding Employment Service,Baoding071051,China)

Abstract:In modern society,with the development and popularization of the Internet,more and more companies in the computer software business management software in the business played an increasing role.Many criminals take the opportunity to gain access through a copy of the software,and re-technologies for the production of pirated software in order to reap huge profits.Software development of property rights protection,against software piracy,China's software industry is currently facing an urgent problem.Many have adopted a software encryption technology to deal with,in the commercial software encryption security simple exposition of the problem and propose a few methods of protection.

Keywords:Software protection;Encryption;Anti-crack;Piracy

软件的应用已经随着互联网的发展进入到各种规模的企业中,它们在不同的领域发挥着重要的作用,需求量也越来越大,设计行业也越来开越多。如何对已有软件进行加密保护以捍卫开发产权,以下就此问题进行简单的探讨。

要想了解软件的加密保护技术,就得先了解如何对软件进行破解,再从破解的入口出发,把软件的加密技术更成熟化。对于软件的破解,一般分为完全破解和暴力破解两类。完全破解主要是针对需输入注册码或密码的软件来说的,若能通过对操作程序的跟踪获取注册码或密码,通过软件的注册功能正常注册了软件,从而获得信息。若由于注册不能通过软件本身进行(如需要通过另外的注册程序注册等)或软件本身不提供注册,只提供DEMO(试用),或软件自身加密系统较复杂,软件破解者不能得到正确的注册码,此时需要修改软件自身的程序码进行破解,这就称之为暴力破解。

软件破解和软件加密就是矛与盾的关系,了解了软件破解的一些东西,就可以在对软件进行加密时有针对性的对“破解入口”进行“加固”,以达到对软件加密保护的目的,下面介绍较常见的一些软件加密技术。

一、硬加密法

硬加密就是通常所说的加密狗或加密锁或加密光盘等,通过插在计算机USB口或并口上的软硬件结合的加密产品,目前大部分技术都是USB口形式,是基于硬件基础上的加密保护技术。

其中,加密狗一般都有几十或几百字节的非易失性存储空间可供读写,现在较新技术的加密狗内部还包含了单片机。软件的开发者可以通过接口函数和软件狗进行数据的交换,来检查软件狗是否插在接口上。加密狗内置的单片机里包含有专用于加密的算法软件,该软件被写人单片机后,就不能再被读出。这样,就保证了加密狗硬件不能被复制。并且,加密算法是不可预知、不可逆的。

加密光盘技术能通过识别光盘上的一些特征来区分是原版盘还是盗版盘。这个特征是在光盘压制生产时自然产生的,即由同一张母盘压出的光盘的特征相同,而不同的母盘压制出的光盘即使盘上内容完全一样,但盘上的特征也有所出入。APS的英文全称为Analog Protection System,中文含义是类比信号保护系统。该加密技术的主要作用是为了控制从光盘到光盘的复制。而CSS的英文全称为Content Scrambling System,中文含义是数据干扰系统。该技术的主要工作思路就是将光盘设置为6个区域,并对每个区域进行不同的技术加密,只有具备该区域解码器的光驱才能正确处理光盘中的数据。也就是说,这种特征是盗版翻制光盘过程中无法提取和复制的。另外的CGMS技术,也叫内容拷贝管理技术,该技术主要是用来防止光盘的非法拷贝的。这些都对软件系统进行了一定程度上的保护。

二、软加密法

软加密是不依靠外在硬件来实现的对软件的加密保护的技术。目前国际上比较通用的软件都采取了软加密的方式,它的最大优势在于加密成本较低,如微软的windows系统、杀毒软件等都采用的这方式。目前主要有密码法、计算机硬件校验法和钥匙盘法等。

目前比较流行的是使用外壳,外壳加密法可以防止程序代码被黑客修改,防止被人跟踪调试,防止被人静态分析等特点。外壳可以分为压缩壳和加密壳,压缩壳的保护性比较弱,所以一般采用加密壳,其原理是利用堆栈平衡原理,修改程序人口处代码,使其跳转到壳代码执行解密程序,将原程序代码解密后跳回原程序的OEP继续执行。常见的比较强的5大壳有:(I)EncryptPE,其特点是对IAT加密比较强。(2)ASProtect,其特点是采用多层SEH,很容易把人转晕。(3)ACProtect,其特点是采用stolencode的办法。(4)Armadillo,其特点是双进程互相检测。(5)themida,其特点是采用虚拟机技术。

其中通过在软盘上格式化一些非标准磁道,然后在这些磁道上写入一些数据,如软件的解密密钥等等,这种软盘成为“钥匙盘”。软件运行时用户将软盘插入,软件读取这些磁道中的数据,判断是否是合法的“钥匙盘”,从而对软件进行加密。

以上是一些目前较常见的软件保护加密技术,也有许多技术因篇幅原因未能一一列述。现在市场上商用软件品牌繁多,性能各异,正版、盗版产品鱼龙混杂,在选择使用时为了自己商业发展的安全性,应提高觉悟,尽量的不使用盗版,在确保自己商业机密安全同时,也支持我国正版软件行业健康有序的发展。

参考文献:

[1]William Stallings(美).密码编码学与网络安全原理与实践(第二版)[M].北京电子工业出版社,2001

[2]段钢.软件加密技术内幕[M]北京电子工业出版社,2001

[3]沈美明,温冬婵.IBM-PC汇编语言程序设计[M].清华大学出版社,1996

[4]郑雪.软件加密与数据恢复实例[M].人民邮电出版社,1997

上一篇:浅议电子政务与信息安全 下一篇:温泉水温智能监控系统