首先,我要声明一下,本教程只局限于不懂破解的朋友,让你们了解并有机会深入破解!其次,诸位大神请高抬贵手,不要骂我。虽然简易,但我的初衷是让不懂的人更有信心加入破解行列!最后,我们只需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号,昨天开始,可能要忙上