青青子衿, 悠悠我心, 但为君故, 沉吟至今
« 使用Google Analytics统计Google AdsenseGoogle手机邮件Gmail Mobile 2.0发布 »

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

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

  硬件指纹加密,指的是用户免费得到软件并安装后,软件从用户的机器上取得该机器的一些硬件信息(如硬盘序列号、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



  除非注明,月光博客文章均为原创,转载请以链接形式标明本文地址

  本文地址:http://www.williamlong.info/archives/1544.html
  • 文章排行:
  • 2.二十一
  • 一天来几次,总是感觉还有的看
  • 2008/10/24 23:12:09   支持(7)反对(2) 回复
  • 3.afan
  • 这种技术应用还是比较少吧??
  • 2008/10/25 0:36:36   支持(8)反对(3) 回复
  • 7.月关
  • 什么跟什么嘛,讲这种东西有什么用?
  • 2008/10/25 10:25:50   支持(7)反对(4) 回复
  • 10.毛鹏程
  • 佩服,佩服。
    希望能认识您,我QQ:275944680
    我希望得到您的帮助!
  • 2009/11/12 17:20:23   支持(8)反对(6) 回复
  • 12.TR
  • 技术比较深奥。。厚道点说我没有看懂。。
  • 2008/10/25 0:51:38   支持(8)反对(7) 回复
  • 13.wrihui
  • 暂时避避风头。这世界上什么人都有。做老实人难啊。
  • 2008/10/25 14:28:21   支持(8)反对(7) 回复
  • 15.yujian
  • 学习了,嘿嘿,刚好我学的是信息安全
  • 2008/10/25 22:06:19   支持(10)反对(9) 回复
  • 16.fengxiong
  • 什么时候能抢到沙发了。。。
  • 2008/10/26 21:49:02   支持(6)反对(5) 回复
  • 17.匿名
  • 月光blog上的广告全被XX了,一个都看不到
  • 2008/10/26 23:03:40   支持(6)反对(5) 回复
  • 18.搞笑
  • 汗。。上面的留言都是什么水平阿。此文介绍的技术就是入门水平,相信只要做过桌面软件的都会吧,而且防盗水平为最末流。。。当然硬件指纹这个标题起的比较有创意。

    服了这个世界。。第三次华山论剑。。呵呵~
  • 2008/10/28 22:49:57   支持(5)反对(4) 回复
  • 19.苹果王
  • 老大,能不能发一个在VBA 中读取机器码,制作注册吗的实例源码给我,学习学习!!!
  • 2008/11/7 11:18:58   支持(6)反对(5) 回复
  • 20.咖啡放点冰
  • 月光将原来的正文内广告换成百度主题了,正文底部也加了主题广告.看来全站都变成百度的了.
    "指纹""识别"这几个词就带出相关的广告.
  • 2008/10/25 12:51:28   支持(7)反对(7) 回复
  • 21.蓝天博客
  • 月光和Google是不是闹翻了,还是因为之前那个威胁要敲诈月光的人起作用了?
  • 2008/10/25 14:26:10   支持(9)反对(9) 回复
  • 22.百度要改名
  • 指纹技术在10年后一定很有钱途
  • 2008/10/25 20:34:37   支持(10)反对(10) 回复
  • 25.小看你
  • 楼上的,你就继续吹吧。我已经写过N个使用你这个AntiDebugLib的软件的注册机了。

    "不能被任何调试工具调试,不能被静态或动态分析,不能从内存中dump出来"。哼哼,在我的眼里你的lib都是源代码。

    实在看不过你才说你几句。BTW,偶是某国际但成员全是中国人的破解组织的member,知道了吧。
  • 2009/6/7 21:41:53   支持(6)反对(6) 回复
  • 26.Heyi
  • sofa,嘿嘿。先抢沙发再发评论耶!
  • 2008/10/24 22:54:59   支持(4)反对(5) 回复
  • 27.蓝天博客
  • 不容易呀。竟然能抢到月光前十名位置。
  • 2008/10/24 23:31:09   支持(4)反对(5) 回复
  • 29.哈哈
  • 有10xN年历史的不值一提的技术..看来楼主不是搞应用软件的。
  • 2008/10/25 8:57:59   支持(4)反对(5) 回复
  • 30.Jamesonang
  • 这个方法的思想是利用某些用户信息来唯一表示一个用户,然后产生1对1的注册码.

    不谈,注册码算法(由唯一的用户信息产生对应的注册码).这个方法还是有些缺点的.

    如果用户拥有多个电脑,但他只有一个合法帐户。这将影响该用户的使用,这个还可以得到改进。

    但如果某人反汇编,把客户端的判断跳转一改,还是被破了. 主要看是否有人愿意花这个时间来破这个程序。

    关键的问题还是可信计算上,好的算法确实难破,但汇编这一层很难有人能逃脱。
  • 2008/10/25 19:23:14   支持(2)反对(3) 回复
  • 31.AntiDebugLIB
  • AntiDebugLIB V2.3 是专门为windows xp/2003/vista sp1/2008(x86)操作系统设计的软件加密工具,它能帮助软件开发者保护他们的应用程序不被高级反编译专家和黑客破解,AntiDebugLIB V2.3内置强大的许可证管理机制,使软件开发者可以安全地发布他们的试用版软件。

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

    一旦应用程序经AntiDebugLIB V2.3加密,它将不能被任何调试工具调试,不能被静态或动态分析,不能从内存中dump出来,也不能被肆意地修改。

    QQ:86029535
  • 2009/4/30 17:19:45   支持(7)反对(8) 回复
  • 32.牛123
  • 呵呵,看见月光转向了百度主题啊。
  • 2008/10/24 22:47:39   支持(8)反对(10) 回复
  • 34.Asharing
  • 看不大懂哦
    每天都来看看
    有什么新鲜的东西
  • 2008/10/25 13:45:46   支持(5)反对(7) 回复
  • 37.zx
  • 硬件加密,看起来很安全的啊。
  • 2008/10/25 16:53:49   支持(6)反对(8) 回复
  • 38.至诚
  • 介绍的很普通呀,期待更好的文章
  • 2009/3/1 9:25:09   支持(5)反对(7) 回复
  • 41.jack
  • 软加密的强度不一定总是比硬件锁的加密方式弱。如果破解者是从跟踪软件运行着手进行破解,底层使用软加密还是硬件锁的难度是一样的。此外,结合服务器认证的所谓双因素加密方式,还具有可追踪、可补救以及与系统集成紧密的优点。加密效果往往比硬件锁更好。
  • 2010/11/18 18:05:30   支持(4)反对(7) 回复
  • 42.斑马
  • 发现月光把GGad全部换成百度ad。是不是预示这又一位名博在放弃GGad,还是这又是月光的一次测试。
  • 2008/10/24 22:49:24   支持(4)反对(8) 回复
  • 45.chonsomseu
  • 博主高人啊!我经常来您的博客,我唯一记住的博客也是您的博客!
  • 2008/10/25 19:19:30   支持(5)反对(9) 回复

发表评论:

 请勿发送垃圾信息、广告、推广信息或链接,这样的信息将会被直接删除。

订阅博客

  • 订阅我的博客:订阅我的博客
  • 关注新浪微博:关注新浪微博
  • 关注腾讯微博:关注腾讯微博
  • 关注认证空间:关注QQ空间
  • 通过电子邮件订阅
  • 通过QQ邮件订阅

站内搜索

热文排行


月度排行

本站采用创作共用版权协议, 要求署名、非商业用途和相同方式共享. 转载本站内容必须也遵循“署名-非商业用途-相同方式共享”的创作共用协议.
This site is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License.