首页
社区
课程
招聘
[讨论]关于ebp+xx的访问
发表于: 2011-1-23 21:48 4188

[讨论]关于ebp+xx的访问

2011-1-23 21:48
4188
例如局部变量的话应该都是存储在栈中的,也就是说用
esp-xx分配空间
那么用ebp+xx访问局部变量会是哪些情况导致的呢?
说明一下这个访问的变量可发誓绝对是局部变量
但是书中他的代码访问局部变量用的是
ebp+xx这种格式..他也没有作为函数参数传递
为啥会出现Ebp+xxx写法呢?

书中的代码我自己抄写一下验证得出来的结果也是
ebp-xx寻址,但为啥书中写的是ebp+xx寻址呢?

我看的是黑客反汇编揭秘

[招生]系统0day安全班,企业级设备固件漏洞挖掘,Linux平台漏洞挖掘!

收藏
免费 0
支持
分享
最新回复 (4)
雪    币: 7
活跃值: (32)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
我的快疯了..为啥我看书的结果和我自己的测试不一样..
把书里面的代码给他copy进去我的是ebp-xx局部变量
但是他的确实ebp+xx
让人蛋疼 啊..
2011-1-23 22:01
0
雪    币: 302
活跃值: (32)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
函数开头应该有个 mov ebp,esp
ebp+xx应该是编译器优化后的的结果
我也不是很了解的说- -
2011-1-23 22:28
0
雪    币: 7
活跃值: (32)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
对啊..如果有了mov ebp,esp/的话
那么访问栈内的变量的话应该是
ebp-xx的才对嘛,因为都是先保护esp值后踩分配空间的嘛..

但他的这个ebp+xx算什么嘛。。他的这样写按理说访问到的应该是上面esp分配的空间了的

但他得到却嫩是用ebp+xx这方法访问mov ebp,esp 后分配的临时变量去了...
2011-1-23 23:01
0
雪    币: 7
活跃值: (32)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
错了,。才知道原来那个是用IDA反汇编的..
按K后他就显示ebp-xx了..郁闷半死....
2011-1-23 23:29
0
游客
登录 | 注册 方可回帖
返回
// // 统计代码