现在市场上有一种加密狗的硬件设备,其外形和U盘有一些类似,但它们的内部结构是完全不一样的,U盘仅仅一个存储器芯片和简略的隶属电路,一般不具有加密的功用。
事实上有很多软件开发商为了节省成本,发布软件时运用u盘将他们进行绑定,但是为了避免U盘中的软件被复制,于是将软件绑定在U盘上,与u盘同时运行,U盘拔下的同时软件也就不能运转了。
在对软件安全不是格外介意的情况下,能够在软件中选用绑定U盘内部ID的办法来完成这种加密,先运用程序将U盘的ID读出来,然后依据这个ID生成License文件,当解密者将U盘内的文件仿制到其他电脑的时分,软件履行过程中读取U盘ID失利,因而就无法校验License。
通常来说两个U盘的ID是不同的,所以即便我们能够用软件仿制一个U盘,在U盘ID验证License时,也会呈现不匹配的表象,这样我们就可以完成软件绑定U盘的加密办法。
这里要指出的是,大多数U盘厂商有内部量产东西,能够修正U盘的内部ID号码,这就存在了仿制U盘的可能性,所以U盘加密也并不是特别安全,当然通常情况下普通用户没有修正U盘内部ID的才能,所以这种加密方法也是具有一定的安全性的。
此加密方法下读取U盘ID号的函数的VB源代码如下所示:
1.Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
2.Set colItems = objWMIService.ExecQuery("Select * From Win32_USBHub")
3.For Each objItem In colItems
4.a = objItem.DeviceID
5. If InStr(a, "VID") Then b = Split(a, "\")
6. USB_ID = b(UBound(b))
7.Next
推荐阅读:u盘由什么结构组成:http://jiaocheng.zhuangjiba.com/show-18-85-1.htmL