月光博客 » 编程开发 » 基于硬件指纹的软件加密和注册技术

基于硬件指纹的软件加密和注册技术

  在软件加密保护技术中,一种常用的保护方法就是基于硬件指纹进行许可授权,本文将详细介绍硬件指纹的具体获取技术,并提供一段演示源代码程序。

  硬件指纹加密,指的是用户免费得到软件并安装后,软件从用户的机器上取得该机器的一些硬件信息(如硬盘序列号、BOIS序列号等等),然后把这些信息和用户授权进行绑定,产生硬件特征码,用户需要将此特征码提交给软件提供商或开发商,软件开发商利用注册机(软件)产生该软件的注册号发给用户,用户通过此注册号可以激活本地授权许可。软件加密虽然加密强度比硬件方法较弱,但它具有非常廉价的成本、方便的使用方法等优点,从而在低成本的共享软件领域广泛应用。

  硬件指纹加密的关键是电脑硬件信息的获取,我们需要通过程序将机器的标识一一读取出来,根据机器的标识,通过一定的算法,对用户进行授权限制。

  目前比较常见的硬件资源包或:硬盘物理序列号、CPU序列号、网卡MAC地址、BIOS序列号、主板序列号等,如果用户的硬件信息发生变化,比如更换了网卡等硬件,则按照一定比例进行判断,比如三分之二的硬件信息没有变化,则表示同一用户。

  下面是使用VB调用Windows的WMI编写的一段硬件指纹获取的演示程序,直接将其另存为VBS后缀文件即可运行。稍加修改即可应用在共享软件里,实现用注册码对软件进行保护的功能。

    MsgValue = ""
    Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
    '获取硬盘序列号
    Set colItems = objWMIService.ExecQuery("SELECT * FROM Win32_PhysicalMedia", , 48)
    For Each objItem In colItems
        MsgValue = MsgValue & vbCrLf & "硬盘 = " & objItem.SerialNumber
    Next
    '获取主板序列号
    Set colItems = objWMIService.ExecQuery("Select * from Win32_BaseBoard", , 48)
    For Each objItem In colItems
        MsgValue = MsgValue & vbCrLf & "主板=" & objItem.SerialNumber
    Next
    '获取CPU ID
    Set colItems = objWMIService.ExecQuery("Select * from Win32_Processor", , 48)
    For Each objItem In colItems
        MsgValue = MsgValue & vbCrLf & "CPU = " & objItem.ProcessorId
    Next
    '获取BIOS序列号
    Set colItems = objWMIService.ExecQuery("Select * from Win32_BIOS", , 48)
    For Each objItem In colItems
        MsgValue = MsgValue & vbCrLf & "BIOS= " & objItem.SerialNumber
    Next
    '获取网卡MAC地址
    Set colItems = objWMIService.ExecQuery("SELECT MACAddress FROM Win32_NetworkAdapter WHERE ((MACAddress Is Not NULL) AND (Manufacturer <> 'Microsoft'))", , 48)
    For Each objItem In colItems
        MsgValue = MsgValue & vbCrLf & "网卡 = " & objItem.MACAddress
    Next
    Wscript.Echo MsgValue

基于硬件指纹的软件加密和注册技术

顶一下 ▲()   踩一下 ▼()

相关文章

  1. 1
    九月   说道:
    第一次这么靠前O_O
    支持(12反对(3回复
  1. 2
    二十一   说道:
    一天来几次,总是感觉还有的看
    支持(7反对(2回复
  1. 3
    afan   说道:
    这种技术应用还是比较少吧??
    支持(8反对(3回复
  1. 4
    aa   说道:
    是不是传说中的板凳
    支持(9反对(5回复
  1. 5
    Scofield   说道:
    月光是软硬兼施啊
    支持(11反对(7回复

发表留言


点击更换验证码