ESP定律学习
Posted An2i
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ESP定律学习相关的知识,希望对你有一定的参考价值。
ESP = 堆栈平衡
ESP定理脱壳:
(1)开始就点F8,注意观察OD右上角的寄存器中ESP有没突现(变成红色)(这只是一 般情况下,更确切的说我们选择的ESP值是关键句之后的第一个ESP值)
(2)在命令行下:dd XXXXXXXX(指在当前代码中的ESP地址,或者是hr XXXXXXXX), 按回车
(3)选中下断的地址,断点--->硬件访--->WORD断点
(4)按一下F9运行程序,直接来到了跳转处,按下F8,到达程序OEP
(ESP在OD的寄存器中,我们只要在命令行下ESP的硬件访问断点,就会一下来到程序的OEP了!)
实验程序:UnPackMe.exe
用exeinfo查壳,为UPX壳,如图:
程序用OD打开,停在这里。
按F8,ESP变红,说明可以用ESP定律。
ESP定律脱壳法 :
先用dd命令转到堆栈刚才esp中的内容指的位置,即dd 0060ff64。随即在该处下硬件断点,如图:
按F9运行,看到popad,oep到了,在此处dump出来,完成脱壳。
向下法(暂时就叫它一路向下法吧 (-_- 吧。):
原理:遇到向上的跳转都按F4到一条指令,不管它,直到遇到第一个大跳转,调后即是OEP。
在该处实现一个大跳转,到达oep,perfect!
以上是关于ESP定律学习的主要内容,如果未能解决你的问题,请参考以下文章
机器学习中的没有免费的午餐定律是什么?“没有免费的午餐”对你意味着什么?没有免费午餐定律定律能给数据科学家提供什么启示?