首页
社区
课程
招聘
<加密与解密>第四版111页指针地址问题
Morphy 2021-11-17 1254

新人小白向各位大佬指教!

 

请问下面这段代码中 0040104000401044 两行 为什么[esp+08][esp+04]指向了参数a和参数b的指针?
00401015的这行,不是[esp+0c]只想b的指针吗?

收藏
2条回答
estream 2021-12-3

你好,方便把前面的汇编也发出来吗?

回复
xiangyandt 2022-1-27

你应该把前面部分的代码也贴出来,我回去翻翻自己的书才搞明白。
执行到0040101D call指令之后栈情况如下,x表示初始栈顶位置作为参考

1
2
3
4
5
6
栈地址   栈
x-10  | 22 10 40 00 | esp
x-c   | x-4         | esp+4
x-8   | x           | esp+8
x-4   | 5           | esp+c
x     | 6           | esp+10

此时eip指向00401040,esp+8即x-8,[esp+8]值为x即6的地址,esp+4同理。

回复