导航:首页 > 文档加密 > et加密狗写锁程序

et加密狗写锁程序

发布时间:2024-01-01 19:15:09

‘壹’ 易语言加密狗是什么意思

加密狗是一种用于软件加密的小型外部硬件设备,现在有两种类型的并口和usb接口。加密狗广泛应用于各种软件中。

加密狗是加密锁的另一个名称。目前,新的狗(加密锁)还包含一个单片机,软件开发人员通过接口函数和加密锁交换数据(即读取和写入加密锁),以检查加密锁是否插入接口,或者使用附加在加密锁上的工具直接加密他的exe文件(通常称为“信封”)。

这样,软件开发人员可以在软件中设置多个软件锁,并以加密锁为密钥打开这些锁。如果加密锁没有插入或与加密锁不对应,软件将无法正常执行。

(1)et加密狗写锁程序扩展阅读:

工作原理

加密锁是在软件运行过程中,通过与加密锁交换数据来实现加密的。加密锁内置单片机电路,使加密锁具有判断和分析的处理能力,提高了主动防解密能力,这种加密产品称之为“智能”加密锁。

加密锁的嵌入式单片机包含加密算法软件,软件写入单片机后,不能再读出。这样就无法复制加密锁硬件,同时加密算法具有不可预测性和不可逆性。

加密算法可以将数字或字符转换为整数,例如dogconvert(1)=17345,dogconvert(a)=43565。

所以可以重写原始程序如下:a=fx(dogconvert(1)-17342),那么常量3将不会出现在原始程序中,而是使用dogconvert(1)-17342。

这样,只有软件编写器知道实际的调用常量是3,如果没有加密锁,则dogConvert函数无法返回正确的结果,结果公式a=fx(dogConvert(1)-17342)肯定不正确。

这种加密方法,使盗版用户得不到软件的使用价值,比警告和制止非法使用的加密方法更温和、更隐蔽、更难破译。

‘贰’ 如何破解加密狗或带加密狗的软件

