几招常用破解方法
上面谈到了一些在学习解密过程中经常遇到的题目,本人凭据自己的经验简单给大家谈一谈。这些题目对于初学者来说常常是很必要搞明确的,凭据我自己的学习履历,如果你间接照着很多破解教程去学习的话,多数都会把自己搞得满头的雾水,由于有很多的概念要么自己不是很清楚,要么根本就不晓得是怎样一回事,以是希望经过上面的讨论给大家肯定的资助:
1. 断点:所谓断点便是步伐被中断的中央,这个词对于解密者来说是再熟习不外了。那么什么又是中断呢?中断便是由于有特别事件(中断事件)产生,计算机暂停当前的使命(即步伐),转而去实行另外的使命(中断服务步伐),然后再返回原先的使命连续实行。打个比喻:你正在上班,忽然有同砚打德律风报告你他从外地坐火车过来,要你去火车站接他。然后你就向老板临时请假,赶往火车站去接同砚,接着将他布置好,随后你又返回公司连续上班,这便是一个中断过程。我们解密的过程便是等到步伐去获取我们输入的注册码并预备和精确的注册码相比力的工夫将它中断下来,然后我们经过分析步伐,找到精确的注册码。以是我们必要为被解密的步伐设置断点,在适当的工夫切入步伐外部,追踪到步伐的注册码,从而到达crack的目标。
2. 领空:这是个十分紧张的概念,但是也初学者是常常不明确的中央。我们在各种各样的破解文章里都能看到领空这个词,如果你搞不清楚到底步伐的领空在那边,那么你就不可能进入破解的大门。或许你也曾破解过某些软件,但那只是瞎猫遇到死老鼠而已(以前我便是如许的^_^,现在提及来都欠好意思喔!)。所谓步伐的领空,说白了便是步伐自己的中央,也便是我们要破解的步伐自己步伐码所处的地位。也许你马上会问:我是在步伐运转的工夫设置的断点,为什么中断后不是在步伐自己的空间呢?由于每个步伐的编写都没有牢固的模式,以是我们要在想要切入步伐的工夫中断步伐,就必需不依赖详细的步伐设置断点,也便是我们设置的断点应该是每个步伐都会用到的工具。在DOS期间,根本上全部的步伐都是工作在中断步伐之上的,即险些全部的DOS步伐都会去调用各种中断来完成使命。但是到了WINDOWS期间,步伐没有权利间接调用中断,WINDOWS体系提供了一个体系功效调用平台(API),就向DOS步伐以中断步伐为底子一样,WINDOWS步伐以API为底子来实现和体系打交道,从而各种功效,以是WINDWOS下的软件破解其断点设置是以API函数为底子的,即当步伐调用某个API函数时中断其正常运转,然落伍行解密。例如在SOFTICE中设置上面的断点:bpx GetDlgItemText(获取对话框文本),当我们要破解的步伐要读取输入的数据而调用GetDlgItemText时,立刻被SOFTICE阻拦到,从而被破解的步伐停顿在GetDlgItemText的步伐区,而GetDlgItemText是处于WINDWOS自己管理的体系区域,如果我们擅自改掉这部分的步伐代码,那就大祸临头了^_^!以是我们要从体系区域返回到被破解步伐自己的中央(即步伐的领空),才气对步伐进行破解,至于怎样看步伐的领空请看前面的SOFTICE图解。试想一下:对于每个步伐都会调用的步伐段,我们可能从那里找到什么有用的工具吗?(怎样样去加密是步伐自己决议的,而不是调用体系功效实现的!)
3. API:即Application Programming Interface的简写,中文叫使用步伐编程接口,是一个体系定义函数的大聚集,它提供了拜访操作体系特征的要领。 API包含了几百个使用步伐调用的函数,这些函数实行全部必需的与操作体系相干的操作,如内存分派、向屏幕输入和创立窗口等,用户的步伐经过调用API接口同WINDOWS打交道,无论什么样的使用步伐,其底层最终都是经过调用各种API函数来实现各种功效的。通常API有两中根本情势:Win16和Win32。 Win16是原来的、API的16位版本,用于Windows 3.1;Win32是现在的、API的32位版本,用于Windows 95/98/NT/ME/2000。Win32包括了Win16,是Win16的超集,大多数函数的名字、用法都是相同的。16位的API函数和32位的API函数的区别在于末了的一个字母,例如我们设置如许的断点:bpx GetDlgItemText、bpx GetDlgItemTextA和bpx GetDlgItemTextW,其中 GetDlgItemText是16位API函数,GetDlgItemTextA和GetDlgItemTextW是32位API函数,而GetDlgItemTextA表示函数使用单字节,GetDlgItemTextW表示函数使用双字节。现在我们破解中常用到的是Win32单字节API函数,便是和GetDlgItemTextA雷同的函数,别的的两种(Win16 API和Win32双字节API函数)则比力少见。 Win32 API函数包含在静态链接库(Dynamic Link Libraries,简称DLLs)中,即包含在kernel32.dll、user32.dll、gdi32.dll和comctl32.dll中,这便是为什么我们要在softice中用exp=C:windowssystemkernel32.dll等下令即将这些静态链接库导入softice中的缘故原由。由于不如许做的话,我们就无法阻拦到体系Win32 API函数调用了。
4. 关于步伐中注册码的存在方法:破解过程中我们都会去找步伐中将输入的注册码和精确的注册码相比力的中央,然后经过对步伐的跟踪、分析找到精确的注册码。但是精确的注册码通常在步伐中以两种形状存在:显式的和隐式的,对于显式存在的注册码,我们可以间接在步伐所处的内存中看到它,例如你可以间接在SOFTICE的数据窗口中看到雷同"297500523"如许存在的注册码(这里是随意写的),对于注册码显式存在的软件破解起来比力容易;但是有些软件的步伐中并不会间接将我们输入的注册码和精确的注册码进行比力,比若有可能将注册码换算成整数、或是将注册码拆开,然后将每一位注册码离开在差别的中央逐一进行比力,或者是将我们输入的注册码进行某种变换,再用某个特别的步伐进行验证等等。总之,使用步伐会采取各种差别的复杂运算方法来回避间接的注册码比力,对于这类步伐,我们通常要下工夫去细致跟踪、分析每个步伐功效,找到加密算法,然后才气破解它,固然这必要肯定的8086汇编编程功底和很大的耐心与精神。
5. 关于软件的破解方法:本人将破解方法分为两大类,即完全破解和暴力破解。所谓完全破解主要是针对那些必要输入注册码或密码等软件来说的,如果我们能经过对步伐的跟踪找到精确的注册码,经过软件本身的注册功效正常注册了软件,如许的破解称之为完全解;但如果有些软件本身没有提供注册功效,只是提供试用(DEMO),或是注册不克不及经过软件本身进行(例如必要获取另外一个专用的注册步伐,经过INTERNET的注册等等),或者是软件本身的加密技能比力复杂,软件破解者的本领、精神、工夫有限,不克不及间接得到精确的注册码,此时我们必要去修改软件本身的步伐码.
6. 关于破解教程中步伐代码地址题目:破解教程中都会放上一部分步伐代码以资助讲解步伐的分析要领,例如上面的一段步伐代码:
......
0167:00408033 PUSH 00
0167:00408035 PUSH EBX
0167:00408036 CALL [USER32!EndDialog]
- 文章作者: 福州军威计算机技术有限公司
军威网络是福州最专业的电脑维修公司,专业承接福州电脑维修、上门维修、IT外包、企业电脑包年维护、局域网网络布线、网吧承包等相关维修服务。
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处 、作者信息和声明。否则将追究法律责任。
TAG:
评论加载中...
|