需要帮助寻找 ESP 和 EBP 的补偿

问题描述 投票:0回答:1

我试图了解如何在 32 位中计算从

ebp
esp
的偏移量。
我的理解是,当您
push
到堆栈时,
esp
会递减并指向较低的地址,在 32 位上一次 4 个字节。我认为 (
ebp
- 4) 到达
a1fa1fa
是正确的,因为它是递减的 - 但后来我做了 (
esp
+ 4 + 4 + 4 + 4) 来获得与
esp
的偏移,这不正确。

28号怎么样?

other ESP game from roxor arcade https://github.com/kuza55/roxor-arcade/tree/master/TheOtherESPGame/perldemo

assembly x86 stack
1个回答
1
投票

图中不是 28。

a1fa1fa
是 EBP 下面 1 个堆栈槽(双字),ESP 上面 4 个。
它可以被称为
[ebp-4]
[esp+16]

我看到这就是你输入的内容;与您的导师讨论他们测验程序中的错误。

© www.soinside.com 2019 - 2024. All rights reserved.