Shark恒 发表于 2014-10-12 04:41

【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位系统进行脱壳。否则脱壳后可能会导致打开提示错误。




wjc296335187 发表于 2014-11-22 19:32

好多东西都不会。。。比如第六课的那些指令,完全看不懂

夜幽魂 发表于 2014-10-12 08:49

这个不错的可以脱掉大部分壳

王尼玛 发表于 2014-10-24 14:50

感谢分享教程

aa867741420 发表于 2014-11-21 19:31

a1216108372 发表于 2014-11-22 09:25

支持原创,感谢楼主!

gsl27 发表于 2014-11-23 10:18

老师的教程很好

羽懿521 发表于 2014-11-25 16:58

感谢分享教程,,谢谢啦

地球人类 发表于 2014-12-4 20:32

这一课没看懂...

岁月神偷 发表于 2014-12-8 16:01




压缩壳简单,加密壳不简单啊
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 【S01E07】Shark恒 零基础逆向教程之图文!【ESP定律】