-1

假设 x64 程序集程序中的入口代码是:

push  rsi
push  r12
sub   rsp,48

现在,我怎样才能在PROC的主体中找到这些值:

1)第 1 参数 2)第 3 参数 3)第 5 参数 4)第 7 参数

如果您可以为我绘制或描述堆栈,那对我来说更好理解。

4

1 回答 1

2

Windows x64 调用约定

RCX前四个整数或指针参数在、RDXR8和中从左到右传递R9。一旦这些寄存器被填满,其他所有内容都将在堆栈上(前四个浮点参数除外)。

由于我们看不到代码是如何调用的,因此无法从该序言中推断出参数。您需要查看调用它的代码以找出其中的内容,这两个pushes 可能只是保存了被破坏的寄存器。

于 2013-01-01T21:15:00.840 回答