软件的保护与破解 同学们老师们大家好,下面由我来为大家简要讲讲软件的保护与破解。 首先我来介绍我们组的成员。 下面介绍我们组介绍的内容。1、何为PE文件;2、常用的软件保护方法;3、调试逆向技术;4、保护我们的软件;5、介绍游戏破解专家3DM。 首先我来介绍一下什么是PE文件。PE文件被称为可移植的执行体是Portable Execute的全称,常见的EXE、DLL、OCX、SYS、COM都是PE文件,PE文件是微软Windows操作系统上的程序文件(可能是间接被执行,如DLL)。 这是PE文件结构示意图。 接下来我们看看常见的软件保护方法。 首先最常用的就是序列号保护了,在安装或使用一些软件时,在软件开始界面常常会弹出要求我们输入序列号的对话框。只有输入了序列号我们才能正常的安装和使用软件。 第二种保护方法就是警告窗口了,有些软件有其试用版,当我们使用试用版时,可能会在程序启动或退出时弹出来,或者在软件运行的某个时刻随机或定时地弹出来,比较烦人。这就是Nag窗口,也就是软件设计者用来不时提醒用户购买正式版本的窗口。 第三种是我们熟知的时间限制,例如在使用FTP时我们会见到如图的提示窗口。上节课的汇报小组中有同学通过修改注册表实现对此保护的破解,我们小组将会用实质的,彻底地办法来破解这种保护。 第四种菜单功能限制,也就是未购买或注册,而未能获得软件全部的功能。实际上该软件的已授权功能已经足够我们使用,所以这种保护常常不会引起我们的重视。 第五种保护方法是KeyFile保护,是一种利用文件来注册软件的保护方式。Key File一般是一个小文件,可以是纯文本文件,也可以是包含不可显示字符的二进制文件,其内容是一些加密过或未加密的数据,其中可能有用户名、注册码等信息。如Rose在安装时就会要求通过KeyFile文件获得安装权限。 第六种保护方式是网络保护,这也是目前比较流行的一种保护技术,其优点是可以将一些关键数据放到服务器上,软件运行时,必须从服务器取得这些数据才能正确运行。拆解的思路是拦截服务器返回的数据包,分析程序是如何处理数据包的。微软的Win8激活使用的便是这种保护方式。 还有最后一种保护方式——CD-Check,也就是程序在启动时判断光驱中的光盘上是否存在特定的文件,如果不存在则认为用户没有正版光盘,拒绝运行。Linux安装时使用的便是这种保护方式。 上面所讲的这些保护措施,都是针对不同软件使用的。它为软件制造商的利益提供了保护,但有些时候我们只是需要简单是使用某些软件,并不要持续的使用。这是破解版软件便为我们提供了很大的便利。那么如何来破解一个别保护的软件呢。 首先我们需要对软件的程序结构、代码、运行方式等进行了解。这就需要软件的调试逆向技术。调试逆向技术有两类:一类是静态分析技术,即从反汇编反编译手段获得程序汇编代码或源代码,然后从程序清单上分析程序流程,了解模块完成功能;另一类是动态分析技术,即利用调试器,如OllyDBG一步一步地单步执行软件。 通过这些技术我们便能一步步分析,慢慢找到软件的破解办法。 当然也破解不会这么简单,软件公司为了维护自身利益,在软件保护的基础上进行加壳、虚拟机保护和反跟踪等方式,增加破解的难度和成本。 加壳就是其实是利用特殊的算法,对EXE、DLL文件里的资源进行压缩。保护程序不被修改或反编译的一段程序 。 虚拟机保护技术,是指将代码翻译为机器和人都无法识别的一串伪代码字节流;在具体执行时再对这些伪代码进行一一翻译解释,逐步还原为原始代码并执行。 反跟踪也是一种增加软件破解难度的方法。 道高一尺魔高一丈,软件公司费尽心机保护自己的软件,却也难敌高超的破解者们孜孜不倦夜以继日的破解。下面我给大家介绍一下游戏破解界的神话,三大妈——3DM。 3DM由一批日语高手和游戏爱好者组成的依靠网站广告生存的民间组织成立于1999-2000年。他们致力于游戏汉化-补丁-游戏贩卖-重整,从一个小民间组织赶超与游侠网平起平坐的论坛。 下面我给大家演示一个利用OllyDbg、PEiD和Hiew进行软件破解的过程。 本文来源:https://www.wddqw.com/doc/99d8584f0b1c59eef9c7b427.html