常见软件加密保护技术简介

2013-03-29 21:11:17 阅读
在这里并不是要系统的讨论软件加密保护技术,只是简单介绍一些和破解相关的软件保护方式,目的是让大家搞清楚哪些是我们解密的对象。

  在这里并不是要系统的讨论软件加密保护技术,只是简单介绍一些和破解相关的软件保护方式,目的是让大家搞清楚哪些是我们解密的对象。有一点是要首先明确的,并不是所有的受限制软件都可以破解的。因为作为破解一方来说,只能是将软件中不允许、受限制的功能变为可用的、没有限制的。如果软件本身就没有某些功能在里面,那么我们是无论如何也没有办法的(除非你自己去写,好像太夸张了一点噢^_^)。
  
  下面是几种常见的软件保护方式:
  
  1. 软件注册:现在有两种免费的软件可以使用,一种是自由软件(freeware),完全免费的,没有任何的使用限制;一种是共享软件(shareware),可以免费试用,如果要得到完全的功能或者服务的话,一般情况下需要注册。现在网上有很多的免费软件,其中共享软件相对来说更多一些,真正免费的午餐还是不多的。有些共享软件没有任何的限制,只是有可能会提示你该注册了,如果不注册的话,并不影响软件的正常使用,不会出现功能限制,但是注册之后会有更多的支持与服务;更多的共享软件都有诸多的限制,比如使用天数限制、有效日期限制、次数限制、功能限制、未注册画面、延迟或干脆禁用软件等等,软件的注册方式具有以下一些形式:
  
  a. 用户ID或注册码;
  
  b. 序列号;
  
  c. 用户名(或用户ID)+ 注册码(或序列号);
  
  d. 用户名+单位名+序列号(或注册码);
  
  以上这几种方式都是将用户输入的信息经过一些特殊的运算,然后和正确的注册信息相比较,如果相同则注册成功。需要说明的是正确的注册信息并不一定是显式存在的,也就是说程序根据我们输入的信息计算出一个结果后,有可能直接和正确的注册信息相比较,也有可能是间接比较的。通常对于那些直接存在于内存中的注册码,我们比较容易破解;但是对于那些隐式存在于内存中的注册码,则需要我们仔细的去跟踪、分析程序,才能得到正确的注册码,对付这类软件通常需要更多的精力和耐心;
  
  注意:这里所指的用户ID可能是用户名,可能是一串软件所带的数字,也有可能就是注册码。。。具体根据不同的软件来定;序列号通常具有以下的形式: XXXXX-XXXXX-XXXXX-XXXXX(这里是随便输入的);
  
  e. 有些软件注册时会在你的电脑里搜集一些信息,让你EMAIL(或邮寄)给软件公司并缴费,然后对方提供给你一个注册码。对于这类软件,通常破解时要彻底搞清楚程序的算法,然后再给出一个破解方案。因为在自己的电脑上简单的得到一个注册码,在其它电脑上并不能用,没有什么意义。
  
  f. 还有一些软件注册时是通过网上或邮寄方式付款,然后对方会提供另外一个注册过的软件,对于这类共享软件我们是没有办法破解的,因为其共享软件本身就缺乏某些功能,要得到功能完全的正式版,唯一的办法就是通过正常的渠道去注册^_^;
  
  g. KEY file保护方式,这类软件的注册并不需要你输入注册码,而是会检查某个文件的有效性,这个文件可能是普通的文本文件,也有可能是软件自己定义的特殊格式文件,我们把这种文件叫做KEY file。
  
  2. 密码保护:这一类也是大家常见的加密保护方式,凡是需要你输入密码(PASSWORD)的地方都属于这类,有应用软件密码、游戏密码、文件密码等等(当然我们的能破解的目标只是其中的一部分了);
  
  3. 磁盘保护:一般是利用软磁盘做成钥匙盘,然后软件运行的时候会去校验软盘中的数据是否正确,例如大家都很熟悉的杀毒软件KV300就是如此;
  
  4. 加密狗:看看现在的报纸杂志,狗声四起,到处都能看到各种各样的狗。所谓的狗,就是插在计算机接口上的一个数字电路,里面存着若干数据,软件通过计算机接口对这部分电路进行操作(读取、修改等),只有正确的狗才能使软件正常运行,从而达到保护软件、防止盗版的目的;
  
  5. 网卡加密:主要是利用网卡的序列号来进行识别,只有随机带的网卡才能正常使用软件;
  
  6. License保护:这种加密多用于大型的商业软件,软件通过正确的License文件运行。License文件都有固定的格式(这里所说的不是有关License的说明性文本文件),一般是一个License对应软件的一个功能模块。如果想要增加软件功能,只要购买相应的模块,得到一个License,然后就可以使用了,软件本身并不需要进行升级;或者是不同的License许可的用户数量不同,有单用户License、多用户License,有单机版License、网络版License等;
  
  7. 软件压缩:就是通常说的加壳,利用专门的压缩软件将应用程序进行压缩,程序文件失去了本来的面目。如果你用反汇编工具反汇编,那么你是什么也看不到的,因为软件本身已经被压缩,并不是真实的可执行文件代码了;
  
  8. 光盘加密(CD KEY):这类保护多用于游戏中,程序运行时要求将原版CD碟放在光驱中,然后输入光盘附带的CD KEY,或者是程序直接检查光盘上的特殊数据(指纹等),由此来判断使用的是否是正版光碟;
  
  9. 还有一些并不属于加密保护之列,但也常常是我们破解的对象。比如游戏中的生命值、经验值、法力值、钱和物品的数量等等(当然了,有很多专用的游戏修改器可以达到这些目的)。

本文关键词:

特别声明

  本网为非营利性普及软件领域法律知识公益网站,所刊讯息仅仅出于传递更多信息之目的及用于学术探讨和实务交流,该等行为既不代表本网所持观点、立场,也不意味着本网对其真实性、准确性进行判断,亦不构成本网出具任何用途之意见或建议。若所刊文章有来源标注错误或冒犯了您的合法权益,请权利人持权属证明与本网联系,我们将及时更正、删除,谢谢。
上一篇:第一页
下一篇:从“利益平衡”的角度看软件的技术保护措施