
目前市面常见的狗技术有圣天诺(Sentinel)和HASP等。现在狗的技术发展很快,针对不同的应用场合有不同的类型,如:
强劲狗: 自由定义算法的高强度加密方案
微狗: 面向单机环境的高强度加密方案
USB狗: USB接口的微狗全兼容产品
软件狗: 面向单机环境的低成本加密方案
网络狗: 面向网络环境的加密方案
卡式狗: 面向网络环境的加密方案
现在的狗一般采取了各种的加密技术,目前较先进的加密技术有如下几种:
①AS技术: API函数调用与SHELL外壳加密结合,即使外壳被破坏,加密程序依然不能正常运行。
②反跟踪:
1.数据交换随机噪声技术:有效地对抗逻辑分析仪分析及各种调试工具的攻击。
2.迷宫技术:在程序入口和出口之间包含大量判断跳转干扰,动态改变执行次序,提升狗的抗跟踪能力。
③抗共享: 可从硬件对抗并口共享器,由开发商选择是否共享狗。
④口令: 可由软件开发商设置32位口令,口令错误将不能对存储区进行读写。
⑤时间闸: 某些狗内部设有时间闸,各种 *** 作必须在规定的时间内完成。狗正常 *** 作用时很短,但跟踪时用时较长,超过规定时间狗将返回错误结果。
⑥单片机: 硬件内置单片机,固化的单片机软件保证外部不可读,从而保证狗不可仿制。
⑦存储器: 提供200字节掉电保持存储器供开发商存放关键数据、配置参数等信息。
1、普通的狗一般是通过读取I/O端口的狗来进行验证的,因此可用SOFTICE或其它调试工具来监视I/O端口。一般常用的指令:
BPIO -h 278 R
BPIO -h 378 R
2、要注意的是,用上面2中所提的方法只能对付一般的应用程序,也就是等级为3 的普通程序,这些程序属于直接读取狗的那一类,基本上使用像 SOFTICE 之类的调试工具就可以轻易的解开了,现在世面 上有不少使用 VxD 来读取狗的程序,VxD 属於等级 0 ,也就是最高等级,理论上是不可能拦截得了的,这也是为什么有许多厂商要使用 .VxD 来读狗的原因。
3、其它常用函数断点
CreateFileA (读狗驱动程序), DeviceIOControl, FreeEnvironmentStringsA (对付HASP非常有效). Prestochangoselector (16-bit HASP’s), ’7242’ 查找字符串 (对付圣天诺).
一般出厂的加密狗都是空狗,如果你需要进行读写 *** 作,那么,需要先写入你需要的一些校验内容,如软件作者的电话号码等,然后在软件中进行读狗来校验狗内数据是否正确。(注:写狗 *** 作不要放在代码中,那样就乌龙了)欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)