谈软件的破解和保护

上传人:cn****1 文档编号:431053102 上传时间:2022-07-16 格式:DOCX 页数:6 大小:18.14KB
返回 下载 相关 举报
谈软件的破解和保护_第1页
第1页 / 共6页
谈软件的破解和保护_第2页
第2页 / 共6页
谈软件的破解和保护_第3页
第3页 / 共6页
谈软件的破解和保护_第4页
第4页 / 共6页
谈软件的破解和保护_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《谈软件的破解和保护》由会员分享,可在线阅读,更多相关《谈软件的破解和保护(6页珍藏版)》请在金锄头文库上搜索。

1、谈软件的破解和保护 摘要:保护知识产权,抵制盗版软件,是现在软件业所面临的迫切问题。现在绝大多数软件全部采取了加密技术来应对,本文分析了软件破解中多个主要的专业术语和常见的软件破解方法,并详细介绍了软加密和硬加密技术。关键词:知识产权,软件加密,软件破解1、引言 开发软件时,尤其当用到商业用途时,注册码和激活码是很主要的,未注册的用户会加上一些限制,如使用天数,延迟,未注册画面等等。不过现在的软件破解技术十分强大,多种我国外大型软件全部有注册机制,却同时也不停地被破解,国家一再加大力度,打击非法软件出版物,扶持正版软件,但实际效果并不理想。大多的软件商选择了购置加密产品或加密技术来保护自己的软

2、件,软件保护通常分为软加密和硬加密。 2、常见的软件破解方法 首先我们来了解一下破解中多个主要的专业术语。 (1)断点,所谓断点就是程序被中止的地方,中止就是因为有特殊事件发生,计算机暂停目前的任务,转而去实施另外的任务,然后再返回原先的任务继续实施。解密的过程就是等到程序去获取我们输人的注册码并准备和正确的注册码相比较的时候将它中止下来,然后我们经过分析程序,找到正确的注册码。 (2)领空,所谓程序的领空,就是程序自己的领土地盘,也就是我们要破解的程序自己程序码所处的位置。每个程序的编写全部没有固定的模式,因此我们要在想要切人程序的时候中止程序,就必需不依靠详细的程序设置断点,也就是我们设置

3、的断点应该是每个程序全部会用到的东西。 (3)API,即Application Programming Interface的简写,我们叫应用程序编程接口,是一个系统定义函数的大集合,它提供了访问操作系统特征的方法。API包含了几百个应用程序调用的函数,这些函数实施全部必需的和操作系统相关的操作,如内存分配、向屏幕输出和创立窗口等,WINDOWS程序以API为基础来实现和系统打交道。不论什么样的应用程序,其底层最终全部是经过调用多种API函数来实现多种功效的。 了解了以上三个专业术语后,我们看下基础的软件破解方法。 2.1暴力破解法。这是最常见的也是最简单的破解方法,破解者直接利用xx工具对可实

4、施文件进行修改,也就是说经过修改可属性程序的源文件来达成破解目标。一些元件在验证用户注册信息和注册码时候,假如用户输人的信息和软件经过的算法生成的注册码相等,程序就会注册成功,不然就会注册失败。 2.2利用算法注册机。算法注册机是要在分析了软件的注册码算法的基础上,制作出来的一个能够自动生成软件注册码的程序。因此软件的算法很主要,通常软件作者自己也编写,方便软件的销售使用。这类软件加密的特点是一个注册码只能在一台电脑上使用,像和电脑进行了一对一的绑定。使用步骤是首先运行试用的软件,得到本台机器的软件机器码,再用算法注册机算号注册,然后用算法注册机直接算出适宜的注册码,最终用算出来的注册码直接注

5、册。 2.3利用内存破解。我们知道全部正在运行的程序的数据,全部全部要加载到内存中去,软件在进行注册码认证的时候会有个比较的过程,因此我们只须知道所要破解软件的注册码的内存地址,就达成目标了。这种方法的优点是无须花大力气掌握软件注册码的算法,很节约编写内存注册机的时间。步骤是先加载内存注册机,再经过它去取得内存中软件的真实注册码,或修改内存中软件相关的一些数据,来达成破解软件的目标。关键有2种方法,第一个直接从内存中得到注册码,第二种在内存中模拟已注册程序的运行环境。 2.4补丁破解法和文件注册法。补丁破解法是指用相关的补丁程序来修改软件,以达成破解软件的目标。此方法通常是破解软件的验证注册码

