OD零基础入门级教程.docx

上传人:b****4 文档编号:24611622 上传时间:2023-05-29 格式:DOCX 页数:36 大小:2.60MB
下载 相关 举报
OD零基础入门级教程.docx_第1页
第1页 / 共36页
OD零基础入门级教程.docx_第2页
第2页 / 共36页
OD零基础入门级教程.docx_第3页
第3页 / 共36页
OD零基础入门级教程.docx_第4页
第4页 / 共36页
OD零基础入门级教程.docx_第5页
第5页 / 共36页
点击查看更多>>
下载资源
资源描述

OD零基础入门级教程.docx

《OD零基础入门级教程.docx》由会员分享,可在线阅读,更多相关《OD零基础入门级教程.docx(36页珍藏版)》请在冰豆网上搜索。

OD零基础入门级教程.docx

OD零基础入门级教程

首先,我要声明一下,本教程只局限于不懂破解的朋友,让你们了解并有机会深入破解!

其次,诸位大神请高抬贵手,不要骂我

虽然简易,但我的初衷是让不懂的人更有信心加入破解行列!

最后,我们只需5步,让你了解一个程序被破解。

介绍一下这个软件吧,我写的一个简单的软件,方便初学者容易理解。

程序需要输入正确的帐号和密码才可以登录成功,否则登录失败。

可是我们不知道正确的帐号密码。

(也可以理解成是其他软件注册码)

既然他能提示登录成功与登录失败(或某些软件提示注册码错误),就说明他有一个判断,我们来打开OD载入程序,让他判断所有字符都是成功。

(由于是初级零基础入门级教程,所以不涉及“各种壳”、“暗桩”等等系列干扰新手的元素)

在左上角窗口右键,选择“中文搜索引擎”-“搜索ASCII”

之后搜索(Ctrl+F)输入“登录失败”(也就是你不想看到的东西),找到结果后,我们双击那一行代码。

我们向上找找,这个判断跳转的来源在哪儿。

下图可以看到,在图片最上方的je命令左边有一条线,跳过了成功,指向了失败前面的代码。

我们在这行代码上右键,选择“二进制”-“NOP填充”

就是让这个跳转失效。

那么现在,你所填写的注册码或密码,输入所有字符或不输入任何字符,都是正确的了!

但是还没完,不用我说大家也知道,还需要保存一下~

我们右键,选择“复制到可执行文件”-“所有”

跳转后继续右键“保存文件”,生成一个新的文件,也就是破解补丁,覆盖源文件。

最后,我们来打开刚才保存出来的新程序(也就是我们破解后的程序),是不是真的被破解了?

我们还同样输入“abc”,恭喜,成功破解!

有了第一课的基础,大家是不是想试试身手,那么我们就拿个真实的软件试试身手吧!

这一课,我们要利用第一课假软件的知识,来获得一个真实软件的注册码!

这个软件其他视频教程也借用过,所以我也来借用一下。

*******************************************************************

软件是一个IP搜索工具,有注册项,我们就来拿这个软件获得注册码,只需5步!

注:

(同样是初级软件,不涉及干扰新手学习的各种元素)

下面是注册界面的截图

注册后,截图就有提示出来了,暂且不管他提示的是什么,我们也知道要干什么了,对吗?

好,OD载入程序,同样是按照第一集的步骤,搜索Name(如果第一个不是你要找的字符串,按“b”是查找下一个)

很容易,第二个就找到了刚才提示的字符串,我们双击它!

双击后,我们同样按照第一集的步骤,找到了跳转。

(如果是爆破的话,注意,有两项跳转哦~)

但是今天我们不爆破,玩的是找出注册码,那么我们就不要NOP填充,继续向上找关键CALL

距离最上面跳转处最近的CALL就是关键CALL了,我们在关键CALL的这一行下断点,也可以理解成是“暂停”,选中CALL按下F2

然后按下F9(运行程序),现在输入注册信息(用户名记住,注册码随便写),点击注册。

注册信息在:

File--->Register

点击注册后不要管软件是否注册成功,我们切回OD,按下F8,我们看看OD右下角显示了什么?

对,右下角显示的就是你刚才用户名对应的注册码!

右键--->复制到剪切板--->粘贴到你要保存的地方~

你可以使用你刚才的用户名和你刚刚得到的注册码,来使用正版软件了!

恭喜你,通过第一课和第二课,你已经学会了爆破和获得注册码!

今天要讲的内容加入了“壳”,在这里我推荐新手尽量使用脱壳机进行脱壳。

