预览加载中,请您耐心等待几秒...
1/6
2/6
3/6
4/6
5/6
6/6

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

谈软件的破解与保护【摘要】在进行软件开发的过程中特别是应用到商业领域之中软件对其使用注册码以及激活码的保护方式有着极大的必要性而对于未注册的用户进行软件使用来说软件的使用便会受到一定程度的约束例如使用时间、画面等方面。但就目前来说部分非法目的人员具有着较高的软件破解技术大量具有注册机制的软件被完全破解虽然我国已经在逐渐增大破解软件的打击力度但是其效果并不理想。这也就使得软件的保护只有针对软件来记性加密技术强化。本篇文章主要针对软件的破解以及保护进行了全面详细的探讨以期为我国正版软件的发展作出贡献。【关键词】软件;破解;保护;加密0引言软件的使用在我国的信息网络中起着极其重要的作用部分软件在制作的过程中会耗费大量的精力以及时间而要取得回报便是利用销售软件的方式来将软件贩售给需要使用的人。但是部分人员为了能够免费的使用软件或者为了能够达到非法的目的便对软件的保护机制记性破解使得软件能够不受限制也无需购买的被使用。这不仅对于软件开发者自身的经济利益带来了损害还导致软件开发者失去了继续开发的信心。下文主要针对软件的破解以及开发进行了全面详细的探讨。1常见的软件破解方法首先我们来了解一下破解中几个重要的专业术语。1)断点断点实际上就是程序在运行过程中被中断的环节而导致中断现象出现的原因通常都是由于特殊情况的出现而使得计算机在这一过程中对当前任务进行暂停并且直接执行其他任务之后再返回继续执行。而在这期间进行解密的过程中就是在程序对于注册码进行获取并且开始对注册码进行对比的过程中便完全将这个过程中断下来之后再利用程序分析的方式来迅速的计算出相应的注册码。2)领空领空的意识实际上就是程序自身管理的领土范围内也就是对于程序自身的程序码区域进行处理。每个程序自身在欲行的过程中实际上都没有一个固定的编写方式那么在切入程序或者是中断程序的过程中就不能够依赖程序断点来设置也就是说所设置的断点必须要是每个程序在运行的过程中都会运用到的相应程序。3)API即ApplicationProgrammingInterface的简写这一意思也能够被称之为是程序的编程接口其中所涉及到的定义函数属于一个系统性的集合其中提供了大量系统访问过程中的相应特征。API之中通常会包含至少数百个应用程序的相应函数这部分函数在进行执行期间实际上都是执行的与系统相关的操作例如屏幕输出、内存分配、窗口创建等等从本质上来说WINDOWS程序事实上在运行期间主要就是以API来作为基础来实现与系统的交互性。任何形式的程序实际上其底层都是利用大量的API函数来完成的功能构建以及实现。了解了以上三个专业术语后我们看下基本的软件破解方法。1.1暴力破解法这是最常见的也是最简单的破解方法破解者直接利用编辑工具对可执行文件进行修改也就是说通过修改可属性程序的源文件来达到破解目的。某些元件在验证用户注册信息和注册码时候如果用户输人的信息与软件通过的算法生成的注册码相等程序就会注册成功否则就会注册失败。1.2利用算法注册机算法注册机事实上就是对于软件校对注册码过程中的运算机制进行了分析从而制作出来的一种能够自动计算出注册码的软件。因此软件本身的算法极其重要部分情况下软件自身的作者也会对这类软件进行编写以便于软件的销售工作。这类软件加密的特点是一个注册码只能在一台电脑上使用像和电脑进行了一对一的绑定。使用步骤是首先运行试用的软件得到本台机器的软件机器码再用算法注册机算号注册然后用算法注册机直接算出合适的注册码最后用算出来的注册码直接注册。1.3补丁破解法和文件注册法补丁破解法是指用相关的补丁程序来修改软件以达到破解软件的目的。此方法一般是破解软件的验证注册码或时间基本上都是修改原程序的判断语句。2常见的软件保护方法2.1注册码软件的注册码一般都是一机一个不能重复。下面我们来看看如何实现的。第一步根据硬盘卷标和CPU序列号生成机器码首先编写publicstaticstringGetDiskVolumeSerialNum-ber()函数取得设备硬盘的卷标号其次编写publicstaticstringgetCpu()函数获得CPU的序列号最后生成机器码函数如下:StringNumber;StringpublicstaticstringgetsoftNum(){strNum-=getCpu+GetDiskVolumeSerial-strsoftNum=strNum.Substring(024);//从生成的字符串中取出前24个字符做为