加密狗软件破解复制T-GOU工作室
RSS

并口加密狗破解与USB加密狗破解

来源:未知 作者:admin 时间:2010-12-26 09:51 浏览:

硬件加密锁,俗程“加密狗”,对于加密狗的破解大致可以分为
 
三种方法,一种是通过硬件克隆或者复制,一种是通过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文件,
 
这时候再运行应用软件,软件访问加密狗的操作就全部会被拦截
 
,拦截程序永远会返回正确的数据给软件,从而实现了模拟加密。


Tags:
最新评论共有 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名评论
立即注册账号