OD零基础入门级教程Word下载.docx
《OD零基础入门级教程Word下载.docx》由会员分享,可在线阅读,更多相关《OD零基础入门级教程Word下载.docx(32页珍藏版)》请在冰豆网上搜索。
这一课,我们要利用第一课假软件的知识,来获得一个真实软件的注册码!
这个软件其他视频教程也借用过,所以我也来借用一下。
*******************************************************************
软件是一个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
教程用到的软件在这里下载:
的小程序,马上会加入稍微复杂一点的程序,由浅入深。
在没接触壳之前,我们需要学一部分汇编知识,我觉得现在是时候了。
一提到汇编,肯定有99%都要吐了,真的是太枯燥了。
但在我的课里,不会让你感到有那么枯燥就能学到知识。
由于这几天太忙,所以在我临睡觉之前给大家写了这么一课。
凌晨4:
40……
好吧,让我们开始学习汇编吧。
今天要学的内容是“跳转”。
介绍一下软件,这个软件启动后2秒会自动关闭。
为了让零基础人群更容易掌握汇编内容,于是我在关闭的时候加入了“再见”,如图。
有了“再见”这一步,我相信大家都知道该怎么找到他了。
那我就直接OD到这步了。
如图
我们可以看到"
再见"
上面有个跳转,是需要判断的,如果判断条件不成立,他就会执行到“再见”(也就是程序自动关闭)
当然,如果条件成立,他就会跳过“再见”(跳过关闭)。
那我们可以看到,他的跳转是JNZ,也就是有条件判断的。
为了避免他判断条件不成立的时候关闭程序,我们就要让他永远都是条件成立,无限跳过关闭。
我们应该怎么做?
这就用到了汇编知识!
记住:
JMP是无条件跳转(意思是:
执行到JMP就必须跳,没有选择的余地!
)
只有JMP跳转是无条件,其余的所有跳转都是有条件的。
关于跳转,我在附件里打包了一张“条件跳转”的图片,请下载查看。
我们可以如下修改
OK,把程序保存出来看看,是不是永远都不自动关闭了?
关于条件跳转是受谁影响,请看附件里的图片,一目了然!
通过这一课,你明白了汇编语言跳转相关命令,这也是爆破必备知识!
虽然这一课的内容是学习汇编,但是我想看看大家举一反三的思维如何。
这一课的作业就是不利用跳转解决这个2秒关闭的问题!
(请回帖附上解决方法的OD截图)
另外我要说一件事,从5月16号,昨天开始,可能要忙上一个月。
我会在这一个月里找时间来给大家写教程,如果实在太累没时间写,大家也别闲着。
多找小程序练习一下,或者看看汇编,看看“小生我怕怕”,生哥的破解教程。
原本我们应该继续汇编学习的,但看到大家最近反映脱壳的问题很强烈。
看来大家已经迫不及待的破解更多程序了。
下面我们就学习一下“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位系统进行脱壳。
否则脱壳后可能会导致打开提示错误。