技术资料

 当前位置:首页 - 技术资料 - 加密狗破解

usb加密狗破解原理以及详细说明教程

2017.02.09
  当时破解软件加密狗(加密锁)的一些多见思路,对于这种破解,软件开发者仍是有相应的一些对策的,下一回我将在《软件加密锁编程诀窍》一文中具体介绍一下软件开发者将怎么编写安全可靠的代码,使得这种类似的破解方法失效。
  这篇文章介绍的是软件加密狗破解的一般思路和方法。做为软件开发者,研巴结软件加密的确很首要,不过也很有必要多了解一些对于加密狗解密和破解的知识,加密和破解就像矛和盾一样,对于解密知识了解的越多,那么编写的加密代码就越好,要知道加密耐久都比解密要简略的多,只需知己知彼,方能攻无不克。
  硬件加密锁,俗程"加密狗",对于加密狗的破解大致可以分为三种方法,一种是经过硬件克隆或许仿制,一种是经过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文件,这时分再工作运用软件,软件访问加密狗的操作就全部会被阻挡,阻挡程序耐久会回来精确的数据给软件,然后结束了仿照加密狗的工作。