微智科技网
您的当前位置:首页软件破解最基本的6个概念

软件破解最基本的6个概念

来源:微智科技网
维普资讯 http://www.cqvip.com 网络・技巧 计算机与网络创新生活 软件破解最基本的6个概念 1.断点 所谓断点就是程序被中断的地方, 这个词对于解密者来说是再熟悉不过 了。那么什么又是中断呢?中断就是由于 有特殊事件发生,计算机暂停当前的任 程序没有权力直接调用中断,WIN- DOWS系统提供了一个系统功能调用 平台(API),就向DOS程序以中断程序 为基础一样,WINDOWS程序以API为 都是相同的。 4.程序中注册码的存在方式 破解过程中我们都会去找程序中将 输入的注册码和正确的注册码相比较的 地方.然后通过对程序的跟踪、分析找到 基础来实现和系统打交道,从而各种功 能。所以WINDWOS下的软件破解其 断点设置是以API函数为基础的,即当 务.转而去执行另外的任务(中断服务程 序)。然后再返回原先的任务继续执行。 打个比方:你正在上班,突然有同学打电 正确的注册码。但是正确的注册码通常 在程序中以两种形态存在:显式的和隐 式的.对于显式存在的注册码,我们可以 直接在程序所处的内存中看到它,例如 你可以直接在SOFTICE的数据窗口中 看到类似“635421657”这样存在的注册 码(这里是随意写的),对于注册码显式 程序调用某个API函数时中断其正常 运行.然后进行解密。例如在SOFTICE 中设置下面的断点:bpx GetDlgltem- Text.当我们要破解的程序要读取输入 的数据而调用GetDlgItemText时,立即 被SOFTICE拦截到,从而被破解的程 序停留在GetDlgltemText的程序区,而 GetDlgItemText是处于WINDWOS自 话告诉你他从外地坐火车过来,要你去 火车站接他。然后你就向老板临时请假, 赶往火车站去接同学,接着将他安顿好, 随后你又返回公司继续上班,这就是一 个中断过程。我们解密的过程就是等到 程序去获取我们输入的注册码并准备和 正确的注册码相比较的时候将它中断下 来,然后我们通过分析程序,找到正确的 注册码。所以我们需要为被解密的程序 存在的软件破解起来比较容易;但是有 些软件的程序中并不会直接将我们输入 的注册码和正确的注册码进行比较,比 如有可能将注册码换算成整数、或是将 注册码拆开,然后将每一位注册码分开 己管理的系统区域,如果我们擅自改掉 这部分的程序代码,那就大祸临头了!所 以我们要从系统区域返回到被破解程序 自己的地方,才能对程序进行破解,至于 怎样看程序的领空请看前面的SOFT— ICE图解。试想一下:对于每个程序都会 调用的程序段.我们可能从那里找到什 么有用的东西吗? 3.API 即Application Programming Inter- 设置断点,在适当的时候切入程序内部, 追踪到程序的注册码,从而达到crack的 目的。 在不同的地方逐一进行比较,或者是将 我们输入的注册码进行某种变换,再用 某个特殊的程序进行验证等等。总之,应 2.领空 这是个非常重要的概念,但是也初 学者是常常不明白的地方。我们在各种 各样的破解文章里都能看到领空这个 用程序会采取各种不同的复杂运算方式 来回避直接的注册码比较,对于这类程 序。我们通常要下功夫去仔细跟踪、分析 每个程序功能,找到加密算法,然后才能 破解它,当然这需要一定的8086汇编编 词,如果你搞不清楚到底程序的领空在 哪里,那么你就不可能进入破解的大门。 或许你也曾破解过某些软件,但那只是 瞎猫碰到死老鼠而已。所谓程序的领空, 说白了就是程序自己的地方,也就是我 们要破解的程序自己程序码所处的位 置。也许你马上会问:我是在程序运行的 face的简写,中文叫应用程序编程接口, 是一个系统定义函数的大集合,它提供 了访问操作系统特征的方法。API包 含了几百个应用程序调用的函数,这些 函数执行所有必须的与操作系统相关的 程功底和很大的耐心与精力。 5.关于软件的破解方式 破解方式分为两大类,即完全破解 和暴力破解。所谓完全破解主要是针对 那些需要输入注册码或密码等软件来说 的.如果我们能通过对程序的跟踪找到 正确的注册码,通过软件本身的注册功 能正常注册了软件,这样的破解称之为 完全破解;但如果有些软件本身没有提 供注册功能,只是提供试用(DEMO),或 操作.如内存分配、向屏幕输出和创建窗 口等.用户的程序通过调用API接口同 时候设置的断点,为什么中断后不是在 程序自己的空间呢?因为每个程序的编 写都没有固定的模式,所以我们要在想 WINDOWS打交道.无论什么样的应用 程序。其底层最终都是通过调用各种 要切入程序的时候中断程序,就必须不 依赖具体的程序设置断点,也就是我们 API函数来实现各种功能的。通常API 有两中基本形式:Winl6和Win32。 Winl6是原来的、API的l6位版本,用 于Windows 3.1:Win32是现在的、API 是注册不能通过软件本身进行或者是软 件本身的加密技术比较复杂,软件破解 设置的断点应该是每个程序都会用到的 东西。在DOS时代,基本上所有的程序 都是工作在中断程序之上的,即几乎所 者的能力、精力、时间有限,不能直接得 到正确的注册码,此时我们需要去修改 软件本身的程序码。 的32位版本,用于Windows 95/98/NT/ ME/2000。Win32包括了Winl6,是 有的DOS程序都会去调用各种中断来 完成任务。但是到了WINDOWS时代, Winl6的超集。大多数函数的名字、用法 <计算机与J回络>2007年第11期/责任编辑:杜磊 

因篇幅问题不能全部显示,请点此查看更多更全内容