加密狗的工作原理

加密狗的工作原理:
【加密狗的工作原理】加密狗通过在软件执行过程中和加密狗交换数据来实现加密的.加密狗内置单片机电路,使得加密狗具有判断、分析的处理能力,增强了主动的反解密能力 。这种加密产品称它为"智能型"加密狗 。加密狗内置的单片机里包含有专用于加密的算法软件,该软件被写入单片机后,就不能再被读出 。这样,就保证了加密狗硬件不能被复制 。同时,加密算法是不可预知、不可逆的 。
加密狗是为软件开发商提供的一种智能型的软件保护工具,它包含一个安装在计算机并行口或 USB 口上的硬件,及一套适用于各种语言的接口软件和工具软件 。加密狗基于硬件保护技术,其目的是通过对软件与数据的保护防止知识产权被非法使用 。
软件加密狗(锁)破解原理和方法,高手如何破解软件加密狗目前软件加密狗(加密锁)的解密破解工作主要集中在应用程序与加密动态库之间的通讯拦截 。这种软件加密狗破解方法成本较低,也易于实现,对待以单片机等芯片为核心的软件加密狗(加密锁)具有不错的解密破解效果 。由于软件加密狗(加密锁)的应用程序接口(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文件,这时候再运行软件加密狗破解软件,软件访问软件加密狗的操作就全部会被拦截,拦截程序永远会返回正确的数据给软件加密狗破解软件,从而实现了模拟软件加密狗的运行 。
很多正版软件要在电脑上插狗才能用,是什么原理加密狗,其实就是一种硬件加密技术,一些商业软甲在运行时需自动连接加密狗验证后才能使用 。所以加密狗就如同一款软件的“钥匙”一样 。我所了解的具体就是这些 。下面的是一些专业解释,网上看到了 。
-----------------------------------------------
"加密狗"是一种插在计算机并行口上的软硬件结合的加密产品 。一般都有几十或几百字节的非易失性存储空间可供读写,现在较新的狗内部还包含了单片机 。软件开发者可以通过接口函数和软件狗进行数据交换(即对软件狗进行读写),来检查软件狗是否插在并行口上;或者直接用软件狗附带的工具加密自己EXE文件(俗称"包壳") 。这样,软件开发者可以在软件中设置多处软件锁,利用软件狗做为钥匙来打开这些锁;如果没插软件狗或软件狗不对应,软件将不能正常执行 。