zoukankan      html  css  js  c++  java
  • 加密狗基本术语解释

    软件加密方式
        目前正在采用的加密方法可分为两大类:钥匙盘方式和加密狗方式。加密狗,也是目前流行的一种加密工具。它是插在计算机并行口上的软硬件结合的软件加密产品。加密狗一般都有几十或几百字节的非易失性存储空间可供读写,有的内部还增添了一个单片机。软件运行时通过向并口写入一定数据,判断从并口返回密码数据正确与否来检查加密狗是否存在。此种方式不易被硬解密,因而具有加密可靠等优点。但它也存在一大缺点是成本较高,并且用户使用很不方便。若用户购买了几种带加密狗的软件,在使用不同软件或更换微机时要不断将狗换插,给用户增添了很多麻烦。
    什么是软解密
        所谓软解密就是针对加密产品,一方面是利用软件监测分析软件在运行时向加密点写了什么数据,从加密点返回了什么数据,然后在运行软件前先在内存驻留自编程序监视加密点,当软件向加密点写数据时,软件自动代替加密点并返回相应数据。这样,用软件模拟了加密产品。另一方面是从软件着手,寻找软件调用加密点函数部分,修改判断加密点是否存在的语句,将程序直接跳转到正常执行的部分。此种方式的解密缺点是会造成软件的稳定性下降,并有可能解密不彻底而造成软件运行出错!

    什么是软复制
        所谓软复制就是针对加密产品,用相关的工具读出原版狗的狗数据,写入到相同型号的加密狗中,同时修改软件中与加密狗对应的绑定数据,而达到复制的目的。不同品牌的加密狗有不同的特征数据,例如Rockey 4加密狗,与软件相关的特征数据就是加密狗的密码,因此把软件中的密码改成自己手上的加密狗的密码,就达到了软复制的效果。此种方法的优点是保持原版软件的稳定性,杜绝了解密不彻底的现象;缺点是不支持软件的升级,软件升级后需要重新手动修改软件的特征数据;对于加有强壳的软件,此方法也不太可行。
    什么是硬复制
        软件开发商为了保护软件不被随意复制,采用了硬件加密的方式,通常市面所见的有USB硬狗和并口硬狗两种,狗的类型有Safenet、深思飞天Rockey、域之天、以及以色列Hasp等等,通常这些狗无法直接读取数据,但是采用专门的设备如读卡器,可以读出硬狗里面的相应加密数据,并且是用写卡器可以把数据完美的写入空狗,从而实现完美复制的硬狗。当然这仅仅适用部分硬狗,不能一概而论。另外的一种方法是利用软件的方法来硬复制,有些品牌的加密狗为了生产方便,会留有某些后门来更改狗的数据的,因此可以利用软件的办法来对加密狗里面的内容进行读出,修改相关的特征数据后再写入到狗中,从而达到硬复制的目的。本站独创的Rockey4硬复制技术正是利用此技术来达到硬复制的效果。
    什么是硬模拟
    硬模拟是针对于智能狗(如rockey 6,sense 3,sense4)而言,由于智能狗内的程序及数据文件无法读取,因此通过分析软件及结合原狗,将狗内的程序算法推算出来,或者监控软件调用原狗的入口出口数据,通过自己写程序来模拟原狗返回给软件的数据,以达到复制的目的。此方法需要比较强的分析能力才能做到,因此市面上出现的此类加密狗硬复制狗,实际上是硬模拟,不是真正意义上的硬复制,因为狗的程序是无法获取的,因此很多客户很容易上当,以为是硬复制的加密狗。
    什么是虚拟狗
    虚拟狗是加密狗复制里面的比较高级的软模拟方法,虚拟狗是一种虚拟总线设备,通过特殊的内核驱动程序与加密狗的驱动程序进行通讯,可以形象地称为虚拟狗是电脑上的加密狗,俗称软件狗。虚拟狗的好处是不需要修改软件,不需要修改驱动程序,功能上和硬件狗完全一样。编写虚拟狗程序除了需要极高的软件编程能力外,更是要对虚拟的狗的特性十分了解,才有可能编写成虚拟狗,因此这类技术的技术含量非常之高,不是一般人能实现的。
    何为模拟驱动,何为版本无关
        如大家所知,windows下软件在调用硬件时要通过驱动程序来实现对硬件的操作,硬件对于软件来说仅是驱动程序所提供的接口。此驱动的接口通常是由软狗公司提供,而且一般是不改变的。而此接口具体如何实现软件是看不到的。模拟驱动就是通过模拟此软件和硬件之间的接口,而通过软件编程来实现此接口的功能,将加密狗的数据硬件编码在驱动程序内,将加密狗的算法移植到驱动程序内,如此对于软件而言就好像在操作一个真正的硬件一样。不管软件版本如何变化,驱动的接口并不改变,由于驱动和软件程序文件是分离的,不需要更改程序文件,实现模拟驱动和软件的版本无关。
  • 相关阅读:
    Hibernate save, saveOrUpdate, persist, merge, update 区别
    Eclipse下maven使用嵌入式(Embedded)Neo4j创建Hello World项目
    Neo4j批量插入(Batch Insertion)
    嵌入式(Embedded)Neo4j数据库访问方法
    Neo4j 查询已经创建的索引与约束
    Neo4j 两种索引Legacy Index与Schema Index区别
    spring data jpa hibernate jpa 三者之间的关系
    maven web project打包为war包,目录结构的变化
    创建一个maven web project
    Linux下部署solrCloud
  • 原文地址:https://www.cnblogs.com/wzg0319/p/3760284.html
Copyright © 2011-2022 走看看