admin 管理员组

文章数量: 1184232


2024年4月20日发(作者:卵巢囊肿疼痛是不是已经很严重了)

试论软件的破解与保护

摘要:保护正版软件,抵制盗版软件,在中国it行业是一个迫

在眉睫的任务。目前的软件大部分采用了代码加密以及安装采用序

列号的方式来保护自身。本文主要从c#软件、java软件角度来试

论目前的破解与正当保护。以及常见的一些专业的技术分析。

关键词:c#软件破解java软件破解知识产权软件加密软件保护

1 概述

当我们的软件开发完成后用于商业行业时,为了盈利,就需要

设置权限让未购买者不能使用部分功能。这个时候注册码、激活码

编的非常重要,未购买者会加上一些限制,比如使用天数的限制、

部分功能不能正常使用、软件定时提示注册等。但是随之而来的是

软件被破解,现在软件破解技术越来越强大,几乎国内外大型的软

件都有注册机,但是大都不断被破解了,国家大力提倡正版,严厉

打击盗版,但是效果不是很明显。现在大多软件商采取了代码加密、

产品加密等手段来保护自己的软件。

2 常见的软件破解方式

2.1 暴力破解

这是最常见也是最简单的方法。黑客通过一些破解工具(例如

cain and abel)对可以执行的文件.exe进行修改。暴力破解是一

种针对于密码的破译方法,根据组合原理,将数字、字母的组合逐

个推算、测试直到找出真正的密码为止。例如一个密码由5位数字

组成,其可能共有100000种组合,因此最多尝试100000次就能找

到正确的密码。理论上利用这种方法可以破解任何一种密码。暴力

破解对于简单的密码破解,是很有效果的。但是缺陷是耗时长,并

且当密码比较复杂时(数字与字母组合),就不容易破解了。

2.2 算法注册机破解

现在的软件商一般都自己写一些算法来保护自己的产品。比如

数字加密(在原始数据基础上加上一个特定的数,再加上另外的数,

然后在乘以一个数等等,最终得到一个加密后的数据)、字符串加

密(将字符串转码、加上特定字符串等)等。算法注册机是在充分

了解了软件的算法基础上,制作出的一种可以自动生成软件注册码

的程序。因而软件的算法的编写显得非常重要。

2.3 补丁破解以及注册表破解

补丁破解法是指用相关的补丁程序来修改软件,以达到破解软

件的目的。此方法一般是破解软件的验证注册码或时间,基本上都

是修改原程序的判断语句。注册表破解主要是指通过修改注册文

件.reg来达到破解。比如软件试用限制时间是一个月,那么破解者

就可以通过修改注册文件.reg来延长甚至无限制使用软件。

2.4 c#程序破解

众所周知c#里大多的控件是开源的。目前在市场有很多的软件

是通过c#编写的。从商业利益角度上,软件商设置了很多的限制,

但是破解者一样可以长驱直入。reflector(下载地址:

/html/)就是大多破解者选择

的破解工具,利用该软件,可以清楚的看见程序的代码,那么这个

时候软件商写的算法都尽收眼底了。因而破解者可以轻易根据软件

商的算法得出软件注册码。

2.5 java软件破解

在软件编程语言里,java语言是最为安全的一门编程语言。如

果不拿到源代码,几乎不可能破解java程序。但是下载拿到了源

码,如何来修改软件的限制呢?打开java文件发现全是乱码,很

多破解者使用了java反编译工具xjad(下载地址:

/soft/)来破解。通过该工具,

能把编译过后的java文件反编译成正常代码。这样我们的算法就

显得很苍白、无力。

2.6 加密狗破解

硬件加密锁freeeim,俗程“加密狗”,对于加密狗的破解大致

可以分为三种方法,一种是通过硬件克隆或者复制,一种是通过

softice等debug工具调试跟踪解密,一种是通过编写拦截程序修

改软件和加密狗之间的通讯。

3 软件保护方法

从事计算机软件科研开发、技术贸易的高新技术企业通常需要

不断开发和积累企业的技术成果,以保持企业技术的优势,需要保

护好企业拥有的知识产权,以能够利用本企业的知识产权为自身带

来经济利益,否则将会影响企业的生存和发展。高新技术企业大都

是以知识创新开发产品,当知识产品进入市场后,则完全依赖于对

其知识产权的保护,如果没有保护或保护不好,将影响企业大规模

的实施知识开发投资,企业也不可能更好的生存与发展。所以软件

的保护显得特别重要。这里主要介绍以下几点保护措施:

3.1 基于软件的保护

