通过前面的文章,我们已经掌握了如下5项技术:
现在我将综合这5项技术,通过配置文件实现多个软件对多个硬件的加密。其实现思路如下:
-
读取配置文件,依次获取需要查询的设备类别。每种设备类别对应ini文件中的一个[Section]。
-
根据设备类别,从配置文件的[Section]中获取查询模式(WDK查询或WMI查询)以及查询编号,然后执行指定查询,获取所有该类设备的特征值。
-
将特征值作为Key,判断其是否出现在当前[Section]中。如果出现,则获取其Value。Value中的每一个bit位代表一个软件或者一个功能点。
-
对Key=Value做HMAC_MD5校验,防止数据被篡改。
-
将获得的所有有效Value相加,得到总的授权软件或者功能点信息。
开发语言:Visual C++
支持平台:Windows
实现功能:采用配置文件实现多个软件对多个硬件的加密
下载地址:
版本历史:
V1.5 2010年05月24日
- 改进配置文件设计。
V1.4 2010年05月11日
- 密文采用BASE64编码输出。
V1.3 2010年04月30日
- 修正微软MSDN例子错误,并增加对虚拟网卡的判断。
V1.2 2010年04月27日
- 加入WMI查询。
V1.1 2010年04月21日
- 改进配置文件设计。
V1.0 2010年04月15日
完成正式版本,具备WDK查询。
接口函数:
INI_DeviceQuery
配置文件格式:
源代码:
INI_DeviceQuery.h
INI_DeviceQuery.cpp