软件狗的发展

来源:互联网 发布:macbook平面设计软件 编辑:程序博客网 时间:2024/06/08 11:20

从软件狗的诞生到2013年,从技术原理上看,已经有了四代产品,而第五代产品也正在逐渐走入人们的视野。

初期
        最早的软件狗仅有储存功能。在软件狗硬件中储存一部分保密数据,被加密软件在运行过程中随机读取这些数据,并且进行判断。当数据经过验证时,软件认为计算机上安装了正确的软件狗,继续正常运行,否则停止运行。这种软件狗比较简单,一般可以通过跟踪截取软件狗的数据传输,并且通过找出数据规律来破解,破解难度比较低。不过这种软件狗的成本比较低,因此还占据了一些市场份额。

二代
        第二代软件狗中置入了一些加密算法,这些算法是不公开的。这一代软件狗中一般都会有一个单片机——即相当于一台微型计算机的一块芯片,只不过功能比较单一——通过算法来进行加密。在被加密的软件和软件狗之间建立一个加密协议,软件向软件狗请求数据时,软件狗将数据加密传回软件,软件对其解密,然后加以验证。也就是说,在对使用这种软件狗的数据,即使截取软件狗的数据也没有用,除非能够正确地将这些数据解密。破解者在分析这种软件狗时,一般会对被加密的软件进行跟踪,分析调用了软件狗的函数来找到真正的数据。为了防止这种情况,被加密的软件在设计中也会通过给软件加壳、增加反跟踪代码等方式来应对。

三代
         第三代软件狗更进一步,允许软件开发者自己定义加密算法,对其进行编程。也就是说,软件开发者可以把软件狗当成一块磁盘来看待,可以在其中放入程序中的某些模块或者功能,并且对这些模块传输的数据加密。这样,软件相当于在两块磁盘上安装,当运行时两块磁盘相互访问,像一块拼图一样。破解者在获得盗版软件时,只是获得了这两块磁盘中的一块。这种出发点是非常好的,但是因为成本限制,软件狗中的程序可用空间比较小,使用比较受限制。在不同厂商的产品中采用了不同的手段,例如在数据传输的时候添加干扰、设置垃圾程序、频繁地移动数据等等。这一类加密狗比较难破解。

四代
        第四代软件狗在第三代的基础上,又安装了一块单片机,用来给传输的数据加密变换。这是比较成熟的软件狗,当有设计良好的被加密软件配合时,破解难度会相当大。
软件狗的发展方向是向智能卡。就像是我们使用的手机卡一样,智能卡内置运算器和存储器,可以用来存放较多的软件代码,并且具有强大的运算和处理能力。随着成本降低和市场成熟,智能卡软件狗将会应用越来越广泛。
        虽然理论上并没有不可破解的软件,但是只要破解软件的成本大于破解者可能获得的收益,破解者就不会去破解它。软件狗正是为了增大破解成本而设计出来的一类产品,在这一点上,它和软件防盗版手段并没有本质上的不同。

0 0
原创粉丝点击