瞌睡虫
软件

软件的软加密有哪些方式

分享
  • 在下炳尚 2 风险管理(专业级)RM/PL 高级信息系统项目管理师 官方采纳
    在下炳尚2 风险管理(专业级)RM/PL 高级信息系统项目管理师
    官方采纳

    软加密就是用纯软件方法来实现软件的加密,它主要有以下几种方式:

    密码方式

    密码方式就是在软件执行过程中在一些重要的地方询问密码,用户依照密码表输入密码,程序才能继续执行。此种方式实现简单,但也存在着缺点:破坏了正常的人机对话,很容易让用户感到厌烦;密码相对固定,非法用户只需复制密码表就可以非法使用该软件;加密点比较固定,软件容易被解密。

    软件自校验方式

    软件自校验方式就是开发商将软件装入用户硬盘,安装程序自动记录计算机硬件的奇偶校验和、软件安装的磁道位置等信息,或者在硬盘的特殊磁道、CMOS中做一定标记,而后自动改写被安装的程序。软件安装完之后,执行时就会校验这些安装时记录的信息或标记。使用此种加密方式用户在正常使用软件时感觉不到加密的存在,加密相对也比较可靠,为许多软件开发商所采用。但这种方式也存在一定缺陷,当用户增减或更换计算机硬件、压缩硬盘、出现CMOS掉电等情况时都会致使软件不能正常执行,需重新安装软件。

    钥匙盘方式

    钥匙盘方式就是在软盘的特殊磁道写入一定信息,软件在运行时要校验这些信息。这种软盘就好像一把钥匙,所以被人们习惯称为钥匙盘。采用这种加密方式的软加密工具有很多,其中较先进的软加密工具还提供了接口函数。软件商只需一次性投资购买一套加密工具,就可自己制作多张钥匙盘,在软件中读取钥匙盘上的特殊磁道来检查钥匙盘是否存在。此种方式加密简便,成本低,加密可靠,使用这种加密方式的软件也比较多,如一些杀毒软件。

    序列号方式

    这种方式是最常见的保护方式,所谓序列号方式就是利用一种特定的算法关系把两个或几个变量联系在一起达到某个数学映射关系。软件验证序列号的过程其实就是验证几个变量(如用户名和注册码)之间的数学映射关系。所以映射关系越复杂序列号就越不容易被破解。

    许可证管理方式

    许可证管理方式(License Management)是指软件在安装时,对正版用户的计算机硬件进行检测,以获得计算机硬件的特殊指纹信息,经过算法计算(将指纹信息及该软件自身的安装序列号进行运算)后得到一个代表这个计算机硬件的一串数据,并要求用户将这个数据通过Internet、E-mail、电话、传真、信件等方式进行注册,若是正版用户则可以从软件开发商那里得到一个注册码(或叫做确认码)。正版用户用这个注册码输入所安装的软件后,该软件就可以正常运行了。这种加密方式实际上是将软件与特定的计算机硬件进行了“捆绑”,用户不能将软件安装到其他计算机上,因为每一台计算机的硬件指纹信息都不相同,无法将得到的注册码用于别的计算机上。

    时间限制和运行次数限制

    有些程序在试用版本中功能完全等同于正式版,但每次运行时都有时间限制或者运行次数达到一定程度不能使用(也包括使用天数限制的类型)。这些程序里面自然有一个定时器或者计数器统计程序运行时间或者次数。关于计数器常见的是程序创建记录文件记录程序第一次运行时间(运行次数)和当前系统时间(指定运行次数)比较来实现。

    光盘狗方式

    光盘狗(CD-COPS)是一种面向光盘软件的加密保护技术。用“光盘狗”加密过的光盘软件,它在运行时首先检测运行码。如果用户输入的运行码和该光盘的物理特征相符,便顺利运行,否则终止程序。利用“光盘狗”对光盘软件进行加密,其安全是可以保证的。有的用户担心光盘狗的运行码可能用穷举法得到。但事实上这几乎是不可能的。光盘狗的运行码共有12位,包括数字和字母(大小写无关),所以每一位有36种变化,这样运行码总共有3612种变化。如果每秒钟能试10种变化,那么穷举全部变化的万分之一也要1502530年。所以说,用穷举法获取运行码是不可能的。此外,光盘狗使用起来也是很方便的,并且光盘的发行量越大,每张光盘的加密成本就越低。用户可以在同一张光盘上对多个程序加密,也可以同时对安装程序及执行程序加密。

  • 写回答