6、或时间,基础上全部是修改原程序的判定语句。比如程序试用期是30天,就能够把这个修改掉,来达成无限使用的目标。文件注册法就是把软件的注册内容放到一个文件里,以方便自己或他人用它来注册,关键有注册表导人和注册文件导人两种方法。 3、常见的软件保护方法 3.1注册码。软件的注册码通常全部是一机一个,不能反复。下面我们来看看怎样实现的。 第一步依据硬盘卷标和CPU序列号,生成机器码,首先编写public static string GetDiskVolumeSerialNumber()函数取得设备硬盘的卷标号,其次编写public static string getCpu()函数取得CPU的序列号,最

7、终生成机器码,函数以下: String Number; String public static string getsoftNum() strNum=getCpu+GetDiskVolumeSerialstrsoftNum=strNum.Substring(0, 24);/从生成的字符串中取出前24个字符做为机器码return strsoftNum; 第二步依据机器码生成注册码,需要编写public static string getRegistNum()函数来实现。 第三步。检验注册情况,若没有注册,可自定义试用天数,延迟,未注册画面等等,可编写private void CheckRegi

8、st0 Cpl数来实现。 3.2软加密。所谓软加密就是不依靠尤其硬件来实现的对软件的保护技术。目前国际上比较通用的软件全部采取软加密的方法,比如微软的windows系统、杀毒软件等,它的最大优势在于极低的加密成本。现在关键有密码法、计算机硬件校验法、钥匙盘法等。现在比较流行的是使用外壳,外壳分为压缩壳和加密壳,其中压缩壳的保护性比较弱,因此通常采取加密壳,其原理是利用堆栈平衡原理,修改程序人口处代码,使其跳转到壳代码实施解密程序,将原程序代码解密后跳回原程序的OEP继续实施。现在比较强的加密壳采取的是动态解密代码、SMC , IAT加密技术,程序在运行过程中动态解密代码,实施完成后马上删除,而

9、且对IAT加密,当需要调用API时用解密算法算出API的实际地址来调用,更有甚者,壳里有壳。现在常见的比较强的5大壳有:( I ) EncryptPE,其特点是对IAT加密比较强,( 2 ) ASProtect,其特点是采取多层SEH,很轻易把人转晕,( 3) ACProtect,其特点是采取stolen code的措施,( 4 ) Armadillo,其特点是双进程相互检测,(5)themida,其特点是采取虚拟机技术。好的加密效果在于让盗版者在破解被保护的软件时,付出巨大的代价,花费极大的时间精力,最终被迫放弃攻击。 3.3硬加密。硬加密就是我们所说的加密狗或加密锁,是一个插在计算机USB

10、口或并口上的软硬件结合的加密产品,现在绝大部分全部是USB口形式,是基于硬件保护技术,其目标是经过对软件和数据的保护预防知识产权被非法使用,是确保高级软件在市场生命周期中免受盗版侵害的功效强大的工具。加密狗通常全部有几十或几百字节的非易失性存放空间可供读写,现在较新的狗内部还包含了单片机。软件开发者能够经过接口函数和软件狗进行数据交换,来检验软件狗是否插在接口上。加密狗内置的单片机里包含有专用于加密的算法软件,该软件被写人单片机后,就不能再被读出。这么,就确保了加密狗硬件不能被复制。同时,加密算法是不可预知、不可逆的。加密算法能够把一个数字或字符变换成一个整数,如DConvert (6)=67876,DConvert(X)=34567 0 4、结束语 软件破解和软件加密就是矛和盾的关系,好的加密效果在于让盗版者在破解被保护的软件时,付出巨大的代价,花费极大的时间精力,最终被迫放弃攻击。最终我们要认识到软件破解是不道德的,是违法计算机软件保护条例的,现现在软件的大众化、市场化,低价化,也让我们有机会有能力去使用正版软件,因此我们要提升觉悟,力所能及的不使用盗版,以实际行动支持的软件行业发展。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号