全球旧事资料 分类
其中56个可以被用户使用,这些单元中的每一个都可以被用为三种类型之一算法、数据值和计数器。
数据值比较好理解,数据值是用户存储在可读写的单元中的数据,就和存储在硬盘里一样,用户可以使用Read函数读出存储单元里面的数据,也可以使用Write函数保存自己的信息到存储单元。
计数器是这样一种单元,软件开发商在其软件中使用Decreme
t函数可以把其值减一,当计数器和某种活动的active算法关联时,计数器为零则会封闭deactive这个算法。
算法单元较难理解一些,算法algorithm是这样一种技术,你用QueryqueryData函数访问它,其中queryData是查询值,上述函数有一个返回值,被加密的程序知道一组这样的查询值返回值对,在需要加密的地方,用上述函数检查狗的存在和真伪。对于被指定为算法的单元,软件上是无法读和修改的,即使你是合法的用户也是如此,我理解这种技术除了增加程序复杂性以外,主要是为了对付使用模拟器技术的破解。
f此加密锁加密狗的所有API函数调用都会有返回值,返回值为0的时候表示成功。
因此,破解思路就出来了,就是使用我们自己的工具如VB、VC等重新编写构造一个和加密狗API一样的DLL动态库文件,里面也包含Read、Write等全部API中包含的函数,使用的参量及返回值和原来的函数一样,所有函数返回零。然后对Query、Read函数进行处理,返回应用软件需要的数值即可。
这个新的DLL文件编写成功后,直接替换掉原来的DLL文件,这时候再运行应用软件,软件访问加密狗的操作就全部会被拦截,拦截程序永远会返回正确的数据给软件,从而实现了模拟加密狗的运行。
以上是目前破解软件加密狗加密锁的一些常见思路,对于这种破解,软件开发者还是有相应的一些对策的。
fr
好听全球资料 返回顶部