《软件狗加密技术透视》(扫描版)PDF 含索引
《软件狗加密技术透视》(扫描版)PDF 含索引内容简介
内容提要
本书剖析了软件狗的加密原理,详细介绍了软件狗的编程方法,总结了软件狗的发展历史,展望了
软件狗的未来。同时以软件狗为锲,将读者带入了整个软件加密领域。本书不仅可以满足对软件加密感
兴趣的读者以及想用软件狗进行加密的程序员,而且对于具有初级计算机知识想深入了解计算机的读
者也是一本好的参考书。
精读片断
电路板上的公头(DB25/M)和母头(DB25/F)之间的管脚是一一对应、直接相联结的
(如图1.2所示),以保证并行口的作用不变。存储密码或起信号加密变换作用的器件及
其它辅助元件就跨接在这25根线上面,应用程序以特定的方式跟它们沟通、核对。除了某
些设计不良的情况之外,一般不会影响打印机的正常工作,打印机工作时也不会影响它
们。
为了防止程序被非法复制,所做的加密保护措施一般都包括两部分。首先是要有保存
密码数据的载体,即密钥;其次是夹杂在应用程序中的主机检查程序,即加密代码。密钥应
该能保证不易被解密、复制;如一般用磁盘作加密时,加密部分无法用COPY、
DISKCOPY、PCTOOLS等工具加以复制。另外,当检查程序用特殊方法去读密码时,密
码应该能很容易地被读出,而不致影响应用程序的正常执行。当发现密码不对或密钥不存
在时,就让主机挂起、重新起动或采用别的措施。
在早期,第一代软件狗起信号加密变换作用的器件,最多只简单采用一些电阻、二极
管等,检查方法也比较简单,很容易被人解密;第二代软件狗采用了低功耗TTL,CMOS
等逻辑元件,在电路上做了一些加密工作,检查时也要比第一代软件狗多一道手续,解密
的难度自然也增加了;第三代软件狗采用了PAL(Pr0grammableArrayLogic)、PEEL
(ProgrammableElectricallyErasableLogicDevice)、GAL(GenericArrayL0gic)等可
编程器件,但目前最流行的器件大概要算串行读写的EEPROM(SerialElectrically
ErasablePROM)了。这些器件由于密码编制的灵活性和制成密钥后在程序中插入检查的
方便性,极大地增加了解密的难度。从使用的角度看,PAL、PEEL、GAL等逻辑器件只能
读取数据,不能随时写入数据,密码的重新设定比较麻烦;而EEPROM芯片可随意读写,
用在软件狗上灵活性相当大,譬如可以为每一个软件狗单独设一个密码,以增加解密的难
度;另外,从EEPROM器件的电气性能上来说也非常适合做软件狗;因此,这种器件在软
件狗的设计中获得了广泛的应用,是目前软件狗制作者的首选芯片。出于这个原因,本书
的重点也就在于介绍利用EEPROM芯片制作的软件狗。由于解密技术紧跟加密技术的
发展,目前人们已经开始研制更好的防解密的软件狗,新一代的软件狗采用单片机为核心
芯片,极大地提高了解密的难度。
出售的软件狗,一般来说,出于保密的目的,其加密盒都是用胶封起来的,人们看不到
里面的电路,其实原理非常简单。拿目前最常用的软件狗来说,其关键的芯片就是一片
EEPROM。我们在第二章将对EEPROM的知识作详细的介绍,读者现在只需要知道它
像一般RAM存储器一样可读写(只不过读写是串行的),即使断电后也能保存数据不变。
常用的EEPROM型号是93C46,它是64×16bit的结构,也就是说一个93C46具有64个
16位bit单元的容量,每次处理数据也都是16位。有的93C46,如Microchip、ATMEL、
CSi等品牌的93C46可以通过切换,变为128×8bit或64×16bit两种模式,这对软件狗
制作来说就更灵活了,其加密效果也更好。当然也有人采用容量更大的93C56,93C66或
容量小一点的93C06、93C26等EEPROM芯片。
因为软件狗是插在微机的并行口上,所以检查程序是通过并行口的I/O地址去读写
EEPROM。具体的读写方式跟硬件线路以及EEPROM的时序有关,因此,一般的检查程
序是针对某一种硬件线路;但是,这些程序大同小异,大体上是差不多的。读者只要掌握本
书后面几章所讲述的软件狗制作技术,对市场上一般软件狗的工作原理就了如指掌了。如
果您想自己动手做一个软件狗,那也不难,根据您的硬件线路,修改本书给出的读写程序,
编译连接后就可以用下一节的实用工具来编辑您的软件狗了。然后,您把相应修改过的检
查程序嵌进您的应用程序中,用软件狗来保护您的成果就没有问题了。当然,如果您想使
您的软件狗具备很强的防解密能力,可能需要花点功夫去钻研一番。
1.2常用软件狗介绍及使用
这一节我们先浏览市场上常见的软件狗,再给您介绍由黄玫瑰软件制作组研制的软
件狗的用法。
1.2.1常见的软件狗
目前市场上大致有以下几种插在并行口上的加密狗出售,分别是软件狗、微狗和网络
狗。软件狗就是本书要重点剖析的一种加密狗,它的核心就是一片EEPROM。微狗是软
件狗的一个升级产品,加密和防破译性能要比软件狗好,它采用单片机技术制作,可对抗
逻辑分析仪对信号的检测,本书在第四章将对它作介绍。网络狗,顾名思义就是在网络上
用的加密狗,是在软件狗的基础上增加了一些网络的特点。
这些加密狗,一般都有以下特点:
1.不占用并行口,因为它虽然插在并行口上,但是它又提供了一个跟原来一致的并
行口。
2.软件具有防解密功能,可对抗各种调试工具的跟踪,如Debug、TurboDebugger、
Soft-ICE等等。
3.一狗一密码或一种线路,软硬件不可互换,就像一把锁一把钥匙那样。
4.提供各种语言的编程接口以及一套实用工具,方便用户在自己开发的程序中嵌入
加密模块。
页:
[1]