导航:首页 > 文档加密 > 软件加密狗原理

软件加密狗原理

发布时间:2022-01-21 05:28:36

A. 软件加密狗的工作原理

软件加密狗的工作原理:
我们举个例子说明单片机算法的使用。 比如一段程序中有这样一句:A=Fx(3)。程序要根据常量3来得到变量A的值。于是,我们就可以把原程序这样改写:A=Fx(DogConvert(1)-12342)。那么原程序中就不会出现常量3,而取之以DogConvert(1)-12342。这样,只有软件编写者才知道实际调用的常量是3。而如果没有软件加密狗,DogConvert函数就不能返回正确结果,结果算式A=Fx(DogConvert(1)-12342)结果也肯定不会正确。这种使盗版用户得不到软件使用价值的加密方式,要比一发现非法使用就警告、中止的加密方式更温和、更隐蔽、更令解密者难以琢磨。此外,软件加密狗还有读写函数可以用作对软件加密狗内部的存储器的读写。于是我们可以把上算式中的12342也写到软件加密狗的存储器中去,令A的值完全取决于DogConvert()和DogRead()函数的结果,令解密难上加难。不过,一般说来,软件加密狗单片机的算法难度要低于一些公开的加密算法,如DES等,因为解密者在触及软件加密狗的算法之前要面对许多难关。

B. 软件加密狗的加密原理

最新的硬件加密原理
目前全球最先进的圣天狗中引入了双算法安全通道技术,在通讯中同时采用128位AES算法及160位ECC算法作为通讯加密手段,每一次数据传输都用128位随机密钥AES算法对其加密,而这个随机的密钥又用160位ECC算法加密,在随后传输。由于ECC是非对称算法,加密和解密的密钥并不相同,如果其中一组密钥可以用黑客手段从内存中获得,那么另外一组烧录在硬件狗中的密钥,黑客无法获得。无法获得两对ECC密钥,也就无法破解ECC加密的数据,从而无法获得AES密钥,也就无法破解整个通讯过程。这一双算法安全通道技术彻底解决了通讯监听破解的难题,传统的对称算法加密,黑客只要从内存中获得其加密密钥,就可以破解整个通讯过程。

C. 软件保护的加密狗工作原理

加密狗通过在软件执行过程中和加密狗交换数据来实现加密的。加密狗内置单片机电路(也称CPU),使得加密狗具有判断、分析的处理能力,增强了主动的反解密能力。这种加密产品称它为智能型加密狗.加密狗内置的单片机里包含有专用于加密的算法软件,该软件被写入单片机后,就不能再被读出。这样,就保证了加密狗硬件不能被复制。同时,加密算法是不可预知、不可逆的。加密算法可以把一个数字或字符变换成一个整数,如DogConvert(1)=17345、DogConvert(A)=43565。
下面,我们举个例子说明单片机算法的使用。 比如一段程序中有这样一句:A=Fx(3)。程序要根据常量3来得到变量A的值。于是,我们就可以把原程序这样改写:A=Fx(DogConvert(1)-12342)。那么原程序中就不会出现常量3,而取之以DogConvert(1)-12342。这样,只有软件编写者才知道实际调用的常量是3。而如果没有加密狗,DogConvert函数就不能返回正确结果,结果算式A=Fx(DogConvert(1)-12342)结果也肯定不会正确。这种使盗版用户得不到软件使用价值的加密方式,要比一发现非法使用就警告、中止的加密方式更温和、更隐蔽、更令解密者难以琢磨。此外,加密狗还有读写函数可以用作对加密狗内部的存储器的读写。于是我们可以把上算式中的12342也写到狗的存储器中去,令A的值完全取决于DogConvert()和DogRead()函数的结果,令解密难上加难。不过,一般说来,加密狗单片机的算法难度要低于一些公开的加密算法,如DES等,因为解密者在触及加密狗的算法之前要面对许多难关

D. 加密狗是什么原理如何实现的通讯

加密就是密码里有密码,记住密码就可以了

E. 加密锁的工作原理