说到了使用脱壳机,很多人又要吐槽了。

在你们吐槽之前,我要提前解释一下为什么推荐使用脱壳机。

既然是新手,既然是菜鸟,就要利用工具的便利,手动脱壳确实需要学习,但不是现在,现在最重要的是“兴趣”!

有些人要说了“新手就要先学手动脱壳!

那我想说“难道脱壳机是给高手用的?

高手需要脱壳机吗?

先知道了壳是怎么回事,知道有壳与无壳的区别后,慢慢的深入手动脱壳。

今天用到的工具是我写的,内容很简单,就是一个注册工具,用户名与注册码不匹配就会注册失败,如果匹配就会成功。

我们可以利用第一课与第二课的知识进行爆破与获取注册码。

但这个程序有壳……

我们先介绍一下有壳的东西用OD载入后是什么样的,

大家请看下图,各种“非法”“未知”“未定义”……这就是有壳的程序。

所以,我们要养成一个良好的习惯,就是在进行破解之前,一定要先查壳。

我们利用PEID进行查壳,看看他是什么壳。

(正式破解的第一步:

查壳)

我们可以看到下图显示这个程序是UPX的壳。

我们找一个脱PUX壳的工具来进行脱壳。

加壳有压缩的功能,可以称为压缩,那脱壳也可以称为解压缩。

所以下图我们选择“解压缩”进行脱壳。

我们可以看到他脱壳后体积变大了,(截图中的文件我已经重命名,实际脱壳后的文件名不会改变)

那么现在,我们OD载入脱壳后的程序,进行爆破吧!

由于第一课与第二课的基础,我就跳过详细步骤,来到了关键字这里。

其他的似乎不用我多说了,这算个作业吧!

作业内容有两个:

1,爆破它,用户名与注册码不匹配也能注册成功!

2,获取注册码!

Warning:

为了避免非零基础人群感到身体不适、头晕恶心、易怒及粗口,请不要查看以下内容。

说点我认为很重要的东西:

1,首先感谢“Hmily”老大对我这个教程的认可,我会继续努力的!

2,感谢各位朋友的大力支持与评分!

只要你们喜欢,我会继续为大家奉献教程!

3,有部分朋友建议制作视频教程,我在这里解释一下,由于2分钟教程实在太短了,

就不如图文看起来更明白了,所以我还是图文吧。

感谢你们的建议。

4,第四集发布以后,我感觉进度太快了,前三集一共才讲了6分钟,第7分钟开始讲到了“壳”,

所以我觉得还是把进度拉回来,我知道各位都着急成为高手,但是咱们必须一步一个脚印的往前走,争取每学一集都把知识刻在你的脑子里。

新手就像婴儿学走路一样,在走还走不稳的情况下,别着急跑!

把心稳下来学习,步步为赢才是王道!

5,我的教程只是用最有趣最快速方法让你掌握这些的原理,并不适用于所有的软件。

当然,如果你理解了每一集的内容与原理,那么可以说你在学习其他深层知识的时候,也不会那么迷茫了。

起码有我拿着一盏灯在那里等你,为你照亮!

正式开始:

这一集我们讲一讲“篡改内容”,也就是修改软件里的信息。

我们就拿我写软件做试验吧,“搜索利刃_增强版”

我们之前讲过“壳”,也说过正式破解的第一步就必须是查壳。

这个任务交给大家了,你们自己去查有没有壳。

接下来我们就改一下搜索后的标题做教程吧!

请看下图。

我们OD载入,还是直接来到关键字这里,前面步骤跳过(新来的朋友,请看前三集)

我们选中“右键”,选择“立即数”,这里特别注意一下图中的文字解释。

我们可以看到左下角已经转到了立即数的地址。

什么?

和我的不一样?

那请看下图,在左下角窗口右键,你和我的选项一样吗?

我们在ASCII窗口下滑动鼠标选择“吾爱专版”按下空格键

选择“保持大小”,将光标放在ASCII编辑框第一个位置(不需要删除内容,你也删除不了),把光标放在第一个就好了。

如果不选“保持大小”的话,你输入了过多的字符会顶掉后面的内容,那么其他的东西可能就会显示乱码了,甚至程序出错。

我们光标已经在第一个了,那我们就直接输入要修改的内容吧!

我们输入“我爱破解”,

当我们输入完中文以后,这里会显示乱码,不用管他,直接点确定。

如下图

我们可以看到下图已经显示“我爱破解”了,那我们右键,选择“复制到可执行文件”

