十招教你学会破解
下面谈到了一些在学习解密进程中常常碰到的问题,本人依照自己的体会简单给
大伙儿谈一谈。这些问题关于初学者来讲常常是很需要弄明白的,依照我自己的
学习经历,若是你直接照着很多破解教程去学习的话,多半都会把自己弄得满头
的雾水,因为有很多的概念要么自己不是很清楚,要么全然就不明白是怎么一回
事,因此希望通过下面的讨论给大伙儿必然的帮忙:
1.断点:所谓断点确实是程序被中断的地址,那个词关于解密者来讲是再熟
悉只是了。那么什么又是中断呢?中断确实是由于有特殊事件(中断事件)发生,
运算机暂停当前的任务(即程序),转而去执行另外的任务(中断效劳程序),然
后再返回原先的任务继续执行。打个例如:你正在上班,突然有同窗打告知你他
从外地坐火车过来,要你去火车站接他。然后你就向老板临时请假,赶往火车站
去接同窗,接着将他安置好,随后你又返回公司继续上班,这确实是一个中断进
程。咱们解密的进程确实是等到程序去获取咱们输入的注册码并预备和正确的注
册码相较较的时候将它中断下来,然后咱们通过度析程序,找到正确的注册码。
因此咱们需要为被解密的程序设置断点,在适当的时候切入程序内部,追踪到程
序的注册码,从而达到crack的目的。
2.领空:这是个超级重要的概念,可是也初学者是常常不明白的地址。咱们
在各类各样的破解文章里都能看到领空那个词,若是你弄不清楚到底程序的领空
在哪里,那么你就不可能进入破解的大门。或许你也曾破解过某些软件,但那只
是瞎猫碰着死老鼠罢了(以前我确实是如此的^_^,此刻提及来都不行意思喔!)。
所谓程序的领空,说白了确实是程序自己的地址,也确实是咱们要破解的程序自
己程序码所处的位置。或许你马上会问:我是在程序运行的时候设置的断点,什
么缘故中断后不是在程序自己的空间呢?因为每一个程序的编写都没有固定的
模式,因此咱们要在想要切入程序的时候中断程序,就必需不依托具体的程序设
置断点,也确实是咱们设置的断点应该是每一个程序都会用到的东西。在DOS
时期,大体上所有的程序都是工作在中断程序之上的,即几乎所有的DOS程序
都会去挪用各类中断来完成任务。可是到了WINDOWS时期,程序没有权利直
接挪用中断,WINDOWS系统提供了一个系统功能挪用平台(API),就向DOS
程序以中断程序为基础一样,WINDOWS程序以API为基础来实现和系统打交
道,从而各类功能,因此WINDWOS下的软件破解其断点设置是以API函数为
基础的,即当程序挪用某个API函数时中断其正常运行,然后进行解密。例如
在SOFTICE中设置下面的断点:bpxGetDlgItemText(获取对话框文本),当咱
们要破解的程序要读取输入的数据而挪用GetDlgItemText时,当即被SOFTICE
拦截到,从而被破解的程序停留在GetDlgItemText的程序区,而GetDlgItemText
是处于WINDWOS自己治理的系统区域,若是咱们擅自改掉这部份的程序代码,
那就大祸临头了^_^!因此咱们要从系统区域返回到被破解程序自己的地址(即
程序的领空),才能对程序进行破解,至于如何看程序的领空请看前面的
SOFTICE图解。试想一下:关于每一个程序都会挪用的程序段,咱们可能从那
里找到什么有效的东西吗?(怎么样去加密是程序自己决定的,而不是挪用系统
功能实现的!)
:即ApplicationProgrammingInterface的简写,中文叫应用程序编程接
口,是一个系统概念函数的大集合,它提供了访问操作系统特点的方式。API
包括了几百个应用程序挪用的函数,这些函数执行所有必需的与操作系统相关的
操作,如内存分派、向屏幕输出和创建窗口等,用户的程序通过挪用API接口
同WINDOWS打交道,不管什么样的应用程序,其底层最终都是通过挪用各类
API函数来实现各类功能的。通常API有两中大体形式:Win16和Win32。Win16
是原先的、API的16位版本,用于Windows;Win32是此刻的、API的32位
版本,用于Windows95/98/NT/ME/2000。Win32包括了Win16,是Win16的超
集,大多数函数的名字、用法都是相同的。16位的API函数和32位的API函数
的区别在于最后的一个字母,例如咱们设置如此的断点:bpxGetDlgItemText、
bpxGetDlgItemTextA和bpxGetDlgItemTextW,其中GetDlgItemText是16位API
函数,GetDlgItemTextA和GetDlgItemTextW是32位API函数,而
GetDlgItemTextA表示函数利用单字节,GetDlgItemTextW表示函数利用双字节。
此刻咱们破解中经常使用到的是Win32单字节API函数,确实是和
GetDlgItemTextA类似的函数,其它的两种(Win16API和Win32双字节API函
数)那么比较少见。Win32API函数包括在动态链接库(DynamicLinkLibraries,
简称DLLs)中,即包括在、、和中,这确实是什么缘故咱们要在softice顶用
exp=C:windowssystem等命令行将这些动态链接库导入softice中的缘故。因为
不如此做的话,咱们就无法拦截到系统Win32API函数挪用了。4.关于程序中
注册码的存在方式:破解进程中咱们都会去找程序中将输入的注册码和正确的注
册码相较较的地址,然后通过对程序的跟踪、分析找到正确的注册码。可是正确
的注册码通常在程序中以两种形态存在:显式的和隐式的,关于显式存在的注册
码,咱们能够直接在程序所处的内存中看到它,例如你能够直接在SOFTICE的
数据窗口中看到类似"3"如此存在的注册码(那个地址是随意写的),关于注册码
显式存在的软件破解起来比较容易;可是有些软件的程序中并非会直接将咱们输
入的注册码和正确的注册码进行比较,比如有可能将注册码换算成整数、或是将
注册码拆开,然后将每一名注册码分开在不同的地址一一进行比较,或是将咱们
输入的注册码进行某种变换,再用某个特殊的程序进行验证等等。总之,应用程
序会采取各类不同的复杂运算方式来回避直接的注册码比较,关于这种程序,咱
们通常要下功夫去认真跟踪、分析每一个程序功能,找到加密算法,然后才能破
解它,固然这需要必然的8086汇编编程功底和专门大的耐心与精力。
5.关于软件的破解方式:本人将破解方式分为两大类,即完全破解和暴力破
解。所谓完全破解主若是针对那些需要输入注册码或密码等软件来讲的,若是咱
们能通过对程序的跟踪找到正确的注册码,通过软件本身的注册功能正常注册了
软件,如此的破解称之为完全破解;但如果是有些软件本身没有提供注册功能,
只是提供试用(DEMO),或是注册不能通过软件本身进行(例如需要获取另外
一个专用的注册程序,通过INTERNET的注册等等),或是软件本身的加密技术
比较复杂,软件破解者的能力、精力、时刻有限,不能直接取得正确的注册码,
现在咱们需要去修改软件本身的程序码,即人为改淙砑脑诵蟹较颍庋钠平
獬浦┝ζ平狻?
6.关于破解教程中程序代码地址问题:破解教程中都会放上一部份程序代码
以帮忙讲解程序的分析方式,例如下面的一段程序代码:
......
0167:00408033PUSH00
0167:00408035PUSHEBX
0167:00408036CALL[USER32!EndDialog]
0167:0040803CJMP0040812C
......8.关于如何跟踪程序的问题:初学者在开始学习解密的时候往往不明白怎么
样去跟踪程序,怎么样找到注册码比较的地址,当面对长长的一堆程序代码时显
得惊惶失措。通常软件的程序内部都会利用一个子程序(即CALL********)
去验证咱们输入的注册码正确与否,关于注册码显式存在的程序,一样都会将所
输入的注册码和正确的注册码放进寄放器,然后挪用验证子程序进行判定,将结
果返回,应用程序依照子程序返回的结果决定是不是注册成功,如此的程序常常
具有如下的形式:
****:********MOVEAX,[********](或PUSHEAX等形式)
****:********MOVEDX,[********](或PUSHEDX等形式)
****:********CALL********
****:********TESTEAX,EAX(或TESTAL,AL,或是没有这一
句等形式)
****:********JNZ********(或JZ********等形式)
其中EAX和EDX指向的内存区域确实是咱们输入的注册码和正确的注册码,
那个地址的寄放器EAX和EDX是随意写的,也能够是ECX,EBX,EDI,ESI
等等。关于注册码隐式存在的程序,尽管不能直接看到正确的注册码,可是通常
也是先将所输入的注册码地址放进某个寄放器,然后挪用子程序去验证,破解时
就需要进入子程序去分析注册算法。总之,看到子程序(call********)后面随
着跳转指令(JNZ********或JZ********)的地址咱们就应该提高警戒,多用D
EAX(或EBX、ECX、EDX、EDI、ESI...等)去看看寄放器指向的内存区域藏
着什么东西。有一点大伙儿要提示大伙儿:看见程序中利用下面那个函数是要注
意,即GetDlgItenInt,那个API函数的作用是将输入的文本转化为整数,因此这
种程序中是可不能有显示存在的注册码的,因为注册码被转换为整数了,程序通
常会用CMPECX,EDX这种类型的指令去验证注册码的正确性,那个地址ECX
和EDX中存的确实是所输入注册码和正确注册码的整数形式,现在能够用?edx
和?ecx看到其十进制形式,即咱们输入的形式。
9.关于软件的反安装问题:常常咱们利用某些软件时都会碰到一个问题,确
实是共享软件过时以后即便删掉原程序从头安装,程序仍然不能用,仍是一样提
示你试用期已过请注册;或是你已经破解了某个软件,可是还想继续研究它,可
是因为软件已经注册好,没有了注册选项,这时你即便完全删掉程序再从头安装
软件,结果程序运行后仍是注册过的。碰到如此的情形,其实缘故很简单,因为
程序将注册或过时信息存在了系统注册内外,因此简单的从头安装软件是无济于
事的。解决的方法确实是自己删掉注册表中有关的信息,可是因为注册表是
WINDOWS系统工作的基础,若是不警惕就极可能会损坏它而引发系统异样,
因此若是你对注册表不是很熟的话,应该在修改之前备份一下注册表。不论是修
改仍是备份注册表都能够利用WINDOWS下的注册表治理工具"REGEDIT"来进
行,一种方法是在"开始->运行"下输入"regedit"启动它,也能够直接点击
"C:WINDOWS"来运行。大部份的应用软件都会将自己的信息存在如下的途径
中:HKEY_LOCAL_MACHINESoftware、
HKEY_LOCAL_MACHINESoftwareMicrosoft、
HKEY_CURRENT_USERSoftware、HKEY_CURRENT_USERSoftwareMicrosoft
或HKEY_TSoftware下,具体是哪个地址依据不同的程序而有
所不同,只要按上面的顺序确信能找到有关应用程序的键,然后将和用户名及注
册码有关的键值删掉就弄定了。
10.关于破解练习的问题:学习破解需要大量的练习,关于破解目标的选择,
初学者不宜以大型的、闻名的软件为目标,因为这些软件通常加密较为复杂,破
解不易,应该选择一些比较不出名的、小型的和早些时候的共享软件来练习,因
为加密相对简单的软件有利于初学者快速把握破解思想和技术。至于习题的来源
那么很普遍,能够从网上下载,也能够去市面上购买一些共享软件光盘。
在那个地址程序中的代码地址如0167:00408033,其代码段的值(即0167)有
可能依照不同的电脑会有区别,不必然一模一样,但偏移值应该是固定的(即
00408033不变),因此若是看到破解文章里的程序代码的地址值和自己的电脑里
不一样,不要以为弄错地址了,只要你的程序代码正确就可不能有问题。
7.关于如何设置断点的问题:正确适当的设置好断点关于快速有效的解密超
级重要,好的断点设置能够使咱们迅速找到关键的程序段,而不适当的断点那么
会对解密造成没必要要的精力消耗,乃至全然就不能拦截到程序的运行。可是具
体何时用什么断点比较适合很难说,这需要自己用体会去积存,总的说来bpx
hmemcpy那个全能断点对大多数注册码方式的软件都有效,初学者不妨多试试
那个断点(通常我也是用那个断点设置,懒嘛^_^,哈哈。。。)。关于那些需要暴
力破解的非注册码方式的软件,通常咱们应该拦截对话框(如bpxDialogBox)
和消息框(如bpxMessageBox(A))等。不论关于哪一类软件,当咱们设置的断
点均没有成效时,可是试一下bpxlockmytask,那个断点的作用是拦截任何一个
按键的动作,具体经常使用的一些断点设置请参考"破解经常使用断点设置"一
文。另外,在注册码的破解中通常需要输入用户名和注册码,一样说来用户名和
密码都能够随意输入,可是依照我自己的体会,很多软件关于注册码都会逐位的
进行处置,假设输入""这串数字,那么在跟踪程序的时候咱们就无法明白咱们那
时所看到的"78"倒底是哪个"78",因此我比较喜爱用""如此的注册码输入方式,
如此的话就就能够明白程序是在对注册码的哪一名进行运算,一样的关于那些需
要输入较长序列号的软件,输入类似"ABCDEF"如此的序列号较好。只是有一
点大伙儿需要专门的注意:上面讲的注册码输入方式""是针对拦截WIN32API
函数来讲的,假设有些时候直接拦截WIN32API函数难以找到程序的冲破口,
而要借助于"S"指令在内存中寻觅咱们输入的用户名或注册码时,就最好不要采
纳""作为注册码,因为内存中极可能有许多的""字符串,如此咱们没有方法明白
倒底咱们要破解的程序利用的是哪个"",因此咱们应该选择一个不易和内存数据
相同的注册码,比如:(本人喜爱用,意思嘛:去死去死。。。哈哈哈^_^),对应
的搜索指令为:S30:0LFFFFFFFF''。固然,以上只是我个人的适应罢了,具
体用什么样的输入形式能够依照本人的爱好、适应来定,没必要拘泥于某一固定
的模式
本文发布于:2023-03-01 22:30:47,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/1677681048101884.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:怎么破解.doc
本文 PDF 下载地址:怎么破解.pdf
留言与评论(共有 0 条评论) |