网站公告列表     学友堂,成就你我!  [admin  2006年11月29日]        
加入收藏
设为首页
联系站长
您现在的位置: 学友堂 >> 电脑网络 >> 防病毒 >> 文章正文
  脱壳!!!!!           
脱壳!!!!!
文章来源:不详 更新时间:2007-3-4 0:16:16 本站:学友堂  网址:www.3i3i.cn
学友堂 www.3i3i.cn

脱壳!!!!!


预备知识

OEP是Original Entry Point缩写,即程序加壳前的真正的入口点。
外壳初始化的现场环境(各寄存器值)与原程序的现场环境是相同的。加壳程序初始化时保存各
寄存器的值,外壳执行完毕,会恢复各寄存器内容。其代码形式一般如下:

PUSHFD ; 将标志寄存器入栈保存
PUSHAD ; push eax, ecx, edx, ebx, esp, ebp, esi, edi
…… ; 外壳代码部分
POPAD ; pop edi, esi, ebp, esp, ebx, edx, ecx, eax
POPFD ; 恢复标志寄存器
JMP OEP ;
OEP: …… ; 解压后的程序原代码

PUSHAD (压栈) 代表程序的入口点,
POPAD (出栈) 代表程序的出口点,与PUSHAD想对应,一般找到这个OEP就在附近


1.82 脱壳方法之单步跟踪找OEP

1.用OD载入,如果有提示是否分析代码,就点“ 不分析代码!”
2.F8单步向下跟踪调试,没有实现的向上的跳,向下的跳都可以步过,阻止实现的向上的跳。
3.遇到会跑飞的CALL我们就F7步入。

Btw:遇到程序无法向下跟踪调试的时候,在附近找一个大跳转,然后右键→跟随或者回车到达跟
随的地址按F2下断点,然后shift+F9(忽略异常运行)运行到跟随的地址,然后再F2取消断点,
接着就可以F8继续单步调试了。

1.83 脱壳方法之根据堆栈平衡原理找OEP(ESP定律法)

堆栈平衡原理找OEP,Lenus写过一篇文章《寻找真正的入口(OEP)--广义ESP定律》我会打包给
大家,有兴趣的可以自己看一下堆栈平衡原理,做免杀自己写花指令也需要用到这个原理,所以
这文章对大家相当有帮助。

1.F8单步跟踪调试在关键句的下一句,在OD寄存器窗口ESP突显为红色
2.在OD命令行下输入(dd ESP突显红色的地址) 或者 (hr ESP突显红色的地址)
3.下硬件访问断点
4.F9运行,继续F8单步向下调试

1.84 脱壳方法之内存断点法找OEP(内存镜像法)

1.OD载入程序后,我们直接对code段下内存访问断点
2.F9运行 (code段没有解压完毕,所以会不断得中断,连续按F9。当然这种方法是不可取的)

我们使用两次断点法。
假设我是程序作者,一个程序有code段,data段,rsrc段....依次排列在你的内存空间中。那么
我会怎么解码呢?我会先将code段解码,然后再将data段解压,接着是rsrc段....只要你在data
断或者rsrc段下内存访问断点,那么中断的时候code段就已经解压完毕了。这时我们再对code段
下内存访问断点,不就可以直接到达OEP了吗?

总结一下:如果我们知道壳在什么地方对code段解压完毕我们就可以使用内存断点,找到OEP。如
果不知道,那么我们就依@@2次内存断点去找,如果还不行就用多次内存断点。总之明白了原理再
多次的内存断点其实都一样。

局限性:当一个壳如果它在JMP到OEP前的一行代码仍在对code段解压,那么我们就不能再使用这种
办法了。更贴切得说,是我们没必要使用这种方法。(如UPX,ASPACK)

1.85 脱壳方法之最后一次异常法

1.OD载入程序后
2.设置异常选项:选项——调试设置——异常(一般情况我们忽略所有的异常选项,当然后面根
据猛壳的特点我们可以自己选择设置异常选项)
3.重载下OD,我们按SHIFT+F9,直到程序跑起来为止,我们把按的次数记住
4.再次重载OD,再次按SHIFT+F9,我们按到程序跑起来的前一次。(第一次如果按了20下程序跑
起来了,那么我们第二次就按19次,跑起来的前一次)
5.在OD的右下角(堆栈窗口)看见一个"SE句柄",这时我们按CTRL+G,输入SE句柄前的地址!
6.来到SE句柄的地方我们按F2下断,SHIFT+F9运行至断点这,然后再F2取消断点
7.接着我们F8单步继续向下调试

文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最 新 热 门
    最 新 推 荐
    相 关 文 章
    重视计算机软件著作权的
    测试一下你的杀毒软件是
    我用工具建站,比你快多
    回复贴友:有关制粉机的
    有关制粉机的性能特点?
    WINDOWS XP的又一个小 B
    解决主页被劫持~~!!!
    “QQ宠物投嘌活动”,假
    十招让肉鸡IE变铁公鸡!!
    【MOTO】看生产曰期的方
     
    版权所有 2004-2012  学友堂 [3i3i.cn] 最佳分辨率 1024×768
    Copyright www.3i3i.cn All rights reserved.