发布源:深圳维创信息技术发布时间:2021-01-06 浏览次数: 次
加密软件,需要开发,则需要很好的软件加密技术。
加密软件主要运用那些加密技术?它又有哪几种?软件加密技术主要由密钥技术、反跟踪技术和代码插入技术构成,缺一不可。
下面不妨跟小编详细了解一下加密软件的加密技术。
一 密钥技术
密钥技术是指与密钥有关的全部技术,如密钥盘的制作、识别密钥盘、安装和回收密钥等。
密钥的特点就是不能或者不容易复制。
密钥主要分软盘、加密卡和并行口加密盒(也称"软件狗")。
这三种密钥的特点如下。
软盘加密卡加密盒
成本低高较低
可靠性一般稳定稳定
易安装性不需要安装复杂容易
使用方便性不方便方便方便
系统开销别时需要插盘占扩展槽和地址空间并行口
产品盘备份不能可以可以
由上表可见,三种密钥各有千秋.可以根据不同的需求选用。
比如,对于一般的小型的软件来说,由于成本问题,选用软盘密钥的加密软件合适一些。
我们来看一下软盘密钥的原理和制作的方法
在软盘上制作密钥的技术有很多种。
早的FROLOK是用激光在软盘上打孔,在软l制作无法复制的硬错误。
还可以在软盘上制作弱位。
软盘上的信息是二进制,即0与1.但弱位不是0也不是1——有时是0,有时是1,这种信息用计算机无法复制。
目前,加密软件主要采用道缝加密。
将数据写到某一格式化过的扇区时,因为不同的磁盘机会有转速的差别,因此数据写完后不可能与下一个扇区连接得无缝隙,而且这缝隙中会出现一些噪音信号。
利用这种噪音信号来作为辨别是否是原盘的依据。
这种方式可使目前所有拷贝程序(包括拷贝卡)都无法复翩。
具体地说,由于磁道是圆形的.因此必然有头尾相接的地方,用这种接缝作为"指纹"来模仿PROLOK所用的激光孔"指纹",可使每片母盘都不同·母盘的辨认程序的细节也会不同,制作方法简要说明如下:
1. 将格式化磁道的参数表中后一个扇区N置为6;
2. 用INT 13H格式化一个磁道(实际上还是用正常大小恪式化,第一步的结果只是改动了后一个扇区的地址场);
3. 把INT 1EH指向的参数表中的N改为6;
4. 读后一个扇区,就可把接缝读出来(此时错误号为10H).
5. 把INT 1EH指向的参数表中N恢复为2;
不同的盘、不同的磁道,制作出来的密钥是不同的。
二 反跟踪技术
有了好的密钥技术,没有强有力的反跟踪手段来保护它,解密者使用功能强大的调试器和一些辅助工具来破译,几分钟就可以解开,达不到保护的目的。
反跟踪技术是加密软件关键、工作量大的部分,同时也是加密技术不、断推陈出新、永无止境的原因。
反跟踪的手段主要有以下几种:一种方法是把程序写乱或使用高级语言生成代码,使代码杂乱无章,跟踪者不容易看懂。
另一种方法是主动出击,设置陷阱,让调试器不能正常工作,如破坏INT 3和INT1的中断向量,让DEBUG不能工作。
识别调试器的存在情况,让程序走岔道。
还有一种方法是做大量变形和和跳转、拖垮对手。
比如说,在BITLOK使用了加密虚拟饥、多层间址多堆栈链接等反跟踪技术。
具体方法是:设计一个加密虚拟机。
虚拟机指令用INTEL 80*86的指令来仿真。
加密程序使用虚拟机指令;而且加上多层间址多堆栈链接等大工作量的操作,跟踪者即使看懂虚拟机指令,也容易被拖垮。
就未来的加密软件而言,重要的是如何保护算法,那么反跟踪技术显得更为重要。
三、代码插入技术
加密的核心代码写好以后,剩下的工作是如何把这些代码插入到被加密的程序中,插入加密代码的方式较多,但首先必须了解DOS的执行文件格式。
插入方式主要有内含式、外壳式、结合式。
内含方式把插入代码附加在文件尾部·把程序的入口点改到插入代码中,DOS依然使用EXEC(iNT 21H,功能4Bh)来执行被加密程序。
(这种方法也是病毒传染的常用方法。
)这种方法实现起来简单.但有很上的局限:无法插入到带覆盖模块的程序中,无法有效地解决EXE文件的代码变形问题。
外壳方式采用的是另外一种方法。
它首先将原来的执行文件.比如说sample.exe变形为sample.ovl,插入代码将sample.exe看成覆盖模块,插入代码给自己取名为sample.exe,由sample.exe调用sample.exe,并决定sample.exe的装载和重定位方式(包括在装载过程中将被变形的代码复原)。
在windows上开发加密软件与DOS上的基本原理是一到致的,但具体实观上有较大的差别。
同是加密软件的视频加密领域的视频加密软件,也是一款优秀的视频加密软件,能够全面保护视频安全,不被翻录和破解。
Copyright © 2021 深圳市维创信息技术有限公司 版权所有