㈠ radan加密狗如何破解
硬件加密锁,俗称“加密狗”,对于其破解,大致可以分为三种方法:硬件克隆或复制、使用SoftICE等调试工具跟踪解密、编写拦截程序修改软件与加密狗间的通讯。
硬件克隆复制主要针对国产芯片的加密狗,因为国产加密狗公司通常没有核心加密芯片制造能力,使用的是市场上通用芯片,破解者分析出芯片电路及内容后可复制。但国外加密狗因使用安全性高的自制芯片,且国内加密狗也开始使用进口智能卡芯片,这种方法用处越来越少。
Debug调试破解随着软件复杂度增加,反汇编等方法复杂度也升高,破解成本也高,如今很少有人愿意进行这种复杂破解,除非被破解软件价值极高。
目前加密锁解密主要集中在应用程序与加密动态库间的通讯拦截。这种方法成本低,易于实现,对于以单片机为核心的加密锁具有不错解密效果。
加密锁的应用程序接口基本上公开,网上可以下载到编程接口API、用户手册及相关资料,了解最新进展。例如,某知名美国加密狗提供商的加密狗,其全部编程资料可从网上获取,分析得知其有64个内存单元,56个可使用,每个单元可作为算法、数据值或计数器之一。
数据值简单,数据值存储在可读写单元中,用户可使用Read函数读出,Write函数保存信息。计数器用于软件活动,Decrement函数减一,与算法关联时计数器为零则封闭算法。算法单元较难理解,查询值/返回值对被加密程序知道,检查狗的存在和真伪。对算法单元,软件无法读或修改,合法用户亦不可。
所有API函数调用有返回值,成功返回0。破解思路是使用工具(如VB、VC等)重新编写一个与加密狗API相同的DLL文件,包含全部API函数,参数及返回值与原函数相同,所有函数返回0。对Query、Read函数处理,返回应用软件需要的值。
编写成功后,替换原DLL文件,运行软件时,访问加密狗操作全部被拦截,拦截程序返回正确数据,实现模拟加密狗运行。
㈡ 加密狗如何破解
其实做为软件开发者,研究好软件加密的确很重要,不过也很有必要多了解一些关于加密狗解密和破解的知识,加密和破解就像矛和盾一样,对于解密知识了解的越多,那么编写的加密代码就越好,要知道加密永远都比解密要容易的多,只有知己知彼,方能百战百胜。
硬件加密锁,俗程“加密狗”,对于加密狗的破解大致可以分为三种方法,一种是通过硬件克隆或者复制,一种是通过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文件,这时候再运行应用软件,软件访问加密狗的操作就全部会被拦截,拦截程序永远会返回正确的数据给软件,从而实现了模拟加密狗的运行。
以上是目前破解软件加密狗(加密锁)的一些常见思路,对于这种破解,软件开发者还是有相应的一些对策的,下一回我将在《软件加密锁编程技巧》一文中具体介绍一下软件开发者将如何编写安全可靠的代码,使得这种类似的破解方法失效。
㈢ 某USB加密狗里面的数据已经拿到 要怎么操作才能把这些数据制作成电脑虚拟狗
因为加密狗是硬件,所以,你想做成虚拟狗,最少就得让模拟狗知道它被哪个软件通信。这需要做成一个全局的HOOK程序(这个很麻烦),或者,你运气好,可以通过DLL注入的方式来做。至于哪种方式适合就得看你的软件是怎么用的了
㈣ 加密狗是什么,怎么破解
加密狗是一种智能型软件加密工具,包含硬件和软件两部分。它安装在计算机并行口或USB口上,用于保护软件不被盗版。加密狗通过硬件加密技术防止知识产权被非法使用。赛孚耐公司是加密狗行业的领头羊,拥有广泛的用户基础。加密狗的创始人陈龙森从1990年开始研发,不断完善产品并大力推广。
目前市场上有多种类型的加密狗,适用于不同的软件保护需求。赛孚耐公司始终在新产品和新技术推广方面保持领先。软件开发商可以使用加密狗保护软件免受盗版,控制软件的发布,设置试用期限,实现软件租赁,拓展业务范围。
加密狗的破解方法大致分为三类:硬件克隆或复制、通过调试工具解密、编写拦截程序修改通讯。硬件克隆主要用于国产芯片的加密狗,因为有些公司没有核心芯片制造能力,破解者可以复制或克隆加密狗。不过,国外加密狗由于芯片安全性较高,难以复制。
Debug调试破解成本高,复杂度高,破解者通常不愿意投入大量精力。目前,应用程序与加密动态库之间的通讯拦截是主要的破解方法,成本低,易于实现。
加密狗的编程资料可以在网上找到,包括内存单元、数据值、计数器和算法单元等信息。数据值是可以读写的单元,软件开发商可以使用函数读取或写入数据。计数器用于控制算法的激活和关闭。算法单元用于验证加密狗的存在和真伪,软件无法读取和修改这些单元。
破解思路是编写一个与加密狗API相同的DLL文件,替换掉原来的DLL文件,拦截软件对加密狗的操作。这种方法可以模拟加密狗的运行,实现破解。
对于这种破解,软件开发者有相应的对策,例如增加程序复杂性,使用更安全的加密技术,定期更新加密狗等。