基于软件的保护也可以叫软加密,这是一种不依赖于硬件的保

护。目前比较流行的有

3.1.1 注册码保护。

软件安装时设置安装序列号,比如yinginstall就可以实现该

功能,这样要求用户安装时就必须输入一个合法的序列号。软件安

装成功后,启动运行时通过注册号验证,这时候就要求机器码与注

册验证码完全匹配才能通过。那么机器码怎么获得呢?途径一:可

以根据电脑的mac地址来做,因为一台电脑的mac是唯一的,且不

会重复。途径二:硬盘的卷号以及cpu等信息来生成机器码。途径

三:可以自己写随即方法来生成唯一且不重复的机器码。通过注册

码我们可以来验证该用户的角色,以此来为用户设置权限。

3.1.2 在线注册保护。

目前大多数的软件商采用在线注册来保护软件。应用程序通过

开发商发放的授权码与网络认证服务器建立连接,并调用服务器上

的web service接口完成软件保护工作。因为这种客户端/服务器

模式之前采用了高强度的类似tsl的通讯加密技术,而且服务器远

离软件用户,因此它的软件保护强度可以非常高。当用户在使用软

件的时候,会根据自己电脑硬件的信息来生成一个机器码(注册

码)。而用户必须将机器码(注册码)发给软件商,进行在线注册

(验证),以取得使用权限。这样做的一个好处在于,验证的过程,

用户完全不会接触,因而破解系数就很大。这种保护还有利于软件

商了解市场,他们可以通过后台查看到有多少用户在使用。

3.1.3 基于硬件的软件保护。

硬件的软件保护有很多,其中大家比较熟悉的就有加密狗、加

密锁、光盘、软盘等。那么硬件的软件保护主要有数据加密、注册

认证、访问限制、一些硬件识别等。它给我们带来的好处很多,比

如永赛电脑培训的上级练习就必须要用到光盘才能正常使用,如果

完整拷贝里面东西,没有光盘一样不行,这种安全等级就很高。

3.2 加密狗、加密锁

是一种插在计算机usb口或并口上的软硬件结合的加密产品,

目前绝大部分都是usb口形式,是基于硬件保护技术,其目的是通

过对软件与数据的保护防止知识产权被非法使用,是保证高档软件

在市场生命周期中免受盗版侵害的功能强大的工具。加密狗一般都

有几十或几百字节的非易失性存储空间可供读写,现在较新的狗内

部还包含了单片机。软件开发者可以通过接口函数和软件狗进行数

据交换,来检查软件狗是否插在接口上。加密狗通过在软件执行过

程中和加密狗交换数据来实现加密的.加密狗内置单片机电路(也

称cpu),使得加密狗具有判断、分析的处理能力,增强了主动的反

解密能力。这种加密产品称它为”智能型”加密狗.加密狗内置的

单片机里包含有专用于加密的算法软件,该软件被写入单片机后,

就不能再被读出。这样,就保证了加密狗硬件不能被复制。同时,

加密算法是不可预知、不可逆的。加密算法可以把一个数字或字符

变换成一个整数,如dogconvert(1)=12345、dogconvert(a)=43565。

加密狗是一种智能型加密产品,可以直接插到usb接口上使用。在

基于硬件的软件保护上具有很高的安全性。

3.3 光盘、软盘保护

软件的密钥可以写在可移动的光盘或者软盘之中,就像上面提

到的永赛电脑培训的上机练习就采用到了这种保护。这种措施,只

有当软盘或光盘存在的时候,被保护软件才可以运行,大部分游戏

软件经常采用此种方式。它的基本原理是利用了普通刻录机无法复

制隐藏的密钥而实现的,目前像cryptcd就可以达到这种效果。这

种保护有一些问题:就是光盘易坏。一旦坏了,用户就无法正常使

用了。

4结束语

软件的破解与保护本身就是一对矛盾的关系。软件商穷尽脑汁

的编写保护措施,却最终免不了被破解,对于黑客来说,只是加大

了他们破解难度而已,这是一种不道德的行为。对于现行的中国软

件保护措施较弱的情况下,对于软件使用者,我们应该尽可能的支

持正版,打击破解版,保护软件商利益,尊重it精英的成果;为

我国的it发展做出一份默默的贡献。

参考文献:

[1]中国论文下载中心

/pc-theory/110722/16131

.

[2]《软件设计师教程第三版》胡圣明,褚华.清华大学出版

社.page595.

[3]百度百科/view/.

[4]百度百科/view/.


本文标签: 软件 破解 保护 加密 使用