然后如下图“保存文件”,对,就是第一课的内容又要用到了。

我们的修改成功了吗?

来看看生成出来的新文件!

搜索“无需视频”,点“搜索”,然后看看标题,是不是被你成功修改了?

恭喜你,又学懂了新知识!

提示:

如果你输入的字符长度没有原来的长(如下图,我只输入“破解”两个字),但是又不想看到后面那些你用不到的字符,可以在下图20处输入00(零零),下面的这一大堆“20”就是我成心按了几次空格,用来识别我之前输入到什么位置了,如果不知道自己输入到哪儿了,就可以用我这个方法,按几下空格,这样的话下面的代码也就都是一样的空格,如下图每个20就是一个空格。

(在没有选择“保持大小”的情况下,可以删除字符。

)在HEX处输入00,不是在刚才输入中文的地方哈!

我们可以从左向右选中所有20,输入一次“00”就好了,不用填充满原字符长度!

当然,在选择了“保持大小”后虽然不能删除后面的代码,但只要你输入了“00”那就表示后面的东西你都不要了。

是不是这次又增加了难度?

学习不会永远都那么简单的,多动脑!

你一定行!

今天的作业也不是很难,拿这工具自由发挥修改吧!

然后上图展示一下!

老规矩:

为了统计学习的人数,也为了我的付出能够得到回报,那咱们就规定一下吧。

每集热心值超过30,也就是说有30个人想继续学习下去,我就会继续更新。

暂时使用通俗易懂Warning:

为了避免非零基础人群感到身体不适、头晕恶心、易怒及粗口,请不要查看以下内容。

由于第四课的内容发布后,发现大家有一个特别关心的问题,就是“修改真正的标题”

大家这是要拿我的软件来做牺牲品啊!

好吧,我就追加这么一课!

我估计学完了这一课,你们的成就感大增!

第一课的破解+第四课的篡改内容+第五课的修改标题。

看来你们就要做剽窃大王了。

废话到此为止,开始今天的课程!

只需3步!

我们还是用我的软件做小白鼠,这样不会涉及到第二课的谩骂……

我们先看看原来的标题叫什么,记下来方便我们找到他。

正式破解第一步是什么?

查壳!

我这里略过查壳了,直接OD载入

然后在左下角右键(也就是图中紫色部分,紫色是让大家看的更清楚,不是必须和我选中的一样)

右键--->查找--->二进制字符串

这里就要用到我们在第四集学到的知识了。

我们在ASCII里输入“搜索利刃”进行查找。

请看下图。

输入进去同样是乱码,直接无视!

点击确定后,我们发现他已经找到了一个,但不是我们想要的标题。

所以,我们让OD帮我们找下一个。

看下图

CTRL+L也就是“查找下一个”的快捷键。

第二个我们可以看到,就是标题了。

然后需要怎么做?

这步骤我就省略了。

(新来的朋友请看第四课)

那我们直接看最后我修改的结果。

OK,修改成功。

是不是感觉特别爽?

恭喜你!

这种方法还能改什么?

请看13楼!

自定义作业内容,愿意交作业的朋友可以发上来。

积极帮助其他同学解答问题CB+1或热心值+1

教程用到的软件在这里下载:

的小程序,马上会加入稍微复杂一点的程序,由浅入深。

Warning:

为了避免非零基础人群感到身体不适、头晕恶心、易怒及粗口,请不要查看以下内容。

在没接触壳之前,我们需要学一部分汇编知识,我觉得现在是时候了。

一提到汇编,肯定有99%都要吐了,真的是太枯燥了。

但在我的课里,不会让你感到有那么枯燥就能学到知识。

由于这几天太忙,所以在我临睡觉之前给大家写了这么一课。

凌晨4:

40……

好吧,让我们开始学习汇编吧。

今天要学的内容是“跳转”。

介绍一下软件,这个软件启动后2秒会自动关闭。

为了让零基础人群更容易掌握汇编内容,于是我在关闭的时候加入了“再见”,如图。

有了“再见”这一步,我相信大家都知道该怎么找到他了。

那我就直接OD到这步了。

如图

我们可以看到"再见"上面有个跳转,是需要判断的,如果判断条件不成立,他就会执行到“再见”(也就是程序自动关闭)

当然,如果条件成立,他就会跳过“再见”(跳过关闭)。

那我们可以看到,他的跳转是JNZ,也就是有条件判断的。

