前言:本站为你精心整理了电脑软件的破解和维护范文,希望能为你的创作提供参考价值,我们的客服老师可以帮助你提供个性化的参考范文,欢迎咨询。
摘要:维护学问产权,抵抗盗版软件,是目前中国软件业所面临的迫切问题。目前绝大多数软件都采取了加密技术来应对,本文剖析了软件破解中几个重要的专业术语和常见的软件破解办法,并详细引见了软加密和硬加密技术。
关键词:学问产权,软件加密,软件破解
1、引言
开发软件时,特别当用到商业用处时,注册码和激活码是十分重要的,未注册的用户会加上某些限制,如运用天数,延迟,未注册画面等等。但是如今的软件破解技术非常强大,各种国内外大型软件都有注册机制,却同时也不时地被破解,国度一再加鼎力度,打击非法软件出版物,扶持正版软件,但实践效果并不理想。大多的软件商选择了购置加密产品或者加密技术来维护本人的软件,软件维护普通分为软加密和硬加密。
2、常见的软件破解办法
首先我们来理解一下破解中几个重要的专业术语。
(1)断点,所谓断点就是程序被中缀的中央,中缀就是由于有特殊事情发作,计算机暂停当前的任务,转而去执行另外的任务,然后再返回原先的任务继续执行。解密的过程就是等到程序去获取我们输人的注册码并准备和正确的注册码相比拟的时分将它中缀下来,然后我们经过剖析程序,找到正确的注册码。
(2)领空,所谓程序的领空,就是程序本人的领土地盘,也就是我们要破解的程序本人程序码所处的位置。每个程序的编写都没有固定的形式,所以我们要在想要切人程序的时分中缀程序,就必需不依赖详细的程序设置断点,也就是我们设置的断点应该是每个程序都会用到的东西。
(3)API,即ApplicationProgrammingInterface的简写,我们叫应用程序编程接口,是一个系统定义函数的大汇合,它提供了访问操作系统特征的办法。API包含了几百个应用程序调用的函数,这些函数执行一切必需的与操作系统相关的操作,如内存分配、向屏幕输出和创立窗口等,WINDOWS程序以API为根底来完成和系统打交道。无论什么样的应用程序,其底层最终都是经过调用各种API函数来完成各种功用的。
理解了以上三个专业术语后,我们看下根本的软件破解办法。
2.1暴力破解法。这是最常见的也是最简单的破解办法,破解者直接应用编辑工具<例如ULTRAEDIT-32>对可执行文件停止修正,也就是说经过修正可属性程序的源文件来到达破解目的。某些元件在考证用户注册信息和注册码时分,假如用户输人的信息与软件经过的算法生成的注册码相等,程序就会注册胜利,否则就会注册失败。
2.2应用算法注册机。算法注册机是要在剖析了软件的注册码算法的根底上,制造出来的一种能够自动生成软件注册码的程序。所以软件的算法很重要,普通软件作者本人也编写,便当软件的销售运用。这类软件加密的特性是一个注册码只能在一台电脑上运用,像和电脑停止了一对一的绑定。运用步骤是首先运转试用的软件,得到本台机器的软件机器码,再用算法注册机算号注册,然后用算法注册机直接算出适宜的注册码,最后用算出来的注册码直接注册。
2.3应用内存破解。我们晓得一切正在运转的程序的数据,全部都要加载到内存中去,软件在停止注册码认证的时分会有个比拟的过程,所以我们只须晓得所要破解软件的注册码的内存地址,就到达目的了。这种办法的优点是无须花鼎力气控制软件注册码的算法,十分俭省编写内存注册机的时间。步骤是先加载内存注册机,再经过它去取得内存中软件的真实注册码,或修正内存中软件相关的某些数据,来到达破解软件的目的。主要有2种方式,第一种直接从内存中得到注册码,第二种在内存中模仿已注册程序的运转环境。
2.4补丁破解法和文件注册法。补丁破解法是指用相关的补丁程序来修正软件,以到达破解软件的目的。此办法普通是破解软件的考证注册码或时间,根本上都是修正原程序的判别语句。比方程序试用期是一个月,就能够把这个修正掉,来到达无限运用的目的。文件注册法就是把软件的注册内容放到一个文件里,以便当本人或他人用它来注册,主要有注册表导人和注册文件导人两种方式。
3、常见的软件维护办法
3.1注册码。软件的注册码普通都是一机一个,不能反复。下面我们来看看如何完成的。
第一步依据硬盘卷标和CPU序列号,生成机器码,首先编写publicstaticstringGetDiskVolumeSerialNum-ber()函数获得设备硬盘的卷标号,其次编写publicstaticstringgetCpu()函数取得CPU的序列号,最后生成机器码,函数如下:
StringNumber;StringpublicstaticstringgetsoftNum()
{strNum-=getCpu+GetDiskVolumeSerial-strsoftNum=strNum.Substring(0,24);//从生成的字符串中取出前24个字符做为机器码returnstrsoftNum;}
第二步依据机器码生成注册码,需求编写publicstaticstringgetRegistNum()函数来完成。
第三步。检查注册情况,若没有注册,可自定义试用天数,延迟,未注册画面等等,可编写privatevoidCheckRegist0Cpl数来完成。
3.2软加密。所谓软加密就是不依托特别硬件来完成的对软件的维护技术。当前国际上比拟通用的软件都采取软加密的方式,例如微软的windows系统、杀毒软件等,它的最大优势在于极低的加密本钱。目前主要有密码法、计算机硬件校验法、钥匙盘法等。目前比拟盛行的是运用外壳,外壳分为紧缩壳和加密壳,其中紧缩壳的维护性比拟弱,所以普通采用加密壳,其原理是应用堆栈均衡原理,修正程序人口处代码,使其跳转到壳代码执行解密程序,将原程序代码解密后跳回原程序的OEP继续执行。目前比拟强的加密壳采用的是动态解密代码、SMC,IAT加密技术,程序在运转过程中动态解密代码,执行终了后立即删除,并且对IAT加密,当需求调用API时用解密算法算出API的实践地址来调用,更有甚者,壳里有壳。目前常见的比拟强的5大壳有:
(I)EncryptPE,其特性是对IAT加密比拟强,
(2)ASProtect,其特性是采用多层SEH,很容易把人转晕,
(3)ACProtect,其特性是采用stolencode的方法,
(4)Armadillo,其特性是双进程相互检测,
(5)themida,其特性是采用虚拟机技术。
好的加密效果在于让盗版者在破解被维护的软件时,付出宏大的代价,消耗极大的时间精神,最终被迫放弃攻击。
3.3硬加密。硬加密就是我们所说的加密狗或加密锁,是一种插在计算机USB口或并口上的软硬件分离的加密产品,目前绝大局部都是USB口方式,是基于硬件维护技术,其目的是经过对软件与数据的维护避免学问产权被非法运用,是保证高档软件在市场生命周期中免受盗版损害的功用强大的工具。加密狗普通都有几十或几百字节的非易失性存储空间可供读写,如今较新的狗内部还包含了单片机。软件开发者能够经过接口函数和软件狗停止数据交流,来检查软件狗能否插在接口上。加密狗内置的单片机里包含有专用于加密的算法软件,该软件被写人单片机后,就不能再被读出。这样,就保证了加密狗硬件不能被复制。同时,加密算法是不可预知、不可逆的。加密算法能够把一个数字或字符变换成一个整数,如DConvert(6)=67876,DConvert(X)=345670
4、完毕语
软件破解和软件加密就是矛和盾的关系,好的加密效果在于让盗版者在破解被维护的软件时,付出宏大的代价,消耗极大的时间精神,最终被迫放弃攻击。最后我们要认识到软件破解是不道德的,是违法《计算机软件维护条例》的,现往常软件的群众化、市场化,低价化,也让我们有时机有才能去运用正版软件,所以我们要进步醒悟,力所能及的不运用盗版,以实践行动支持中国的软件行业开展。