加密锁通过在软件执行过程中和加密锁交换数据来实现加密的.加密锁内置单片机电路(也称CPU),使得加密锁具有判断、分析的处理能力,增强了主动的反解密能力。这种加密产品称它为"智能型"加密锁.加密锁内置的单片机里包含有专用于加密的算法软件,该软件被写入单片机后,就不能再被读出。这样,就保证了加密锁硬件不能被复制。同时,加密算法是不可预知、不可逆的。加密算法可以把一个数字或字符变换成一个整数,如DogConvert(1)=17345、DogConvert(A)=43565。下面,我们举个例子说明单片机算法的使用。 比如一段程序中有这样一句:A=Fx(3)。程序要根据常量3来得到变量A的值。于是,我们就可以把原程序这样改写:A=Fx(DogConvert(1)-17342)。那么原程序中就不会出现常量3,而取之以DogConvert(1)-17342。这样,只有软件编写者才知道实际调用的常量是3。而如果没有加密锁,DogConvert函数就不能返回正确结果,结果算式A=Fx(DogConvert(1)-17342)结果也肯定不会正确。这种使盗版用户得不到软件使用价值的加密方式,要比一发现非法使用就警告、中止的加密方式更温和、更隐蔽、更令解密者难以琢磨。此外,加密锁还有读写函数可以用作对加密锁内部的存储器的读写。于是我们可以把上算式中的17342也写到加密锁的存储器中去,令A的值完全取决于DogConvert()和DogRead()函数的结果,令解密难上加难。不过,一般说来,加密锁单片机的算法难度要低于一些公开的加密算法,如DES等,因为解密者在触及加密锁的算法之前要面对许多难关

F. 加密狗破解原理是什么

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

G. 加密狗原理详解

加密狗其实做为软件开发者,研究好软件加密的确很重要,不过也很有必要多了解一些关于解密和破解的知识,加密和破解就像矛和盾一样,对于解密知识了解的越多,那么编写的加密代码就越好,要知道加密永远都比解密要容易的多,只有知己知彼,方能百战百胜。硬件加密锁 FreeEIM,俗程“加密狗”,对于加密狗的破解大致可以分为三种方法,一种是通过硬件克隆或者复制,一种是通过SoftICE等Debug工具调试跟踪解密,一种是通过编写拦截程序修改软件和加密狗之间的通讯。

H. 加密狗的工作原理

以下就现今全球软件保护行业较普遍采用的方法之一使用“硬件加密狗”的方式方法谈谈自己的一点看法。
在当今中国市场上最主要的加密锁品牌有:1。美国彩虹公司(也是最早做硬件加密的公司)的国产品牌“加密狗”、美国品牌“圣天诺软件加密锁”;2。阿拉丁的“HASP”系列加密锁;3。德国威博公司的“WBU-KEY”加密锁;4。深思洛克的“深思加密锁”;5。蓝宇风公司的“金盾加密锁”;6。飞天公司的“ROCKEY”加密锁等几个主要品牌。
以上加密锁品牌的工作原理都是大同小异:被保护的软件--加密锁之间形成一一对映的关系,被保护的软件在运行的过程当中不断通过其API函数向加密锁发指令来判断加密锁是否存在于,软件离开保护锁不能运行。
但是从其发展历程来看,本人以美国RAINBOW公司的产品生产研发的历程作一个简单的介绍:
1、从最早由美国RAINBOW公司生产的第一代硬件保护锁,只是通过一个简单查询函数来验证并口的硬件保护锁是否存在,存在则程序继续运行,不再则软件终止运行,来完成并保护软件开发商的利益;
2、接着依然是美国RAINBOW公司对自己的第一代的产品进行了改进而形成了第二代的加密锁产品,并且美国RAINBOW公司为其第二代产品取名为:SENTINEL PRO,其与第一代的产品相比较最大的改变在于加密锁硬件里头的运算芯片由RAINBOW公司写入了一个固定的“加密算法”,但这个算法是单一的固定的。
以上两种产品对于软件开发商来说有一个相当大的风险,那就是其必需相信RAINBOW公司不会把买给他们的加密锁买给别的个人,如果RAINBOW把相同的产品出售给别人的话,别人拿到这个加密锁就能使用开发商的软件。
3、通过软件开发商对这个问题的重视,RAINBOW公司针对这种情开发出了第三代的加密产品:SENTINEL SUPERPRO,这种产品彻底解决了软件开发商的后顾之忧。这种产品其运算芯片中内置了28种算法,共分为56个单元,每两个单元可以单独保护一个应用程序,故用RAINBOW公司的说法其一把锁可以保护28个应用程序;且这种加密锁的每个算法单元所采用的算法因子是由软件开发商自己设定的,当其写入加密锁后对于外界来说就相当于一个暗箱,是任何人也读不出来的。
4、但随着解密者的技术的不断提高,RAINBOW中国公司研发出了第四代的产品-智能狗,与现今的差不多所有品牌的加密锁相比较,这种狗有了一个质的飞跃:其通过在开发过程中把一段代码加密后写入加密狗,当程序运行时再把加密狗里的代码在加密狗里自行运行,程序调用其运算结果来完成软件的加密,如此就从理论上杜绝了软件被破解的可能。