硬件加密锁,俗程“加密狗”,对于加密狗的破解大致可以分为三种方法,一种是通过硬件克隆或者复制,一种是通过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口的)。一般都有几十或几百字节的非易失性存储空间可供读写,现在较新的狗内部还包含了单片机。软件开发者可以通过接口函数和软件狗进行数据交换(即对软件狗进行读写),来检查软件狗是否插在接口上;或者直接用软件狗附带的工具加密自己EXE文件(俗称"包壳")。这样,软件开发者可以在软件中设置多处软件锁,利用软件狗做为钥匙来打开这些锁;如果没插软件狗或软件狗不对应,软件将不能正常执行。
加密狗通过在软件执行过程中和加密狗交换数据来实现加密的.加密狗内置单片机电路(也称CPU),使得加密狗具有判断、分析的处理能力,增强了主动的反解密能力。这种加密产品称它为"智能型"加密狗.加密狗内置的单片机里包含有专用于加密的算法软件,该软件被写入单片机后,就不能再被读出。这样,就保证了加密狗硬件不能被复制。同时,加密算法是不可预知、不可逆的。加密算法可以把一个数字或字符变换成一个整数,如DogConvert(1)=17345、DogConvert(A)=43565。
加密狗是为软件开发商提供的一种智能型的软件保护工具,它包含一个安装在计算机并行口或 USB 口上的硬件,及一套适用于各种语言的接口软件和工具软件。加密狗基于硬件保护技术,其目的是通过对软件与数据的保护防止知识产权被非法使用。
加密狗的工作原理:
加密狗通过在软件执行过程中和加密狗交换数据来实现加密的.加密狗内置单片机电路(也称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等,因为解密者在触及加密狗的算法之前要面对许多难关
[编辑本段]目前最新的硬件加密原理
随着解密技术的发展,单片机加密狗由于其算法简单,存储空间小,容易被硬复制等原因,正逐渐被市场所淘汰。以北京彩虹天地信息技术股份有限公司为首的国内加密狗厂商研发出稳定性更好、存储空间更大(最大为64K)、有效防止硬克隆的第四代加密狗——“智能卡”加密狗以其独创的“代码移植”原理,已经被国内大型商业软件开发商如金蝶、用友、CAXA、广联达、神机妙算、鲁班……所采用。
以世界上第一款智能卡加密锁——宏狗为例,简单介绍一下“代码移植”原理。
“代码移植”加密原理为一种全新的、可信的软件保护模型,工作原理为:软件中部分代码经过编译,“移植”到加密锁硬件内部,软件中没有该段代码的副本。
在这套软件保护方案中,PC端应用软件的关键的代码和数据“消失”了,被安全地移植到精锐IV型加密锁的硬件中保护起来。在需要使用时,应用软件可以通过功能调用引擎来指令精锐IV运行硬件中的关键代码和数据并返回结果,从而依然可以完成整个软件全部的功能。由于这些代码和数据在PC端没有副本存在,因此解密者无从猜测算法或窃取数据,从而极大程度上保证了整个软件系统的安全性。简言之,精锐IV提供了一套可信的解决方案,从理论上保证软件加密的安全。
加密狗技术的运用案例
1、广联达造价软件
2、清华斯维尔造价软件
3、神机妙算造价软件
4、鲁班造价软件

使用加密狗进行加密的一些策略

现在的解密技术排除法律和道德因素,就从学术角度来说是门科学。它与加密技术一样是相辅相成不断提高。
以下就针对使用加密狗(加密锁)进行硬件保护谈谈几点心得:
针对于使用加密狗的解密有什么方法?
1、硬件复制
复制硬件,即解密者复制Sentinel Superpro相同的加密锁。由于加密锁采用了彩虹公司专用的ASIC芯片技术,因此复制该加密锁非常困难,且代价太大。
2、监听
解密者利用并口监听程序,进行解密,其工作机制是:
监听程序,记录应用程序对并口发的查询串和加密锁发回的响应串。当移去加密锁时,如果程序再对并口发查询串确认身份时,监听程序返回所记录的响应串。程序认为加密锁仍然在并口上,是合法用户继续运行,应用程序也就被解密了。
3、 打印机共享器
将加密锁插在打印机共享器上,多台计算机共同使用打印机共享器上的一把加密锁。(后面简述对抗策略)
4、 DEBUG
解密者DEBUG等反编译程序,修改程序源代码或跳过查询比较。应用程序也就被解密了。
对于以上的几种解密方法加密者可以考虑使用以下几种加密策略:
1、针对上述监听和DEBUG问题解密方法,本人推荐充分利用加密狗开发商的API函数调用的加密策略:
a、 针对并口监听程序
1)对加密锁进行算法查询
Ø 正确的查询响应验证
用户生成大量查询响应对,如200对。在程序运行过程中对激活的加密算法单元随机的发送在200对之中的一对“345AB56E”―――“63749128”。查询串“345AB56E”,哪么算法单元返回的下确的响应串应该是“63749128”,若是,则程序认为加密锁在并口上,是合法用户,继续运行,反之终止程序。
Ø 随机非激活算法验证
我们对非激活的加密锁算法单元发随机生成的查询串,如:“7AB2341”,非激活算法单元只要是有查询就会有响应串。因此返回响应串“7AB2341”,在程序中判断响应串与查询串是否相同,如果相同,则证明我们的加密锁仍然在口上。继续运行程序。
Ø 随机激活算法验证
假设监听程序了解了上面的机制。即对非激活的加密算法我们发什么查询串则返回相同的响应串。哪么我也有对策。对激活的加密算法单元发随机生成的查询串,如:“345AB56E”由于是激活算法响应串肯定与查询串肯定不等。所以假如返回响应串“7253ABCD”,在程序中判断响应串与查询串是否不同,如果不同,则证明我们的加密锁仍然在并口上,继续运行程序。
上面三种加密策略在程序同时使用,相符相承,相互补充。即使监听程序记录下来我们的部分查询响应。
2) 分时查询
用户把查询响应对分组,如120对分为4组。每30对一组。头三个月使用第一组,第二个月三个月使用第二组以此类推,监听程序就算记录了头三个月。第二个月三个月以后程序仍然无法使用。
也可以再生成100对“临时委员”,每次运行随意抽出1对与以上分组结合使用。使记录程序在三个月内也无法记录完全。程序也无法使用。
3) 随机读写存储单元
为了防监听程序。我们的策略是:程序在启动时,我们利用随机函数随机生成的一个数,假设是“98768964”。我们在指定的18#单元写入这个数。哪么我们在程序运行中,每调用一个功能程序前读取18#单元,数判定是否是我们写入的数“98768964”。因为每次写入的数是随机生成的,所以监听程序记录不到当次启动时写入的随机数,它返回的数肯定是一个不匹配的数。我们就可以就此判定是否是合法用户。Sentinel Superpro加密锁可以重复写10万次以上。也就是说每天写三次也可以使用一百年。
2、 针对打印共享器的加密策略
为了防打印共享器。我们的策略是:程序在启动时,我们利用随机函数随要生成的一个数,假设是“7762523A”。我们在指定的34#单元写入这个数。哪么在程序运行中,每调用一个功能程序前读取34#单元,以判定是否是我们写入的数“7762523A”。以此判定是否是合法用户。因为每次写入的数随机生成的,同时使用打印共享器的其他非法用户的程序一进入也会写入一个不同的随机数。那么第一个用户的程序在校验是否是第一个用户写入的数时,就会被认为是非法的用户。所以在一个阶段也只是一个程序使用。(例如RAINBOW公司开的Sentinel Superpro加密锁可以重复10万次以上。也就是说每天写三次也就可以使用一百年。)
3、 针对DEBUG跟踪的加密锁的安全策略
1)分散法
针对DEBUG跟踪。在调用每个重要功能模块前,我们建议要对加密锁进行查询,校验身份。如果只在程序开始部分校验身份,DEBUG跟踪程序部分可以轻易的跳过校验部分,而一些不良用户可以在验证后可以将加密锁拔下用在其它计算机。
2)延时法
针对某一具体查询校验,都有三步骤:
Ø 查询得到响应串
Ø 比较响应串和查询串是否匹配
Ø 执行相应的步骤
我们建议以上三个步骤要延时执行。最好鼗三步骤相互远离些,甚至放到不同的子程序或函数中。例如:我们执行“查询得到响应串” 后,相隔50执行“比较响应串和查询串是否匹配”。假如程序需要调用一个函数。哪么我们就在这个函数里执行“执行相应的步骤”。这样程序更难于被破解。
3)整体法
将响应串作为程序中数据使用。
例如:我们有返回值“87611123”,而我们程序需要“123”这个数。我们可以让“87611123”减去“8761000”得到“123”。这样以来任何对加密程序的修改都会使程序紊乱。
4)迷惑法
一般情况下我们的程序执行相应的验证步骤。验证是非法用户就会退出。这样很容易被发现代码特征。我们知道是非法用户后继续执行一些无用的操作使程序紊乱。以迷惑解密者。
以上为现如今软件开发商使用硬件加密狗(加密锁)进行软件保护时可以使用的几种切实可行的几种加密策略。

