软件狗(加密狗)是使用在计算机并行口和USB口上的用于软件保护的硬件产品。软件狗(加密狗)采用端口噪声技术,提供100字节的掉电保护存储器,具备反跟踪能力,是经济实用软件保护解决方案的。
软件狗开发套件有两种选型:并口型和USB型。软件开发商可以采用多种方法保护软件,防止软件被非法拷贝使用。软件狗开发套件由以下组件组成:
1. 软件狗
软件狗(加密狗)指安装在并口上或USB口上的硬件加密狗。软件狗(加密狗)是一个可编程、可读写的存储设备,具有100个字节的数据存储区。如果软件狗插在计算机上,您可以通过相应的加密接口函数或开发商工具对加密狗进行访问。
2. 加密接口
软件狗(加密狗)开发套件提供的加密接口是一套包含各种开发语言的程序接口模块,可以嵌在程序的源代码中。您可以在您程序中使用软件狗(加密狗)开发套件提供的加密接口对软件狗(加密狗)进行操作。
3. 开发商工具(DogEdt32.EXE)
软件狗(加密狗)开发商工具可以使开发商方便地对软件狗(加密狗)存储区进行编辑、读取系列号以及连续初始化等操作。
软件狗(加密狗)的基本原理
开发商程序通过调用软件狗开发套件提供的接口模块对软件狗(加密狗)操作,软件狗(加密狗)响应该操作并通过接口模块将相应数据返回给开发商程序。开发商程序可以对返回值进行判定并采取相应的动作。如果返回无效的响应,表明没有正确的软件狗,开发商可以将应用程序终止运行。简要示意如下:
软件狗(加密狗)保护您的软件?
软件狗(加密狗)开发套件提供了两种加密方案:使用Obj、DLL、ActiveX控件或者直接使用外壳工具,请根据您的需求选择方案。
加密方案一:使用Obj、DLL、ActiveX控件
Obj、DLL、ActiveX控件提供了操作软件狗(加密狗)的接口函数,您可以直接在应用程序的源代码里加入这些接口函数的调用,来保护您的一个或者多个软件,然后重新编译您的应用程序。
由您来设置应用程序中调用加密接口的次数以及没有发现软件狗(加密狗)采取的措施。原则上您调用、设置的加密接口越多将更有利于阻止潜在黑客破坏您的软件保护。
加密方案二:使用外壳工具
使用外壳工具对软件保护是一种快速、简单的保护方案。它不象使用接口函数需要对源代码进行改动,而是自动给您的可执行应用程序加了一个保护层。在程序开始运行和运行当中会自动地访问软件狗存在。假如软件狗(加密狗)不存在,用户将看到一个错误提示,该应用程序将不能运行。
特点
软件狗(加密狗)开发套件适用于DOS、Windows 3X/9X/ME/NT/2000/XP、Linux操作系统,支持几乎所有主流编程语言、开发工具。软件狗的主要特点如下:
数据交换随机噪声技术
有效地对抗逻辑分析仪及各种调试工具的攻击,软件狗(加密狗)完全禁止软件仿真程序模拟并口的数据。
迷宫技术
在RC-DL函数入口和出口之间包含大量复杂的判断跳转干扰代码,动态改变执行次序,提升RC-DL的抗跟踪能力。
时间闸
硬件狗(加密狗)内部设有时间闸,各种操作必须在规定的时间内完成。硬件狗正常操作用时很短,但跟踪时用时较长,超过规定时间,硬件狗将返回错误结果。
AS技术
API函数调用与SHELL外壳加密相结合的方式,同时使用能够达到极高的加密强度。RC-DL开发套件在外壳加密工具中与调用的API函数建立了对应关系。这样处理后,程序中调用的API函数只有在有外壳的情况下才能正确运行,而外壳本身隐蔽了对API函数的调用。
抗共享
加密狗可以通过编程的方式实现对抗并口共享器。
存储器
加密狗提供100字节掉电保持数据存储区供开发商存放关键数据、配置参数等信息,可通过RC-DL开发商工具或接口函数对存储区进行读写。
改良的硬件驱动程序
加密狗驱动程序的安装及发布更加方便、快捷,开发商只需使用InstDrv.exe安装驱动程序,硬件即可正常工作。
崭新的硬件狗编辑工具DogEdt32.exe
集成了原有DogEdt32.exe、Reveal.exe、Convert.exe三个工具,并新增错误码查询功能,令硬件狗编辑调试过程更趋简捷、顺畅。
高强度动态库加密方式
在原有加密方式基础上,新增 C语言高强度动态库加密方式,并有效运用动态库认证安全机制,确保动态库调用具有无与伦比的安全性。
支持ActiveX控件
开发商可以在网页中或VB、VC中使用ActiveX控件对硬件狗进行操作。Linux模块
提供了针对Linux内核2.2和2.4版本驱动程序,开发商可以使用Linux模块保护运行于Linux操作系统上的应用程序。