脱UPX壳四种操作

本文详细介绍了如何利用ESP寄存器的值变化进行单步跟踪和内存断点设置,以定位程序的入口点和关键操作。通过观察ESP的值,可以在执行过程中找到函数调用和跳转指令,进而有效地进行调试和分析。内容包括对不同情况的操作指导,如直接跳转、设置硬件断点等,并提供了具体的步骤和截图示例。

提示

在这里插入图片描述

其实这四种都是ESP不变总结出来的,刚开始的时候记住ESP的值,它的值为0x19FF74

单步跟踪

单步跟踪记住一点:往下跳转指令让它实现,往上跳转指令直接在跳转指令的下一行指令进行F4操作

(1)例如这种情况让它直接跳转:

在这里插入图片描述

(2)这种情况直接在点击0x40FFBA地址行,然后点击F4

在这里插入图片描述

这种情况操作如(2):

在这里插入图片描述

这种情况操作如(2):

在这里插入图片描述

遇到这种的话,比较特殊,因为你在地址0x410030执行F4操作后直接进入了一个函数了,所以在0x410036按下F4

在这里插入图片描述

在执行完popad这行操作后,ESP的值变回了0x19FF74

在这里插入图片描述
所以在附近看看有没有什么跳转,跳转过后就是OEP,因为ESP已经恢复原值了。

在这里插入图片描述

执行后:

在这里插入图片描述
ESP的值还是0x19FF74,可以脱了。
在这里插入图片描述
在这里插入图片描述
然后点击DUMP就行,至于要不要重建输入表的话,进行两次试试,看看哪一个程序打得开就行。GAMEOVER

ESP定律

观察ESP的值,只要一改变就可进行操作。

在这里插入图片描述

执行一行后:

在这里插入图片描述
ESP的值从0x19FF74变成0x19FF54

接着操作如下:

第一步:

在这里插入图片描述
把它dump在数据区显示

第二步(然后设置一个硬件断点):

在这里插入图片描述

接着点击运行

在这里插入图片描述
就运行到这里了,再运行一步
在这里插入图片描述
ESP还原喽,还是不变哦,紧接着继续运行一下跳转,就可以Dump了
在这里插入图片描述

2次内存镜像

点击内存区域(即Memory)操作:可以直接点击M在这里插入图片描述
,也可以点击View---->Memory,或者直接Alt+M

第一次断点(程序data段领空区域)

在这里插入图片描述
F2设置一个断点,接着运行。,就到达了这里
在这里插入图片描述

第二次断点

在这里插入图片描述
记住断点肯定下在程序领空区。。然后运行
在这里插入图片描述
紧接着到达了这里,接着运行几步即可
在这里插入图片描述
注意别踩这个函数坑,前面已经说过,不是不能进去,而是进去后进行无意义的分析,只会让你头晕。
在这里插入图片描述
在这里插入图片描述

一步直达

因为发现了pushad,所以肯定有popad,成对出现

搜索操作

在这里插入图片描述
或者直接Ctrl +F ,输入popad
在这里插入图片描述
记住这里不要勾选在这里插入图片描述

下断点

在这里插入图片描述
popad这里下一个断点,即按下F2,然后运行即可

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

寻梦&之璐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值