为了避免他判断条件不成立的时候关闭程序,我们就要让他永远都是条件成立,无限跳过关闭。

我们应该怎么做?

这就用到了汇编知识!

记住:

JMP是无条件跳转(意思是:

执行到JMP就必须跳,没有选择的余地!

只有JMP跳转是无条件,其余的所有跳转都是有条件的。

关于跳转,我在附件里打包了一张“条件跳转”的图片,请下载查看。

我们可以如下修改

OK,把程序保存出来看看,是不是永远都不自动关闭了?

关于条件跳转是受谁影响,请看附件里的图片,一目了然!

通过这一课,你明白了汇编语言跳转相关命令,这也是爆破必备知识!

虽然这一课的内容是学习汇编,但是我想看看大家举一反三的思维如何。

这一课的作业就是不利用跳转解决这个2秒关闭的问题!

(请回帖附上解决方法的OD截图)

另外我要说一件事,从5月16号,昨天开始,可能要忙上一个月。

我会在这一个月里找时间来给大家写教程,如果实在太累没时间写,大家也别闲着。

多找小程序练习一下,或者看看汇编,看看“小生我怕怕”,生哥的破解教程。

Warning:

为了避免非零基础人群感到身体不适、头晕恶心、易怒及粗口,请不要查看以下内容。

原本我们应该继续汇编学习的,但看到大家最近反映脱壳的问题很强烈。

看来大家已经迫不及待的破解更多程序了。

下面我们就学习一下“ESP定律”,ESP定律是在脱壳中运用最广泛的一种方法,适用于大部分程序脱壳。

什么是ESP定律我们不用深究,就当作是一个名字吧。

今天用到的软件是第三课的程序,稍后我会为大家打包到附件。

我们在第三课学习了“壳”,但那次是利用工具进行脱壳,这次不一样了。

毕竟一个工具不能脱很多壳,但ESP定律却可以脱掉大部分的壳。

这次我们利用OD手动脱壳。

下面我们OD载入程序。

这个提示框,我们点击“否”。

这里就是我们点击“否”后停留的位置。

我们按下F8键,注意右侧的寄存器窗口内的变化。

我们可以看到ESP和EIP数值变化了,并且只有他们两个为红色。

然后我们在寄存器窗口里的ESP这里右键,选择“数据窗口中跟随”

也可以在最下面的Command窗口中输入dd0012FFA4,跟踪到这个位置。

然后我们在左下角的位置,注意左下角紫色部分(紫色部分是我选中让大家看的更清晰,并不是自动出现的紫色)

右键--断点--硬件访问--Word

下图这一步,也就是在最下面的Command窗口中输入HR0012FFA4,直接进行断点。

选择后,我们F9运行程序,程序会在我们断下的位置停住。

如下图

然后我们F8单步走下去,但是注意这里是一个向上的跳转

凡是向上的跳转,我们就用鼠标选中他的下一行,按下F4,让程序直接到跳转的下面。

然后单步走1次以后,又是一个跳转,但这个跳转没有箭头的指向,是一个无条件跳转。

JMP!

这是一个大跳转,我们必须跳过去,因为这有可能就是跳到了程序的OEP(OEP就是程序入口)

如果不是OEP,打不了我们从新来过!

所以,我们继续F8键。

(下图位置)

OK,请看下图,确实是跳转到了程序的入口。

你一定要问:

“你怎么知道这是程序的入口?

我告诉你“程序的入口就像人的脸,你一定要看看他长什么样,下次你就认识他了。

下图红框内的代码,就是易语言的程序入口,他和C语言的入口基本类似,如果你们看到下图与你OD脱壳的代码是一样的,那就是OEP了。

请看清楚他的样子!

关于其他语言编写的程序入口长什么样,请XX一下。

(脱壳方法都是一样的,只是入口的样子不同而已)

OK,既然找到了OEP,那让我们先把刚才设置的硬件断点删掉,看下图

删除掉以后,我们在入口处右键--用OllyDump脱壳调试进程,下图

接下来,我们可以直接点击“脱壳”

然后让我们查看一下保存出来的文件,是不是没有壳了?

OK,搞定,脱壳成功。

我们来看看是否能成功打开?

好的,成功!

这个操作的过程,就叫做“ESP定律”。

记住,这一课的知识不仅仅局限于易语言和C语言编写的程序,可以运用到很多的程序当中。

提示:

如果你是64位系统,建议使用虚拟机安装32位系统进行脱壳。

否则脱壳后可能会导致打开提示错误。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 学科竞赛

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1