加密狗的一些介绍

加密狗是目前流行的一种软件加密工具。它是插在计算机接口上的软硬件结合的软件加密产品。通常有USB口和并口两种,又称USB加密狗和并口加密狗,目前流行的通常是USB加密狗,并口加密狗在前几年的时候用得比较多。算法

加密狗内部通常都有几十到几十K字节的存储空间可供读写,有的内部还增添了一个单片机。软件运行时经过向狗发送消息,判断从接口返回密码(简单的就是返回0或1)数据正确与否来检查加密狗是否存在。此种方式能够经过直接修改返回值,来达到破解的目的。编程

另外一种能够在加密狗内写入一些数据,程序执行时须要从加密狗内读取数据,这种状况下,若是只是简单的修改返回值,程序是确定不能正常运行的,因此就有了复制加密狗的破解方法。安全

加密狗技术实际上并非很高深的技术,由于主要的加密狗的芯片和内部文件都有专业的黑客及厂家提供,软件做者通常只是把数据文件用专用软件写入狗中,因此不存在技术先进不先进之分。函数

这里只是简单的分析了加密狗破解的一些常见思路,对于软件做者来讲,仍是有相应的策略的,这也就是矛与盾的关系,互相促进,互相提升。加密狗的破解大体能够分为三种方法,一种是经过硬件克隆或者复制,一种是经过SoftICE等Debug工具调试跟踪解密,一种是经过编写拦截程序修改软件和加密狗之间的通信。工具

硬件克隆复制主要是针对国产芯片的加密狗,由于国产加密狗公司通常没有核心加密芯片的制造能力,所以有些使用了市场上通用的芯片,破解者分析出芯片电路 以及芯片里写的内容后,就能够马上复制或克隆一个彻底相同的加密狗。不过国外的加密狗就没法使用这种方法,国外加密狗硬件使用的是安全性很好的本身研制开 发的芯片,一般很难进行复制,并且如今国内加密狗也在使用进口的智能卡芯片,所以这种硬件克隆的解密方法用处愈来愈少。加密

对于Debug调试破解,因为软件的复杂度愈来愈高,编译器产生的代码也愈来愈多,经过反汇编等方法跟踪调式破解的复杂度已经变得愈来愈高,破解成本也愈来愈高,目前已经不多有人愿意花费大量精力进行如此复杂的破解,除非被破解的软件具备极高的价值。调试

目前加密狗(加密狗)的解密破解工做主要集中在应用程序与加密动态库之间的通信拦截。这种方法成本较低,也易于实现,对待以单片机等芯片为核心的加密狗(加密狗)具备不错的解密效果。接口

因为加密狗的应用程序接口(API)基本上都是公开的,所以从网上能够很容易下载到加密狗的编程接口API、用户手册、和其它相关资料,还能够了解加密狗技术的最新进展。内存

例如,某个国内知名的美国加密狗提供商的一款颇有名的加密狗,其所有编程资料就能够从网上获取到,通过对这些资料的分析,咱们知道这个加密狗(加密狗)有64个内存单元,其中56个能够被用户使用,这些单元中的每个均可以被用为三种类型之一:算法、数据值和计数器。开发

数据值比较好理解,数据值是用户存储在可读写的单元中的数据,就和存储在硬盘里同样,用户可使用Read函数读出存储单元里面的数据,也可使用Write函数保存本身的信息到存储单元。

计数器是这样一种单元,软件开发商在其软件中使用Decrement函数能够把其值减一,当计数器和某种活动的(active)算法关联时,计数器为零则会封闭(deactive)这个算法。

算法单元较难理解一些,算法(algorithm)是这样一种技术,你用Query(queryData)函数访问它,其中queryData是查询 值,上述函数有一个返回值,被加密的程序知道一组这样的查询值/返回值对,在须要加密的地方,用上述函数检查狗的存在和真伪。对于被指定为算法的单元,软 件上是没法读和修改的,即便你是合法的用户也是如此,我理解这种技术除了增长程序复杂性之外,主要是为了对付使用模拟器技术的破解。

此加密狗(加密狗)的全部API函数调用都会有返回值,返回值为0的时候表示成功。

所以,破解思路就出来了,就是使用咱们本身的工具(如VB、VC等)从新编写构造一个和加密狗API同样的DLL动态库文件,里面也包含Read、 Write等所有API中包含的函数,使用的参量及返回值和原来的函数同样,全部函数返回零。而后对Query、Read函数进行处理,返回应用软件须要 的数值便可。

这个新的DLL文件编写成功后,直接替换掉原来的DLL文件,这时候再运行应用软件,软件访问加密狗的操做就所有会被拦截,拦截程序永远会返回正确的数据给软件,从而实现了模拟加密狗的运行。

通过上面的介绍你们能够基本了解到咱们常见的加密狗的基本破解方法,而你们最多见的免加密狗补丁破解则就是属于第三种破解方式。

而你们购买加密狗常见的两种所谓有驱加密和无驱加密狗则分别对应第三种dll文件破解和复制狗破解,有驱狗的最大特色就是安装完程序和必要的驱动(这个是官方驱动)后还须要打一个补丁,这个补丁名字繁多,什么所谓升级补丁、新版驱动等等,其实都是破解补丁而已,只不过通过了二次加密须要验证加密狗,固然这也是为了促进销售的举措,实际上那个加密狗只是一个摆设,仅仅验证补丁的加密而已,因此价格极为低廉。

无驱加密狗直接可以使用正版程序,广泛都是和正版一样加密狗芯的加密狗复制的。虽然平时你们看不出这两种加密狗有什么问题,可是注意细节的可能已经看到了,有驱加密狗其实就是无论你软件发出任何请求,一概返回数字0给软件,从而达到破解目的,试问,若是软件开发者使坏恰恰须要返回1的话岂不是形成严重错误?因此购买结构计算软件应当以复制狗为主,除非没有复制狗提供的才能考虑有驱狗。而仅仅是绘图软件施工资料等通常性软件则不须要如此严格,有驱无驱都是同样使用了,就不必追求过度的完美。

相关文章
相关标签/搜索