登录
首页 电脑编程
回帖 发帖
正文

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

点击:1539 回复:4

一般的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
----------------------------------------------
此篇文章从博客转发
原文地址: Http://blog.gkong.com/more.asp?id=94157&Name=tianwei
09-07-18 00:40
楼主是做软件的吧,呵呵,试试你的好办法。呵呵
09-07-18 08:11
可以对付一般人。高手是什么加密都能解决的。
09-07-18 19:34
这个就好像是一些软件的加密狗吧
09-07-18 22:07
4楼
该帖内容不符合相关规定!
09-07-30 12:44

工控新闻

更多新闻资讯