现在市面上的加密狗的工作原理不外乎RAINBOW的这两种形式:1、程序发命令查询--加密狗运算后相应程序;2、把源代码放入加密狗内部执行(现在还只有RAINBOW公司一家有此功能的加密狗)。
转载自月光博客。

I. 很多软件都需要狗来启动,那狗是啥玩意工作原理是什么

"狗"也就是俗称的"加密狗",也就是起到保险的作用,现在很多游戏GM都卖加密狗了,为了保护帐号,下面是它的一些使用功能.
"加密狗"是一种插在计算机并行口上的软硬件结合的加密产品。一般都有几十或几百字节的非易失性存储空间可供读写,现在较新的狗内部还包含了单片机。软件开发者可以通过接口函数和软件狗进行数据交换(即对软件狗进行读写),来检查软件狗是否插在并行口上;或者直接用软件狗附带的工具加密自己EXE文件(俗称"包壳")。这样,软件开发者可以在软件中设置多处软件锁,利用软件狗做为钥匙来打开这些锁;如果没插软件狗或软件狗不对应,软件将不能正常执行。
加密狗通过在软件执行过程中和加密狗交换数据来实现加密的.加密狗内置单片机电路(也称CPU),使得加密狗具有判断、分析的处理能力,增强了主动的反解密能力。这种加密产品称它为"智能型"加密狗.加密狗内置的单片机里包含有专用于加密的算法软件,该软件被写入单片机后,就不能再被读出。这样,就保证了加密狗硬件不能被复制。同时,加密算法是不可预知、不可逆的。加密算法可以把一个数字或字符变换成一个整数,如DogConvert(1)=17345、DogConvert(A)=43565。下面,我们举个例子说明单片机算法的使用。 比如一段程序中有这样一句:A=Fx(3)。程序要根据常量3来得到变量A的值。于是,我们就可以把原程序这样改写:A=Fx(DogConvert(1)-12342)。那么原程序中就不会出现常量3,而取之以DogConvert(1)-12342。这样,只有软件编写者才知道实际调用的常量是3。而如果没有加密狗,DogConvert函数就不能返回正确结果,结果算式A=Fx(DogConvert(1)-12342)结果也肯定不会正确。这种使盗版用户得不到软件使用价值的加密方式,要比一发现非法使用就警告、中止的加密方式更温和、更隐蔽、更令解密者难以琢磨。此外,加密狗还有读写函数可以用作对加密狗内部的存储器的读写。于是我们可以把上算式中的12342也写到狗的存储器中去,令A的值完全取决于DogConvert()和DogRead()函数的结果,令解密难上加难。不过,一般说来,加密狗单片机的算法难度要低于一些公开的加密算法,如DES等,因为解密者在触及加密狗的算法之前要面对许多难关

J. 加密狗的原理是什么样的

加密狗(dongle),经常被认为是硬件保护,它是一个可被附加在计算机并口、串口或USB上的小插件,它包含厂家烧制的EPROM和定制的专用集成电路。dongle保护的的原理就是软件开发者在程序里经常检查dongle中的单元(Cell)的并对比返回值,这种检查可以是直接读单元或者是使用某种内部算法(此时单元受到保护无法直接读)。
参考资料:http://www.isip.cn/IsipView/2005-7-19/Html_View_900.Htm#

阅读全文

与软件加密狗原理相关的资料

热点内容
工作三年的大专程序员 浏览:728
java毕业设计文献 浏览:143
筹码集中度指标源码 浏览:482
listsortjava 浏览:186
plc闪光电路编程实例 浏览:299
socket编程试题 浏览:206
华为的服务器怎么设置从光驱启动 浏览:871
程序员真的累吗 浏览:328
学信网app为什么刷脸不了 浏览:874
天蝎vs程序员 浏览:996
单片机下载口叫什么 浏览:190
程序员的道 浏览:926
云服务器不实名违法吗 浏览:558
怎样查看文件夹图片是否重复 浏览:995
文件怎么导成pdf文件 浏览:808
打开sql表的命令 浏览:103
安卓手机如何面部支付 浏览:38
天元数学app为什么登录不上去 浏览:825
明日之后为什么有些服务器是四个字 浏览:104
安卓系统l1是什么意思 浏览:26