1

所以我遇到了一些我不明白的奇怪的东西。我正在阅读有关装配的理论,我想知道这个 Stack[0x4]:1 有什么作用。

undefined         AL:1           <RETURN>                                XREF[2]:     00010807(W),
                                                                                                   00010869(W)  
             undefined1        Stack[0x4]:1   param_1                                 XREF[1]:     00010779(*) 

我不明白,因为文章说这是-0x43,顺便说一句-在-0x43中做了什么?谢谢。

4

1 回答 1

0

我认为您param_1input. 这些是不同的东西。param_1因为它的main功能将被重命名为argc. input是分配在堆栈上的缓冲区,稍后将通过调用gets.

param_1's 因为它是一个参数(在此 ABI 中),在这种情况下与ESP- 的偏移量为正,并且在这种情况下,0x4input的局部变量将与 - 的偏移量为负。这是由于堆栈向较低地址增长的事实。ESP-0x43

回到 Ghidra,Stack[0x4]:1这意味着这个参数的值是通过堆栈传递的,并且该值位于偏移量处0x4,并且 Ghidra 已经确定它的大小可能为 1 个字节。

于 2020-07-16T15:39:57.967 回答