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就行了。

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

  • 相关阅读:
    公众号我也快看不下去了
    朋友圈我快看不下去了!
    微信5.2
    微信支付类目及费率
    ACCESS TOKEN
    关于微博认证和微信认证
    重定向
    微信公众账号支付商户接入指南
    微信公众平台开发(94) 违章查询
    [Servlet]什么是Servlet
  • 原文地址:https://www.cnblogs.com/leibso-cy/p/FSG_SHELL.html
Copyright © 2011-2022 走看看