脱壳入门(三)之UPX压缩壳

脱壳入门(三)之UPX压缩壳

一、找OEP

  1. 查壳:UPX壳、链接器版本2.25(可能是Delphi程序)、区段信息
    在这里插入图片描述
  2. 根据ESP定律寻找OEP

OEP定律原理:壳代码就像一个函数,进入时会开辟堆栈、保存寄存器环境,退出时会恢复堆 栈、恢复寄存器。所以应该是堆栈平衡的,那我们可以在壳代码操作了堆栈后对堆栈设置访问或写入断点,然后运行程序,当断点命中的时候,应该就是退出壳代码的时候。在其附近单步几次,应该就能到达程序的原始OEP。
pushad该条指令压栈后,esp下硬件断点,F9运行
在这里插入图片描述
程序断下后,F7运行一直到跳转OEP
在这里插入图片描述
跳转后,此处就是OEP了,完全符合Delphi的入口点特征
在这里插入图片描述

二、Dump内存

用OllyDump插件dump内存
在这里插入图片描述

三、修复导入表

利用ImpREC工具修复导入表

四、脱壳成功

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值