加密狗授权方式介绍.pdf

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
加密狗授权方式介绍 加密狗授权方式介绍 每只加密狗都有一个固定的序列号,并且一般是无法修改的。软件运行时读取加密狗的 序列号进行判断,序列号通过验证后才能正常使用软件。 选购一套加密狗开发套件 我选购了SaftNet 的USB 软件狗,入手后查阅开发资料(不同品牌的加密狗开发资料一般 都不同),整理需要用到的开发资源如下: * SoftDogSetup.dll:提供加密狗驱动相关操作的DLL 需要用到以下方法: (1)获取狗驱动程序安装信息接口函数GetDogDriverInfo,定义如下: int PASCAL GetDogDriverInfo(); 参数:无 返回值: 0 没有安装驱动程序 1 驱动版本相同(并口和usb) 2 USB 驱动版本相同 3 并口驱动版本相同 4 已安装旧版本驱动 (并口和usb) 5 已安装旧版本USB 驱动 6 已安装旧版本并口驱动 7 已安装新版本驱动 (并口和usb) 8 已安装新版本USB 驱动 9 已安装新版本并口驱动 3008 没有管理员权限 (2)驱动安装的函数接口InstDriver,定义如下: Int PASCAL InstDriver(int iFlag); 参数: iFlag = 1 只安装USB 狗驱动 iFlag = 2 只安装并口狗驱动 iFlag = 3 安装并口狗驱动和USB 狗驱动 返回值: 如果运行成功则返回0,否则返回错误值。 (3)驱动卸载的函数接口UninstallDriver,定义如下: int PASCAL UninstallDriver(int iFlag); 参数: iFlag = 1 只卸载USB 狗驱动 iFlag = 2 只卸载并口狗驱动 iFlag = 3 卸载并口狗驱动和USB 狗驱动 返回值: 如果运行成功则返回0 ,否则返回错误值。 * win32dll.dll:提供加密狗读写操作的DLL 需要用到以下方法: (1)DWORD WINAPI DogRead (DWORD dwBytes,DWORD dwAddr,char *pData); 函数返回0 表示读写成功,其它返回值为错误代码。 变量说明: DWORD dwBytes:每次变换或读写操作的字节数 DWORD dwAddr:每次读写操作时狗中的首地址 char * pData :指向变换操作缓冲区的数据指针 实现加密狗授权(C#) 定义SoftDog 类 首先定义一个SoftDog 的静态类,静态类的主要特点如下: * 它们仅包含静态成员。 * 它们不能被实例化。 * 它们是密封的,不可被继承。 * 它们不能包含实例构造函数。 using System; using System.Runtime.InteropServices; namespace HCommon.License { [StructLayout(LayoutKind.Sequential)] public static class SoftDog { } } 然后,使用DllImport 引入使用到的dll 方法,因为参数和返回值都很不友好,所以定义 为private,不直接向外部公开。 /// lt;summarygt; /// 获取狗驱动程序安装信息接口函数GetDogDriverInfo /// lt;/summarygt; [DllImport(quot;SoftDogSetup.dllquot;, CharSet = CharSet.Ansi)] private static extern ushort GetDogDriverInfo() ; /// lt;summarygt; /// 驱动 安装的函数接口InstDriver /// lt;/summarygt; [DllImport(quot;SoftDogSetup.dllquot;, CharSet = CharSet.Ansi)] private static extern ushort InstDriver(ushort flag); /// lt;summarygt; /// 驱动卸载的函数接口UninstallDriver /// lt;/summarygt; [DllImport(quot;SoftDogSetup.dllquot;, CharSet = CharSet.Ansi)] private static extern ushort Uninstall

文档评论(0)

zhanghaiyan12 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档