月光博客 » 编程开发 » 利用U盘进行软件加密的方法

利用U盘进行软件加密的方法

  一般的U盘不具备加密的功能,虽然U盘和加密狗外形有一些相似,但是内部完全不一样的,U盘只是一个存储器芯片和简单的附属电路,而现在的智能卡加密狗都具有一个单独的CPU或者加密芯片,可以执行相当复杂的加密算法。

  有的软件开发商有这样一种需求,就是使用U盘发布软件的同时,想要节约成本,防止U盘中的软件被复制,但又不想再购买昂贵的加密狗,因此想要把软件绑定在U盘上执行,当U盘拔下来的时候,软件就不能正常运行,和我先前介绍的绑定硬件指纹相似,使用绑定U盘的方式加密软件。

  在对软件安全不是特别在意的情况下,可以在软件中采用绑定U盘内部ID的方式来实现这种加密,先使用程序将U盘的ID读出来,然后根据这个ID生成License文件,当解密者将U盘内的文件复制到其他电脑的时候,软件执行过程中读取U盘ID失败,因此就无法校验License。

  通常情况下两个U盘的ID是不相同的,因此即使将软件复制到另外一个U盘,软件执行的时候,根据U盘ID验证License,也会出现不匹配的现象,这样就实现了软件绑定U盘的加密方式。

  需要指出的是,这种U盘加密并不算安全,大多数U盘厂商有内部量产工具,可以修改U盘的内部ID号码,这就存在了复制U盘的可能性,但对于普通用户来说,通常没有修改U盘内部ID的能力,因此也具有一定的加密性。

  这个加密方法中,读取U盘ID号的函数的VB源代码如下所示:

    Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
    Set colItems = objWMIService.ExecQuery("Select * From Win32_USBHub")
    For Each objItem In colItems
        a = objItem.DeviceID
        If InStr(a, "VID") Then b = Split(a, "\")
        USB_ID = b(UBound(b))
    Next
 

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

相关文章

  1. 1
    志言堂   说道:
    原来是教授怎么盗版,呵呵
    支持(12反对(7回复
  1. 2
    angnow   说道:
    谢谢月光,学习了!
    支持(12反对(7回复
  1. 3
    宇文星晴   说道:
    那不是还是可以被破解的么
    支持(12反对(7回复
  1. 4
    YoungKing   说道:
    确实不安全
    我自己平时量产的时候每次换一个id
    支持(12反对(8回复
  1. 5
    Yumq   说道:
    听起来不错哦
    支持(12反对(8回复
  1. 6
    wang   说道:
    很有价值 ......................................
    支持(10反对(6回复
  1. 7
    easy   说道:
    同学,不能根据ID产生License么……
    支持(10反对(7回复
  1. 8
    f   说道:
    安全也是有级别的,一般人不会有被处心积虑偷窥的烦恼,简单加密也就足够了
    支持(12反对(9回复
  1. 9
    FORECE   说道:
    原来U盘还有ID
    支持(11反对(9回复
  1. 10
    2547   说道:
    长见识了,谢谢
    支持(11反对(9回复
  1. 11
    Felix   说道:
    最近也在搞U盘软件,多谢分享
    支持(9反对(8回复
  1. 12
    LAVA   说道:
    这个程序好久之前做过,并不是全部U盘都有一个唯一的ID,而且有些山寨U盘出厂全部ID都是相同的.
    U盘真的很容易坏,做的那个项目最后还是用加密狗..
    支持(15反对(14回复
  1. 13
    淘衣馆   说道:
    好像用不上啊~~
    支持(13反对(12回复
  1. 14
    不是俺   说道:
    U盘是易耗品,这个不怎么安全。
    支持(10反对(10回复
  1. 15
    珍珠粉   说道:
    谢谢了。。。。。。
    支持(10反对(10回复
  1. 16
    jack   说道:
    比特平台现在提供基于U盘的绑定方式。可以在模版中设置。
    支持(11反对(11回复
  1. 17
    鬓角之家   说道:
    月光的知识面也真够宽广的。发现了一点小情况,今天是我第三次来月光博客发表评论,通过前两次的留言,我发现我网站的统计里至少每天有60IP来自于这里。
    真的假的 于 2009-6-17 18:47:44 回复
    那你要感谢月光啊,多来踩踩
    支持(10反对(11回复
  1. 18
    歪歪屋啊   说道:
    好短的几行代码啊,回去试试
    支持(9反对(10回复
  1. 19
    WordPress啦   说道:
    收藏了,好文章
    支持(8反对(9回复
  1. 20
    kate   说道:
    难道又是沙发???
    山寨站长站 于 2009-6-17 13:49:59 回复
    你的沙发,我在沙发里面
    andy 于 2009-6-18 22:24:08 回复
    我也在沙发里
    清风无影 于 2009-6-20 14:37:43 回复
    很有山寨的精神
    支持(8反对(11回复
  1. 21
    园子   说道:
    方法是不错

    不过感觉没有必要这样去做

    有很多工具比这个更实用更方便~
    aaa 于 2009-6-17 13:37:42 回复
    能举一个例子吗?
    支持(7反对(10回复
  1. 22
    猫猫的园地   说道:
    纯技术问题哦。
    支持(7反对(10回复
  1. 23
    teloon   说道:
    “winmgmts:\\.\root\cimv2"是什么位置?
    支持(12反对(15回复
  1. 24
    plum   说道:
    一直都想给u盘加密,
    等下试试
    支持(10反对(14回复
  1. 25
    老刁   说道:
    光盘不行了换U盘~其实如果固态硬盘技术普及了价格也低了或许也会被用来做软件载体
    支持(8反对(12回复
  1. 26
    rainsun   说道:
    对现在的U盘很不放心!坏了几个,都是存有重要东西的!我对U盘操作太频繁了!
    支持(9反对(68回复

发表留言