【S01E07】Shark恒 零基础破解教程之图文!【ESP定律】
原本我们应该继续汇编学习的,但看到大家最近反映脱壳的问题很强烈。看来大家已经迫不及待的逆向更多程序了。
下面我们就学习一下“ESP定律”,ESP定律是在脱壳中运用最广泛的一种方法,适用于大部分程序脱壳。
什么是ESP定律我们不用深究,就当作是一个名字吧。
今天用到的软件是第三课的程序,稍后我会为大家打包到附件。
我们在第三课学习了“壳”,但那次是利用工具进行脱壳,这次不一样了。
毕竟一个工具不能脱很多壳,但ESP定律却可以脱掉大部分的壳。
这次我们利用OD手动脱壳。下面我们OD载入程序。
这个提示框,我们点击“否”。
这里就是我们点击“否”后停留的位置。我们按下F8键,注意右侧的寄存器窗口内的变化。
我们可以看到ESP和EIP数值变化了,并且只有他们两个为红色。
然后我们在寄存器窗口里的ESP这里右键,选择“数据窗口中跟随”
也可以在最下面的Command窗口中输入dd 0012FFA4,跟踪到这个位置。
然后我们在左下角的位置,注意左下角紫色部分(紫色部分是我选中让大家看的更清晰,并不是自动出现的紫色)
右键--断点--硬件访问--Word
下图这一步,也就是在最下面的Command窗口中输入HR 0012FFA4,直接进行断点。
选择后,我们F9运行程序,程序会在我们断下的位置停住。如下图
然后我们F8单步走下去,但是注意这里是一个向上的跳转
凡是向上的跳转,我们就用鼠标选中他的下一行,按下F4,让程序直接到跳转的下面。
然后单步走1次以后,又是一个跳转,但这个跳转没有箭头的指向,是一个无条件跳转。JMP!
这是一个大跳转,我们必须跳过去,因为这有可能就是跳到了程序的OEP(OEP就是程序入口)
如果不是OEP,大不了我们从新来过!
所以,我们继续F8键。(下图位置)
OK,请看下图,确实是跳转到了程序的入口。
你一定要问:“你怎么知道这是程序的入口?”
我告诉你“程序的入口就像人的脸,你一定要看看他长什么样,下次你就认识他了。”
下图红框内的代码,就是易语言的程序入口,他和C语言的入口基本类似,如果你们看到下图与你OD脱壳的代码是一样的,那就是OEP了。
请看清楚他的样子!关于其他语言编写的程序入口长什么样,请百度一下。
(脱壳方法都是一样的,只是入口的样子不同而已)
OK,既然找到了OEP,那让我们先把刚才设置的硬件断点删掉,看下图
删除掉以后,我们在入口处右键--用OllyDump脱壳调试进程,下图
接下来,我们可以直接点击“脱壳”
然后让我们查看一下保存出来的文件,是不是没有壳了?
OK,搞定,脱壳成功。
我们来看看是否能成功打开?
好的,成功!
这个操作的过程,就叫做“ESP定律”。
记住,这一课的知识不仅仅局限于易语言和C语言编写的程序,可以运用到很多的程序当中。
Shark恒图文逆向教程——视频语音版(第一季全)
https://www.52hb.com/thread-2954-1-1.html
(出处: 吾爱汇编论坛)
提示:
如果你是64位系统,建议使用虚拟机安装32位系统进行脱壳。否则脱壳后可能会导致打开提示错误。
好多东西都不会。。。比如第六课的那些指令,完全看不懂
这个不错的可以脱掉大部分壳
感谢分享教程
支持原创,感谢楼主!
老师的教程很好
感谢分享教程,,谢谢啦
这一课没看懂...
压缩壳简单,加密壳不简单啊