早就想写一篇关于用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
转载自月光博客 [ http://www.williamlong.info/ ]

转载于:https://www.cnblogs.com/luckeryin/archive/2009/08/25/1553874.html

利用U盘进行软件加密(转)相关推荐

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

    利用U盘进行软件加密的方法 一般的U盘不具备加密的功能,虽然U盘和加密狗外形有一些相似,但是内部完全不一样的,U盘只是一个存储器芯片和简单的附属电路,而现在的智能卡加密狗都具有一个单独的CPU或者加密 ...

  2. 在u盘运行linux系统软件,主编帮你xp系统利用U盘直接运行Linux软件 的步骤【图】...

    然而并是不所有的朋友都会解决xp系统利用U盘直接运行Linux软件 的问题,于是就向我咨询就没有具体的办法来解决xp系统利用U盘直接运行Linux软件 的问题,那么今天我就给大家整理了xp系统利用U盘 ...

  3. xp运行linux软件下载,为你演示xp系统利用U盘直接运行Linux软件 的解决方案

    有很多网友在使用电脑的过程总难免会遇到xp系统利用U盘直接运行Linux软件 的情况.即便很容易处理,还是有朋友不知道xp系统利用U盘直接运行Linux软件 到底如何处理.即便很容易处理,还是有朋友不 ...

  4. u盘运行的linux系统软件,大师练习xp系统利用U盘直接运行Linux软件 的设置教程...

    电脑使用的时间久了,难免会遇到xp系统利用U盘直接运行Linux软件 的情况,经小编研究表明,大部分的朋友还是不会处理xp系统利用U盘直接运行Linux软件 的问题,针对xp系统利用U盘直接运行Lin ...

  5. 【高强度U盘文件夹加密工具】

    高强度U盘文件夹加密工具的加密方法非常简单,它是一款绿色软件,将它下载后解压缩并运行其中的"高强度U盘文件夹加密.exe"可执行文件即可打开它的界面.它分为"快速移动加密 ...

  6. 【miscellaneous】软件加密方法

    原文:http://www.jiamisoft.com/blog/3471-ruanjianjiamifangfa.html 软件行业的加密是软件厂商为了保护软件开发的利润而采取的一种软件保护方式.当 ...

  7. 软件加密与授权管理的概念

    软件加密的是什么,简单来说就是为软件加密以使软件不被盗版.软件保护是针对软件开发者提出的,而软件授权(License)的概念则是同时考虑了开发者和最终用户两方面的感受而提出的."授权(Lic ...

  8. 《软件加密与解密》第三版学习日志二

    一 常见软件保护技术 1.序列保护方式 注册过程一般是用户把自己的私人信息,如用户名.邮件地址.及其特征码等,告诉软件公司,软件公司根据用户的信息利用预先写好的一个计算注册程序,称为注册机keygen ...

  9. u盘排序软件_总有一款U盘适合你

    本文会从各价位及容量性能推荐各种类似的U盘,本人现在手上有3个U盘及一个移动硬盘.分别是16G.32G.64G.2T,都是从以前到现在都在用的.以下从不同价格及性能进行分析,排序不分先后,各个U盘有自 ...

最新文章

  1. 机器学习的若干问题解释
  2. Tengine的Linux下安装和启动
  3. matlab散点拟合系数,matlab离散型数据拟合方程,求系数,哪个大神能说说方法
  4. MySQL查询优化之explain的深入解析
  5. 写给前端工程师的 Flutter 详细教程
  6. mysql-5.7.24 linux下载_Linux下安装mysql-5.7.24
  7. ERROR 2006 (HY000) MySQL server has gone away
  8. Shiro Spring 集成xml配置
  9. 论文阅读-主干网络(2022)-ConvNext:下一代卷积网络
  10. channelsftp实现两个xftp之间文件互传_基于Jsch实现Java操作linux服务器
  11. Atitit nlp用到的技术与常见类库 目录 1. 常用的技术 1 1.1. 语言处理基础技术 分词 相似度等 1 1.2. 新闻摘要 2 1.3. 情感倾向分析 2 1.4. 文章标签 2 1.
  12. CSS盒模型居中方法,看这篇足矣了!
  13. 奔驰4-MATIC和奥迪quattro的区别和共同点是什么(杂记)
  14. 容联语音机器人入选“2019金融AI大数据十大解决方案”
  15. 李开复写给女孩子们的
  16. 可口可乐“昵称瓶”营销操盘手解读社会化营销
  17. iPhone4 iOS 5.1.1 越狱之后必装的插件
  18. Mask R-CNN完整翻译
  19. 视觉伺服控制工具Visual Servoing Platform---VISP(2)----使用ViSP滤波图像。
  20. 面板7.8如何降级到7.7,关闭绕过强制绑定手机账号教程

热门文章

  1. 约瑟夫环java链表_java使用链表实现约瑟夫环
  2. 10个数冒泡排序流程图_C语言 | 冒泡排序
  3. python多线程扫描_python实现多线程扫描网站目录
  4. idea关联mysql失败_Server returns invalid timezone. Go to ‘Advanced‘ tab and set ‘serverTimezon‘
  5. java获取当前系统时间毫秒_java 获取当前系统时间简写 | 学步园
  6. matlab clabel函数用法,CLabel的用法 | 学步园
  7. 阐述Spring security实现用户认证授权的原理----基于session实现认证的方式
  8. python2异步编程_python异步编程 (转载)
  9. win8如何卸载mysql5.0_Win8如何卸载Windows的服务?卸载Windows的服务的方法和步骤
  10. cmake交叉编译android,CMake Android 交叉编译