浅谈软件的破解与保护

来源 :现代教育教研 | 被引量 : 0次 | 上传用户:luffyzero88
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  
  保护知识产权,抵制盗版软件,是目前中国软件业所面临的迫切问题。目前绝大多数软件都采取了加密技术来应对,本文分析了软件破解中几个重要的专业术语和常见的软件破解方法,并具体介绍了软加密和硬加密技术。
  1.引言
  开发软件时,尤其当用到商业用途时,注册码和激活码是非常重要的,未注册的用户会加上某些限制,如使用天数,延迟,未注册画面等等。但是现在的软件破解技术十分强大,各种国内外大型软件都有注册机制,却同时也不断地被破解,国家一再加大力度,打击非法软件出版物,扶持正版软件,但实际效果并不理想。大多的软件商选择了购买加密产品或者加密技术来保护自己的软件,软件保护一般分为软加密和硬加密。
  2.常见的软件破解方法
  2.1首先我们来了解一下破解中几个重要的专业术语。
  2.1.1断点,所谓断点就是程序被中断的地方,中断就是由于有特殊事件发生,计算机暂停当前的任务,转而去执行另外的任务,然后再返回原先的任务继续执行。解密的过程就是等到程序去获取我们输人的注册码并准备和正确的注册码相比较的时候将它中断下来,然后我们通过分析程序,找到正确的注册码。
  2.1.2领空,所谓程序的领空,就是程序自己的领土地盘,也就是我们要破解的程序自己程序码所处的位置。每个程序的编写都没有固定的模式,所以我们要在想要切人程序的时候中断程序,就必须不依赖具体的程序设置断点,也就是我们设置的断点应该是每个程序都会用到的东西。
  2.1.3API,即Application Programming Interface的简写,我们叫应用程序编程接口,是一个系统定义函数的大集合,它提供了访问操作系统特征的方法。API包含了几百个应用程序调用的函数,这些函数执行所有必须的与操作系统相关的操作,如内存分配、向屏幕输出和创建窗口等,WINDOWS程序以API为基础来实现和系统打交道。无论什么样的应用程序,其底层最终都是通过调用各种API函数来实现各种功能的。
  2.2了解了以上三个专业术语后,我们看下基本的软件破解方法。
  2.2.1暴力破解法。这是最常见的也是最简单的破解方法,破解者直接利用编辑工具<例如ULTRAEDIT-32>对可执行文件进行修改,也就是说通过修改可属性程序的源文件来达到破解目的。某些元件在验证用户注册信息和注册码时候,如果用户输人的信息与软件通过的算法生成的注册码相等,程序就会注册成功,否则就会注册失败。
  2.2.2利用算法注册机。算法注册机是要在分析了软件的注册码算法的基础上,制作出来的一种可以自动生成软件注册码的程序。所以软件的算法很重要,一般软件作者自己也编写,方便软件的销售使用。这类软件加密的特点是一个注册码只能在一台电脑上使用,像和电脑进行了一对一的绑定。使用步骤是首先运行试用的软件,得到本台机器的软件机器码,再用算法注册机算号注册,然后用算法注册机直接算出合适的注册码,最后用算出来的注册码直接注册。
  2.2.3利用内存破解。我们知道所有正在运行的程序的数据,全部都要加载到内存中去,软件在进行注册码认证的时候会有个比较的过程,所以我们只须知道所要破解软件的注册码的内存地址,就达到目的了。这种方法的优点是无须花大力气掌握软件注册码的算法,非常节省编写内存注册机的时间。步骤是先加载内存注册机,再通过它去获得内存中软件的真实注册码,或修改内存中软件相关的某些数据,来达到破解软件的目的。主要有2种方式,第一种直接从内存中得到注册码,第二种在内存中模拟已注册程序的运行环境。
  2.2.4补丁破解法和文件注册法。补丁破解法是指用相关的补丁程序来修改软件,以达到破解软件的目的。此方法一般是破解软件的验证注册码或时间,基本上都是修改原程序的判断语句。比如程序试用期是一个月,就可以把这个修改掉,来达到无限使用的目的。文件注册法就是把软件的注册内容放到一个文件里,以方便自己或别人用它来注册,主要有注册表导人和注册文件导人两种方式。
  3.常见的软件保护方法
  3.1注册码。软件的注册码一般都是一机一个,不能重复。下面我们来看看如何实现的。
  第一步根据硬盘卷标和CPU序列号,生成机器码,首先编写public static string GetDiskVolumeSerialNum-ber()函数取得设备硬盘的卷标号,其次编写public static string getCpu()函数获得CPU的序列号,最后生成机器码,函数如下:
  String Number; String public static string getsoftNum()
  {strNum-=getCpu+GetDiskVolumeSerial-strsoftNum=strNum.Substring(0, 24);//从生成的字符串中取出前24个字符做为机器码return strsoftNum; }
  第二步根据机器码生成注册码,需要编写public static string getRegistNum()函数来实现。
  第三步。检查注册状况,若没有注册,可自定义试用天数,延迟,未注册画面等等,可编写private void CheckRegist0 Cpl数来实现。
  3.2软加密。所谓软加密就是不依靠特别硬件来实现的对软件的保护技术。当前国际上比较通用的软件都采取软加密的方式,例如微软的windows系统、杀毒软件等,它的最大优势在于极低的加密成本。目前主要有密码法、计算机硬件校验法、钥匙盘法等。目前比较流行的是使用外壳,外壳分为压缩壳和加密壳,其中压缩壳的保护性比较弱,所以一般采用加密壳,其原理是利用堆栈平衡原理,修改程序人口处代码,使其跳转到壳代码执行解密程序,将原程序代码解密后跳回原程序的OEP继续执行。目前比较强的加密壳采用的是动态解密代码、SMC , IAT加密技术,程序在运行过程中动态解密代码,执行完毕后立刻删除,并且对IAT加密,当需要调用API时用解密算法算出API的实际地址来调用,更有甚者,壳里有壳。目前常见的比较强的5大壳有:( I ) EncryptPE,其特点是对IAT加密比较强,( 2 ) ASProtect,其特点是采用多层SEH,很容易把人转晕,( 3) ACProtect,其特点是采用stolen code的办法,( 4 ) Armadillo,其特点是双进程互相检测,(5)themida,其特点是采用虚拟机技术。好的加密效果在于让盗版者在破解被保护的软件时,付出巨大的代价,耗费极大的时间精力,最终被迫放弃攻击。
  3.3硬加密。硬加密就是我们所说的加密狗或加密锁,是一种插在计算机USB口或并口上的软硬件结合的加密产品,目前绝大部分都是USB口形式,是基于硬件保护技术,其目的是通过对软件与数据的保护防止知识产权被非法使用,是保证高档软件在市场生命周期中免受盗版侵害的功能强大的工具。加密狗一般都有几十或几百字节的非易失性存储空间可供读写,现在较新的狗内部还包含了单片机。软件开发者可以通过接口函数和软件狗进行数据交换,来检查软件狗是否插在接口上。加密狗内置的单片机里包含有专用于加密的算法软件,该软件被写人单片机后,就不能再被读出。这样,就保证了加密狗硬件不能被复制。同时,加密算法是不可预知、不可逆的。加密算法可以把一个数字或字符变换成一个整数,如DConvert (6)=67876,DConvert(X)=34567 0
  4.结束语
  软件破解和软件加密就是矛和盾的关系,好的加密效果在于让盗版者在破解被保护的软件时,付出巨大的代价,耗费极大的时间精力,最终被迫放弃攻击。最后我们要认识到软件破解是不道德的,是违法《计算机软件保护条例》的,现如今软件的大众化、市场化,低价化,也让我们有机会有能力去使用正版软件,所以我们要提高觉悟,力所能及的不使用盗版,以实际行动支持中国的软件行业发展。
  
  收稿日期:2011-05-10
  
  
  
其他文献
科学课程要面向全体学生,为每个学生提供公平的学习机会与有效的指导,要充分考虑到每个学生在性别、天资、兴趣、生活环境、文化背景、民族、地区等方面存在的差异,在课程、教材、教学、评价等方面鼓励多样性和灵活性。这既体现了义务教育的公平性原则,保证每个学生有平等的接受科学教育的权利,而且也反映了现代科学教育面向全体的思想。  1.首先教师应该根据教材的内容,适当选择适合小学生的探究主题  当我们学完了教材
期刊
【摘要】本文着重从《三国演义》人物形象的描写中,运用分析、比较的方法,通过具体的事例,表明了刘备与曹操在实现理想的落脚点。实现理想的手段以及在人们心目中的地位三个方面的不同之处和早年得志与大器晚成、求贤若渴与知人善任、任人唯贤三个方面的相同之点,力求对他们作出客观、公正地评价。  【关键词】落脚点;手段;地位;早年得志;大器晚成;求贤若渴;知人善任;任人唯贤     罗贯中写的《三国演义》中,最主
期刊
【摘要】针对英语教学中,有的老师不正确使用多媒体,导致教学低效现象,提出反思与对策。  【关键词】英语教学;多媒体;低效;反思与对策  In the English teaching multimedia usage low effect phenomenon of introspect with counterplan  Guan Fu-feng  【Abstract】Aim at Englis
期刊
研究性学习作为一种极具探索性与革新性的学习方式,对于改变传统学习方式培养学生的语文学习能力有着十分重要的作用。在高中语文教学中开展研究性学习可采用穿插设置“专题研究”课,全面渗透课堂教学使语文教学"研究"化两种形式。  1.在语文教学中 “研究性学习”的可行性  面向21世纪的语文教育,应该是关注人的未来发展的教育,应该为受教育者能够度过幸福的一生奠定必备的语言文化基础。虽然自改革开放以来,我国的
期刊
在教育现代化的进程中,学校的品牌文化形象是引领学校发展的旗帜和灵魂。“四名工程”是学校品牌文化建设的重要组成部分,蕴藏着丰富的人文教育内容,我校通过“读名著、学名人、诵名诗、赏名曲”来展现全校师生奋发向上、开拓进取的精神,展示师生的艺术才华,培养良好习惯,陶养人文情怀,奠定民族底气,铸就完美人格,努力把学校建设成为一个文明校园,和谐校园,书香校园!  1.开展“四名工程”培养良好习惯  学校教育就
期刊
这些年来,不知有多少从事小学语文教学的教师对“如何有效上好小学各学段语文”作了大量的实践和研究,众说纷纭中,“大语文教育观”得到了大多数人的认可。因为它的核心理念在于:语文教学不应局限于课堂这一狭小空间,而应以课堂教学为轴心,向各个领域拓展、延伸,与学校生活、家庭生活、社会生活相结合,从而使孩子的语文素养得以全面提高。这个过程虽然缓慢,但是一旦成功,见效则最为明显。  反思自己二十多年来的语文教学
期刊
课堂教学是全面实施素质教育的主渠道,而主体性教育是素质教育思想的核心。多年来,这一观点已成为共识。现在摆在我们教育工作者面前的问题是:如何通过这一主渠道培养与实现学生的主体性,促进学生合作性学习的形成,即实现这个素质教育思想的核心,《国家体育课程标准》关于“教学中应注意的问题”部分指出:“在教学过程中,要始终体现学生的主体地位,教师应充分发挥学生在学习过程中的主动性和积极性,激发学生的学习兴趣,营
期刊
【摘要】本文通过对初中生如何学习数学做了一些粗浅的探索,旨在帮助学生学好数学起到一个抛砖引导的作用。  【关键词】数学;教法;引导     随着21世纪的到来,改革开放的实践,当今社会无论是经济还是教育都要进行整体改革,尤其是教育,在减负及普及九年义务的政策面前应如何提高教学教育质量。这个问题值得全体人民教师沉思和探讨,下面我谈谈数学活动教学的实践与认识。  1.创设情境,激发兴趣,使课堂教学成为
期刊
我国现行的初中地理教科书的突出特点是区域性和综合性的统一。教材在讲述地理环境之间的关系时,则往往采用孤立地讲地理现象或地理事物,而忽视了地理事物之间的横向比较,不注重表现其中的规律。这样就给学生的学习造成了困难,使其不能较快地掌握,而仅仅是靠死记硬背来加强记忆,不利于帮助学生建立完整、系统的地理知识体系,且容易增强学生的作业负担。怎样解决这个问题?这就需要教师引导学生运用比较法来掌握地理知识。  
期刊
【摘要】万事开头难,语文课如何引导学生迅速进入课堂情景中去?俗话说的好:“良好的开端是成功的一半”,一堂语文课,教师的导入是整个教学过程的开端。教师的导入得好,就能吸引学生迅速进入所教的课文的情境中去,调动学生学习的积极性,唤起学生的求知欲望。让学生迅速了解这堂课学什么,目的是什么,学习重点是什么,从而启动学生思想机器,对学生起到“一石激起千层浪”的效果。同时也为教学过程定下基调,为整堂课教学任务
期刊