示例图片三

新闻资讯

联系方式

加密狗复制克隆网
电  话:13528540969
联系人:  刘先生
Email:4642967@qq.com
网  址:www.crackdongle.com
地  址 :广东省深圳市地王大厦38层8801号

当前位置: 网站首页 > 新闻资讯 > 业界资讯
业界资讯

如何破解软件加密狗,dongle

首先用一点儿时间来谈谈什么是加密狗(dongle)dongle经常被认为是硬件保护,它是一个可被附加在计算机并口、串口或USB上的小插件,它包含厂家烧制的EPROM和定制的专用集成电路。

 

dongle保护的的原理就是软件开发者在程序里经常检查dongle中的单元(Cell)的并对比返回值,这种检查可以是直接读单元或者是使用某种内部算法(此时单元受到保护无法直接读)。尽管任何称职的硬件工程师都能很容易地分析出dongle是如何实现的,但是实际上并不用那么麻烦,dongle保护最薄弱的环节在于应用程序要通过dongle厂家提供的函数库来访问dongle,而应用程序和这些函数的连接通常是很弱的,因为软件开发人员不管这些函数如何访问dongle,它只检查函数的返回值是表示成功还是失败,那么只要打补丁让所有函数返回成功即可,而且这些函数通常并不多,从厂家提供的API手册中很容易查到这些函数的定义(参数和返回值)。一般来说dongle解密不需要原来的正版狗。

必须指出从(西方)法律上来说,破解狗与调试独立的程序有一些细微的不同,后者是完全合法的,但前者在德国有被判为非法的案例(即使你已经购买了正版的软件),我不知道我国法律是如何规定的,这种涉嫌侵权的情况当然是民不告、官不纠,好在我们不讨论国产软件,你如果被引渡到美国或德国本站不负任何责任。

下面是一些著名dongle厂商的官方网站,从中可以下载用户手册,应用程序接口(API)和其它相关资料,也可以了解dongle技术的最新进展。

比如说,从彩虹公司提供的API文档中我们可以了解到Sentinel Superpro(以下简称 sspro)的一些情况,sspro64个内存单元(memory cells),其中56个可以被用户使用,这些单元中的每一个都可以被用为三种类型之一:算法、数据值和计数器。

算法(algorithm)是这样一种技术,你用sproQueryqueryData)函数访问它,其中 queryData是查询值,上述函数有一个返回值,被加密的程序知道一组这样的查询值/返回值对,在需要加密的地方,用上述函数检查狗的存在和真伪。对于被指定为算法的单元,软件上是无法读和修改的,即使你是合法的用户也是如此,我理解这种技术除了增加程序复杂性以外,主要是为了对付使用模拟器技术的破解。

数据值和计数器就比较好理解了,数据值用户存储在可读写的单元中的数,用户可以用它存储自己的信息,计数器(counter)是这样一种单元,软件开发商在其软件中使用sproDecrement函数可以把其值减一,当计数器和某种活动的(active)算法关联时,计数器为零则会封闭(deactive) 这个算法。

下面是sspro的所有API函数:

RNBOsproActivate() 激活或反激活一个算法以便它能被RNBOsproQuery()函数使用。

RNBOsproDecrement() 把计数器或一个可读写的单元减一。

RNBOsproExtendedRead() 读任一非隐藏单元的值和连接码(access code)

RNBOsproFindFirstUnit() 查找指定的狗。

RNBOsproFindNextUnit() 查找同一ID的下一个狗。

RNBOsproFormatPacket() 初始化一些数据结构,这个函数必须在其他API函数之前调用。

RNBOsproGetVersion() 返回驱动程序的版本。

RNBOsproInitialize() 驱动程序初始化。

RNBOsproOverwrite() 可以修改除保留单元0007之外的任何单元的值和连接码。

RNBOsproQuery() 提供一个查询值,给应用程序返回一个加密的返回值。

RNBOsproRead() 读非隐藏单元的值。

RNBOsproWrite() 改变某单元的值。

DesKeyAPI函数就更简单了: Dk2DriverInstalled 检查驱动程序是否安装

findDk2 检查DK2狗是否安装

dk2readmemory DK2某个单元的内容

dk2readdowncounter 读计数器的值

dk2decrementDowncounter 计数器减一

具体的函数细节可以查看ssproDeskey的开发者指南

分享到:
点击次数:  更新时间:2018-07-06 10:27:52  【打印此页】  【关闭