‘肆’ 怎样安装加密锁驱动程序

一般软件安装时会自动安装驱动软件安装目录里也有相应的驱动程序,如果实在没有,查询一下具体的加密狗型号,然后再去网络相应的驱动。

‘伍’ 加密狗如何破解

本文介绍的是软件加密狗破解的一般思路和方法。做为软件开发者,研究好软件加密的确很重要,不过也很有必要多了解一些关于加密狗解密和破解的知识,加密和破解就像矛和盾一样,对于解密知识了解的越多,那么编写的加密代码就越好,要知道加密永远都比解密要容易的多,只有知己知彼,方能百战百胜。

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

阅读全文

与et加密狗写锁程序相关的资料

热点内容
压缩文件好处 浏览:778
3d266期神童三胆计算法 浏览:186
通过爱思助手怎么下载app 浏览:321
vi命令将文件创在桌面上 浏览:923
程序员做竞价 浏览:696
江苏中小学编程纳入课程 浏览:730
单纯形法包括动态规划算法 浏览:951
cpdf百度网盘 浏览:671
综合布线工程中配线架的算法 浏览:925
单片机硕士论文 浏览:329
股票预测算法现状 浏览:430
程序员三高 浏览:180
pythonfiddle 浏览:215
韩信分油总共有几种算法 浏览:941
程序员思维方案 浏览:970
编译环境要装c盘吗 浏览:648
单片机生成pwm 浏览:206
线上租车有什么app 浏览:908
php程序修改 浏览:684
下列能查找文件或文件夹的操作是 浏览:314