ollydbg中[local.1]、[local.2]、[arg.1]、[arg.2]的含义

含义

local表示局部变量,arg代表参数,含义如下

local.2 == ebp - 8
local.1 == ebp - 4
arg.1 == ebp +8
arg.2 == ebp +12

为什么arg.1是ebp+8而不是ebp+4?

请看这张图:
堆栈示意图

在调用函数之前,先将两个参数压入堆栈,再执行call,执行call时自动将返回地址压入堆栈。进入子函数,开辟堆栈帧,首先两行:

push ebp
mov ebp, esp

首先将原ebp压入堆栈,即图中的“原ebp”,此时的esp即指向刚压入堆栈的“原ebp”处,再执行mov ebp, esp,则此时ebp即指向“原ebp”。

在ollydbg中修改local.1显示方式

依次点击options->debugging options->analysis 1;选中如图所示复选框,即可显示为local和arg的格式,取消勾选则以ebp的格式显示。
调试选项->分析1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值