加密狗详解(附复制方法)
加密狗详解(附复制方法)
加密狗基本术语解释
软件加密方式
目前正在采用的加密方法可分为两大类:钥匙盘方式和加密狗方式。加密狗,也是目前流行的一种加密工具。它是插在计算机并行口上的软硬件结合的软件加密产品。加密狗一般都有几十或几百字节的非易失性存储空间可供读写,有的内部还增添了一个单片机。软件运行时通过向并口写入一定数据,判断从并口返回密码数据正确与否来检查加密狗是否存在。此种方式不易被硬解密,因而具有加密可靠等优点。但它也存在一大缺点是成本较高,并且用户使用很不方便。若用户购买了几种带加密狗的软件,在使用不同软件或更换微机时要不断将狗换插,给用户增添了很多麻烦。
什么是软解密
所谓软解密就是针对加密产品,一方面是利用软件监测分析软件在运行时向加密点写了什么数据,从加密点返回了什么数据,然后在运行软件前先在内存驻留自编程序监视加密点,当软件向加密点写数据时,软件自动代替加密点并返回相应数据。这样,用软件模拟了加密产品。另一方面是从软件着手,寻找软件调用加密点函数部分,修改判断加密点是否存在的语句,将程序直接跳转到正常执行的部分。此种方式的解密缺点是会造成软件的稳定性下降,并有可能解密不彻底而造成软件运行出错~
什么是软复制
所谓软复制就是针对加密产品,用相关的工具读出原版狗的狗数据,写入到相同型号的加密狗中,同时修改软件中与加密狗对应的绑定数据,而达到复制的目的。不同品牌的加密狗有不同的特征数据,例如Rockey 4加密狗,与软件相关的特征数据就是加密狗的密码,因此把软件中的密码改成自己手上的加密狗的密码,就达到了软复制的效果。此种方法的优点是保持原版软件的稳定性,杜绝了解密不彻底的现象;缺点是不支持软件的升级,软件升级后需要重新手动修改软件的特征数据;对于加有强壳的软件,此方法也不太可行。 什么是硬复制
软件开发商为了保护软件不被随意复制,采用了硬件加密的方式,通常市面所见的有USB硬狗和并口硬狗两种,狗的类型有Safenet、深思、飞天Rockey、
域之天、以及以色列Hasp等等,通常这些狗无法直接读取数据,但是采用专门的设备如读卡器,可以读出硬狗里面的相应加密数据,并且是用写卡器可以把数据完美的写入空狗,从而实现完美复制的硬狗。当然这仅仅适用部分硬狗,不能一概而论。另外的一种方法是利用软件的方法来硬复制,有些品牌的加密狗为了生产方便,会留有某些后门来更改狗的数据的,因此可以利用软件的办法来对加密狗里面的
内容
财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容
进行读出,修改相关的特征数据后再写入到狗中,从而达到硬复制的目的。本站独创的Rockey4硬复制技术正是利用此技术来达到硬复制的效果。
什么是硬模拟
硬模拟是针对于智能狗(如rockey 6,sense 3,sense4)而言,由于智能狗内的程序及数据文件无法读取,因此通过分析软件及结合原狗,将狗内的程序算法推算出来,或者监控软件调用原狗的入口出口数据,通过自己写程序来模拟原狗返回给软件的数据,以达到复制的目的。此方法需要比较强的分析能力才能做到,因此市面上出现的此类加密狗硬复制狗,实际上是硬模拟,不是真正意义上的硬复制,因为狗的程序是无法获取的,因此很多客户很容易上当,以为是硬复制的加密狗。
什么是虚拟狗
虚拟狗是加密狗复制里面的比较高级的软模拟方法,虚拟狗是一种虚拟总线设备,通过特殊的内核驱动程序与加密狗的驱动程序进行通讯,可以形象地称为虚拟狗是电脑上的加密狗,俗称软件狗。虚拟狗的好处是不需要修改软件,不需要修改驱动程序,功能上和硬件狗完全一样。编写虚拟狗程序除了需要极高的软件编程能力外,更是要对虚拟的狗的特性十分了解,才有可能编写成虚拟狗,因此这类技术的技术含量非常之高,不是一般人能实现的。
何为模拟驱动,何为版本无关
如大家所知,windows下软件在调用硬件时要通过驱动程序来实现对硬件的操作,硬件对于软件来说仅是驱动程序所提供的接口。此驱动的接口通常是由软狗公司提供,而且一般是不改变的。而此接口具体如何实现软件是看不到的。模拟驱动就是通过模拟此软件和硬件之间的接口,而通过软件编程来实现此接口的功能,将加密狗的数据硬件编码在驱动程序内,将加密狗的算法移植到驱动程序内,如此对于软件而言就好像在操作一个真正的硬件一样。不管软件版本如何变化,驱动的接口并不改变,由于驱动和软件程序文件是分离的,不需要更改程序文件,实现模拟驱动和软件的版本无关
加密狗型号区分的几种方法
1:有驱动的情况下,安装好驱动,一般直接就可以看到,没有安装驱动的情况下,插入加密锁,一般会有气泡提示,这里以深思4举例说明下,插入加密锁,会出来如下的气泡提示。
有驱动,安装驱动了的,这里以safenet microdog UMI 举例说明下。 首先当然是安装好加密锁驱动程序,并插好加密狗。
然后
首先,点我的电脑,点鼠标右键,点管理,会出来计算机管理器。点设备管理器,点开通用串行总线设备
我们来看看是什么样子的
也许你要说不对啊,只能看到是 MicroDog 啊,不要急,双击就可以看到具体型号了
2:看设备范例ID
首先,点我的电脑,点鼠标右键,点管理,会出来计算机管理器。点设备管理器,点开通用串行总线设备,选择刚插入的加密锁,双击,点详细信息,会出来如下图
部分设备ID对应的加密锁型号。
USB\VID_096E&PID_0001 飞天诚信(ftsafe) 飞天4有驱型 加密锁 ROCKEY 4 Rockey4
USB\VID_096E&PID_0403\5&18CD3484&0&1 Rockey6
HID\VID_096E&PID_0006 飞天诚信(ftsafe) 飞天4无驱型 加密锁 rockey 4 nd ROCKEY4ND
USB\VID_096E&PID_0304 坚石诚信(Rockey) ET199 Token USB\VID_096E&PID_0303 坚石诚信(Rockey) ET99 Token
USB\VID_08E2&PID_0002 赛孚耐(SafeNet) safenet microdog UMI 彩虹加密狗 微狗
USB\VID_08E2&PID_0004 赛孚耐(SafeNet) safenet softdog UDA 彩虹加密狗 软件狗
USB\VID_83D3&PID_3773 域天(域之天) 域之天 域天 专业型/经济易用型 加密锁
USB\VID_3689&PID_8762 域天(域之天) 域之天 域天 密码型 加密锁 USB\VID_1199&PID_8282 域天(域之天) 域之天 域天 简单型 加密锁 USB\VID_04B4&PID_4A59 深思洛克(senseLock) sense3 senseIII 深思3 深思III
USB\VID_0471&PID_485D 深思洛克(senseLock) SenseIV2.x 深思洛克 sense4 senseIV 深思4 深思IV
USB\VID_1312&PID_2012 域天(域之天) 域之天 域天 32位智能型 易用型
智能锁 加密锁 无驱
USB\VID_1312&PID_2012 域天(域之天) 域天(域之天)简单智能型 USB\VID_3689&PID_3689 EncryptPE 订制型 (域天)
USB加密狗复制机“打狗棒1.0”的详细使用方法
一. 打狗棒1.0简介.
打狗棒1.0是利用80386/80486的VM86技术模拟软件狗, 来实现解密的. 进行解密时,
软件先带狗运行, 用打狗棒得到软件狗的相关数据; 然后拿去软件狗, 运行打狗棒, 则
软件可以无狗运行了.
二. 运行环境.
它运行在DOS 3.0以上版本, 注意, 不支持HIMEM.SYS和QEMM.EXE,
因此, CONFIG.SYS
的配置最好如下:
FILES=30
BUFFERS=30
三. 安装软件.
把软盘上的CANE.EXE和*.LAD拷贝到硬盘上即可(未加密). 四. 运行软件.
在安装软件的当前目录键入CANE /H, 然后回车, 则显示帮助信息:
-------------------------HELP------------------------
CANE -----Emulate the softdog
CANE /Axxx -----Analyse the softdog,xxx=extend mem kept
CANE /R -----Read the softdog file
CANE /W -----Write the softdog file
CANE /U -----Free memory and to dos
CANE /H -----Help
其中, CANE 表示模拟软件狗运行软件.
CANE /Axxx 表示分析软件狗相关的数据, xxx表示为数据留出的扩展内存
数(以K为单位).
CANE /R 表示读已分析的软件狗的数据.
CANE /W 表示把分析的软件狗的数据写到文件中.
CANE /U 表示把打狗棒程序从内存中撤消.
CANE /H 表示帮助.
因此, A> 要解密一个软件狗, 步骤如下:
?. 把软件狗插到打印口, 进入到打狗棒所在的目录, 键入CANE /Axxx(其中
xxx为要留的以K为单位的扩展内存数),然后运行要解密的软件.
?. 运行完毕后, 回到打狗棒所在的目录, 运行CANE /W, 把软件狗相
关的数据
写到当前目录下的文件中.
?. 运行CANE /U 退出VM86模式,回到实模式下.
B> 要无狗运行软件, 则在打狗棒所在的目录下运行CANE然后回车, 再运行
CANE /R然后回车, 再运行原来的软件即可.
五. 软件中附带UCDOS5.0单用户版的解密数据(参考数据, 对于不同用户数据不一定相同),
即CANE0378.LAD和CANE03BC.LAD.
六. *.LAD的数据格式
*.LAD文件的数据格式如下:
第1,2字节: 未用
第3,4,5,6: 数据长度
第7字节开始(存放数据): 属性 端口 数据
...
其中属性占1个字节, 00H: 输入一字节
01H: 输入一字
10H: 输出一字节
11H: 输出一字
端口占2个字节, 为输入/输出数据的端口, 如并口数据端口为0378H
数据是输入输出的数据, 如果属性为X个字节, 则占X字节, 七. 程序的编译和连接
在当前目录下, 键入命令行: pasm cane, 然后回车即可.
注意, 必须在PATH中设置BORLANDC++的路径. 例如, 如果BORLANDC++的目录为
C:\BORLANDC, 则在AUTOEXEC.BAT文件的PATH中加入C:\BORLANDC\BIN;