脱壳基础

本文介绍了脱壳的基本步骤,包括定位OEP(原程序入口点)、使用内存断点确定OEP、使用OllyDump和LordPE进行Dump以及使用Import REConstructor修复IAT。通过ESP定律和内存断点技巧定位OEP,接着通过Dump工具生成脱壳文件,并详细阐述了如何修复导入表以使程序正常运行。
摘要由CSDN通过智能技术生成

脱壳的基本流程分四步走:查壳 -> 定位OEP -> 进程内存镜像dump -> 修复IAT. 

1.     定位OEP

1.1  ESP定律(栈平衡)

使用UPX对计算器calc.exe进行加壳。

OD载入,如下:


第一条指令PUSHAD表示将所有通用寄存器值压栈,这些值即代表原程序加壳前的值,在壳运行完成后,需要借助栈恢复这些值,程序转到OEP,原程序才能正常执行。

F8向下走一步,此时ESP的值为压栈后的值:


对该ESP值下硬件断点:HW 0007FFA4

F9运行程序,程序将中断在上述硬件断点,此时表示程序要访问原来压栈的数据,也就是说壳运行基本结束,此时正试图恢复栈内容,运行原程序,因此OEP也就离这不远了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值