白拿原创破解6.docx
《白拿原创破解6.docx》由会员分享,可在线阅读,更多相关《白拿原创破解6.docx(18页珍藏版)》请在冰点文库上搜索。
白拿原创破解6
大家好!
好久没见了,呵呵!
因为上学的问题,我也没那么多的时间写了!
所以文章比放假的时候发的要晚些~希望大家见量~呵呵!
又可以写破解了,说实话教大家有点兴奋,但有点害怕,因为怕有地方教错了大家就麻烦的了!
那就相当于误倒了!
呵呵!
好,不说了!
我们开始上课吧!
今天我带给大家的是脱FSG壳和修复相对来说这节课要难很多了!
希望大家要认真看的哦!
假如说大家不懂的地方很多的话!
请在论坛上写出不懂的!
我好再做个视频!
给大家补补课~呵呵!
好了!
今天我要向大家介绍个修复工具!
ImportREConstructor1.6
超级无敌的修复工具!
怎无敌的请在文章中去发现!
下载地址:
Fix1.6.rar 0.3MB
带有FSG壳的软件的下载地址:
FSG1.33变形壳.exe 58.6KB
呵呵!
工具介绍完了!
开始讲课吧!
今天我们将用ESP定律法来脱这个壳,我们先将FSG1.33变形壳.exe载入到OD中去!
(如图)
我们今天使用的ESP法有点特别,不象以前那样,因为开头并没有PUSHAD,那我们应该怎样使用ESP法呢!
好,我们先将程序往下走走看,但往下走的同时我们要时刻注意右边的寄存器窗口的ESP值是否变成红色了没有!
好!
我们先按步过键,往下走走看!
当我们走到地址为0043076F时我们会发现在右边的寄存器窗口中的ESP值变成了红色!
(如图)
在我们以前用ESP法破解软件时,我们也是要看右边的ESP值是否变成了红色没有的!
所以既然现在我的ESP值已经边成了红色,那我们为什么不试试看,用ESP定律法好不好使呢?
好,我们就试试!
我们将右边红色的ESP值0012FFC0用DD下硬件断点的方法下个断点!
(如图)
之后按运行程序键运行程序!
就到了这个地方!
(如图)
我们先将我们下的硬件断点删除,因为我在以前讲过的!
不删除的话,会一直留着的,会给我们以后破解软件带来不必要的麻烦!
(删除方法:
点左上角的调试----硬件断点中就可删除!
)
好!
我们删除了断点之后,我们再看看上图,按ESP定律法说的那样看,现在我们应该离OEP不远了!
那我们就往下走走找找看好了!
我们还是按步入往下走,这时我们来到了这个地方!
(如图)
我们可以看到有一条绿色的尖头,从004307DD连到004307E9,在这里我要告诉大家一个知识点就是。
。
。
。
。
跳转定律:
只要我们以后发现有绿色箭头相连的跳转时我们就不用管它继续往下走!
要是有红色箭头相连的跳转时,我们要先看它的跳转方向,假如箭头指的是上面的话也就是往上跳的话,我们就用上节课讲的在这行的代码处的下一行点左键之后再点右键在弹出的菜单中选断点------运行到选定位置的方法跳过往上面去的跳转!
这样就可以避免死循环!
(在上节课讲过!
),假如红色的箭头指的是下面的话!
也就是往下跳的话,不用管它,就让他跳吧!
我们最终的目的就是往下走~!
好了!
那这个是绿色箭头相连的所以我们就继续往下走吧!
这时我们又来到了这里。
。
。
。
。
(如图)
我们可以看到这个是由红色的箭头相连的,但因为箭头是往下去的所以我们根据跳转定律不用管他!
继续往下走!
这时我们又晕,带到了这里。
。
。
。
。
。
。
。
。
(如图)
我们可以看见又是一个红色的箭头跳转,并且是往上面跳的~这个跳转是从004307E7跳到上面的00430770,假如我们要是真的跳到了那里的话,那我们刚才走的路不就白走了嘛~所以根据跳转定律,往上面跳的红色箭头我们就要给它断下来!
我们在这行的代码处的下一行点左键之后再点右键在弹出的菜单中选断点------运行到选定位置的方法直接跳到下一行,跳过封锁线!
!
(如图)
就这样,我们还会遇到几次跳转(只要按照跳转定律的规定处理跳转是没问题的!
)之后我们就来到00430805这个位置!
(如图)
我们看下反汇编窗口下面的提示窗口的信息!
(如图)
写着“跳转没有实现”!
我们先看下00430805这段代码!
它指向的是00402666这个地址!
这是一个很大的跳转!
所以我估计我们马上就要到达OEP了!
但我们现在遇到了跳转没有实现的这个问题!
我们应该怎么处理呢!
按照FSG壳的特性我想用跟随的办法探探究竟!
(大家一定会问为什么要跟随呢?
有什么特性呢?
其实这个问题大家是不用问的!
因为等大家以后这方面的知识多了!
就会知道了!
这个是没办法讲的!
是要自己去探索的!
)好,我们在这行代码处点右键在弹出的窗口中点跟随!
之后我们就跟随到了这个跳转跳到的位置了!
(如图)
好!
我们已经到达了OEP了!
呵呵!
那我们就脱壳吧!
我们在这行代码处点右键-----ollydump脱壳调试进程,来进入脱壳界面(如图)
但我发现不对啊!
我们看修正为的这个小窗口中的值为30805!
!
!
!
我们刚才脱壳的位置而是00402666~~~~这说明我们用跟随的方法确实来到了这个OEP的代码处,但其实真正的程序并没有运行到这里!
所以我们就要让程序运行到这里之后才可以成功脱壳的!
我们先关闭脱壳界面,还是来到00402666的代码处点右键-----断点-----切换这样我们就在这行代码处下了断点用这种下断点的方法后这行代码的地址会变成红色!
(如图)
之后我们点运行程序键,我们的程序也就会运行到这里了!
之后我们再用“切换”的方法去掉断点!
这时我们再打开脱壳界面看看地址是否正确了!
(如图)
看见了吧!
修改为:
2666正好是脱壳的地址!
那我们就将它的壳脱掉吧!
(我们先不要急着关掉OD,后面要用到它)先看看壳脱掉了没有,我们把脱完的这个软件放到Peid中看看是不是真的脱掉了!
(如图)
呵呵!
脱掉了!
是拿C++编的!
我们再双击下,看看是否可以运行!
(如图)
晕~不可以运行~(因为电脑的各种因素,可能显示错误的提示有所不同!
)那我们先修复下吧!
我们现在就要用到ImportREConstructor了!
呵呵,我们先打开ImportREConstructor会看到这样的一个简洁的界面!
(如图)
呵呵!
我们现在要用它把我们的软件修复好才行!
我们先点ImportREConstructor上面的“附加到一个活动进程”因为我们的OD载入的是我们破解的那个软件,所以我们的电脑上面会留下一个这个软件的进程!
(如图)
呵呵!
看见了吗?
是我们正在破解的软件的进程!
我们点击下这个进程,我们会看见记录框里写着相关的信息!
(如图)
下面我们就要修复了!
我们在上图中的OEP框中添入我们破解的软件的OEP值,那这个值在哪能找到呢?
就在我们脱壳的窗口里面!
(如图)
我们把“修正为”里面的值复制到我们的修复工具的OEP框中,点“自动查找IAT”这时我们的修复工具就提示了下列语句(如图)
我们点确定后,在点修复工具下面的“获取输入表”这时我们的“找到的输入表函数”框中就显示出了相关修复的文件!
(如图)
我们看,在这些信息中的最底条的“有效”为否!
在我们修复软件的时候是不可以出现否定的文件的!
所以我们先点下修复工具的右边的“显示无效的”先看看是哪个出了问题!
这时在这个“找到的输入表函数”中就显示出无效的来了!
(如图)
好,现在我们要把这个无效的干掉才行!
我们把鼠标放到这个无效的信息上面,点右键在弹出的菜单中点“剪切指针”,我们就将无效的信息删除了!
(如图)
之后,我们点修复工具下面的“修复转储文件”把要修复的文件选上,之后修复工具将会在破解文件的同一目录下,把修复好的文件自动保存到那里!
(如图)
好!
我们现在打开这个修复好的文件看看还能不能用。
看,还是不能使用的!
因为我们刚才删除了一个文件的嘛~所以我们还要手动修复下,才可以!
(因为我们选的文件有点BT,修复的很麻烦的,像正常的软件是不需要这么复杂的!
有时不需要修复就能用,有的修复下就能用的!
但只有这样才能练出水平来!
)我们先将这个修复过不能用的这个软件用OD打开!
之后点运行程序键(为什么要点运行程序键呢?
是因为软件不能使用就是因为这个软件在运行过程中遇到了错误的地方才会出现运行不了的情况!
所以我们可以先点运行程序看看在哪卡住了!
),这时我们的程序就来到了这里!
(如图)
呵呵!
现在我们看0040127E这个地址,我们的程序是在这里卡住的!
所以我们就要干掉他~我们在这行的代码处点右键在弹出的菜单中----二进制----使用NOP填充(NOP是空的意思)(如图)
之后像我们破解软件一样再点右键------复制到可执行文件----所有修改----全部复制,之后保存!
在点开看看好不好使~呵呵!
成功了!
修复OK~~~~~~~~~~~~~~~~~~~~呵呵!
这节课难了一些!
假如大家有过多的不懂的地方的话,请在论坛写出!
我将会找个时间写个视频给大家补课!
!
!
请大家密切关注我的仓库的公告板哦!
呵呵~好了!
今天的课就讲到这里吧!
大家再见~!
~
下节课发布时间:
2007—3—18号~上午
希望看过我的教程的朋友,上我仓库下载过DD的朋友请在我的留言板上留言,做个纪念!
呵呵!
本教程因为文件过大,影响浏览速度!
!
分为两部分发布!
并且是同一时间发布!
请大家注意查找!