zoukankan      html  css  js  c++  java
  • 脱壳系列_1_UPX壳_详细版

    1 UPX壳的背景知识

    UPX壳的功能有两种:给程序加壳、压缩程序

    简述:将程序压缩(体积变小),在每次程序运行执行时实时的对程序解压缩。upx和普通的压缩区别就在于实时性

    2 查看带壳程序信息

    • 使用PeID查看

    image

    • 使用ExeInfoPE查看

    image

    分析:

            使用两个PE分析工具可以看出入口点是 0X0006DFF80,链接器版本是2.25,以及UPX 0.89

    3 使用OD打开

    • 看到一个pushad

    image

    • 意味着我们可能使用平衡ESP的方法找到入口点

    1. 搜索popad

    image

    分析:

           在搜索指令的时候一般不要点上整个块,先默认往下搜

           注意:我们看到有两个跳转,一般OEP的跳转都是无条件的,大致断定是0x0046e133这个地址上的指令跳转目标是OEP。检测一下:把鼠标放在第一个上你会发现这里是一个循环,额你看一下跳转目标 就在上面第一条指令哪儿。。。尴尬,那这就是一个循环。现在可以很确定第二个跳转指令是我们想要的。

    鼠标双击一下那个跳转地址:

    image

    有点茫然的发现 这不像是OEP啊。

    别慌,这里是UPX壳,有加密的在运行的时候实时解密。我这里的EIP还没有动过,所以还在壳入口还没有解压缩。

    在跳转指令那儿下一个断点单步进去:

    image

    这下就对了。

    然后ollyDump下来,用impREC修复一下IAT就行了。

    有空的时候再追加上这里面算法的详细分析。。。

  • 相关阅读:
    外挂方法.md
    第三章.md
    沙箱逃逸.md
    flex
    flash builder 关联svn
    flash 动画
    Flash移动开发的一本好书Android&IOS
    Foundation ActionScript 3.0.With Flash CS3 And Flex ..
    flash移动基础开发(PDF)
    O'Reilly.HTML5.Up.and.Running HTML5的一本好书
  • 原文地址:https://www.cnblogs.com/leibso-cy/p/FSG_SHELL.html
Copyright © 2011-2022 走看看