|
8达程序的OEP脱壳!
罕见脱壳知识:
1.PUSHA D压栈)代表顺序的入口点;
与PUSHA D想对应,2.POPA D出栈)代表顺序的入口点。一般找到这个OEP就在附近拉;
软件加壳就是隐藏了OEP或者用了假的OEP只要我找到顺序真正的OEP就可以立刻脱壳。3.OEP顺序的入口点。
开始正式介绍方法!
方法一:
不分析代码;1.用OD载入。
2.单步向下跟踪F8向下跳的让它实现;
选择断点—运行到所选)3.遇到顺序往回跳的包括循环)下一句代码处按F4或者右健单击代码。
不用理会,4.绿色线条表示跳转没实现。红色线条表示跳转已经实现;
附近就有一个CA LL就F7跟进去,5.如果刚载入程序。这样很快就能到顺序的OEP
如果运行到某个CA LL顺序就运行的就在这个CA LL中F7进入;6.跟踪的时候。
比方 jmpXXXXXX或者 JEXXXXXX或者有RETE一般很快就会到顺序的OEP7.一般有很大的跳转。
方法二:
只要在命令行下ESP硬件访问断点,ESP定理脱壳(ESPOD寄存器中。就会一下来到顺序的OEP
1.开始就点F8注意观察OD右上角的寄存器中ESP有没出现;
2.命令行下:dd0012FFA 4指在当前代码中的ESP地址)按回车;
下硬件访问WORD断点;3.选种下断的地址。
直接来到跳转处,4.按一下F9运行顺序。按下F8达程序OEP脱壳。
方法三:
内存跟踪:
1用OD打开软件;
把里面的忽略全部√上!CPL+F2重载下程序;2点击选项—调试选项—异常。
找到第一个.rsrc.按F2下断点。然后按SHIFT+F9运行到断点,接着再按ALT+M,3按ALT+M,DA 打开内存镜象。DA 打开内存镜象,找到.RSRC上面的CODE按F2下断点。然后按SHIFT+F9直接到达程序OEP脱壳!
方法四:
一步到达OEP前辈们总结的经验)
包括ASPA CK壳)然后按下F2F9运行到此处;1.开始按Ctrl+F,输入:popad只适合少数壳。
点下F8脱壳之!2.来到大跳转处。
方法五:
1用OD打开软件;
把里面的√全部去掉!CPL+F2重载下程序;2点击选项—调试选项—异常。
这里我按SHIFT+F9直到顺序运行,3一开是顺序就是一个跳转。记下从开始按F9顺序运行的次数;
按SHIFT+F9次数为程序运行的次数-1次)4CPL+F2重载程序。
这时我按CPL+G输入SE句柄前的地址;5OD右下角我看见有一个SE句柄。
然后按SHIFT+F9来到断点处;6按F2下断点。
按F8慢慢向下走;7去掉断点。
本文由 婴儿用品专卖店 http://www.huazhuliu.com 整理转载
|
|