4.4 KiB
在wmic的项目pri文件中,先加上,include的相对路径
然后,右键,开始添加,新文件
选择
命名WMIC即可
头文件相关,声明result函数,是基于wmic命令行,得到计算机硬件信息的相关结果,而声明的fingerprint函数,是设备指纹,也就是每台设备的,唯一标识; 后续可以,用来做加密和通行证处理; UUID是识别码,而OS相关,是操作系统和版本信息;
GPU相关
CPU和网卡相关
磁盘相关,还有总物理内存
来到cpp源文件,include需要引用到的命名空间,是跟进程管理相关; 而result函数的实现,新建一个QProcess,然后开启wmic相关的指令,只是修改后续的args参数,进而获取到,不同的计算机硬件信息;
而list的函数实现,是可以支持,wmic生成字符,然后通过正则表达式相关,去切割和生成list字符容器; 后续磁盘信息获取,会使用到;
举例说明,打开windows的powershell控制台,直接输入,内置的shell指令,敲击回车
wmic CSPRODUCT get UUID
是可以得到,对应计算机硬件信息的,详情参考Windows WMIC命令使用详解
基于这个计算机的这个机制,实现其他功能逻辑; 获取UUID,OS系统相关的,操作系统和版本信息;
GPU显卡相关
CPU相关
NIC网卡相关
DISKDRIVE物理磁盘相关,可以获取到,磁盘的list字符队列信息;
最后是计算机管理,总物理内存,还有设备指纹相关; 可以发现,fingerprint 设备指纹相关,是基于UUID 这个唯一ID,进行MD5码的哈希转换,得到的数值;
和WMIC类似,在相同目录下,也创建OpenSSL文件夹,还有OpenSSL的pri子项目文件,定义参考深入探索 OpenSSL:概念、原理、开发步骤、使用方法、使用场景及代码示例
然后,参考openssl功能整理完成oepnssl的工程引用,目录如下: bin包含dll动态库文件,lib文件夹包含,运行时lib相关,openssl文件夹中,包含需要被引用的.h头文件
对应的pri子项目文件,也是完成includepath引用相对路径的设置,还有lib的引用关系,bin文件夹中包含的动态库dll文件,跟复制依赖库相关的;
回到dll.pro文件,添加pri子项目引用,保存修改,等待编译完成
然后,回到OpenSSL子项目,右键,新建文件
头文件,主要是,引用openssl库的头文件,还有加解密相关的声明
cpp源文件,相关的include引用,也是加密相关
基于密钥,encrypt加密函数的实现逻辑
也是基于密钥,decrypt解密函数的实现
GetLastError函数,错误码相关的实现,暂时用不上
Qt可以直接回到,欢迎界面,点击New,创建新工程
直接选一个窗体即可
是data数据相关的,命名为dllData
;
编译器,选择64位即可