假设x64汇编过程中的Entry代码是:
push rsi
push r12
sub rsp,48
现在,我怎样才能在PROC的 body 中找到这些值中的每一个:
1)第1参数2)第3参数3)第5参数4)第7参数
如果你可以为我绘制或描述堆栈,那么我理解它会更好。
答案 0 :(得分:2)
来自Windows x64 calling conventions:
前四个整数或指针参数在RCX
,RDX
,R8
和R9
中从左向右传递。一旦这些寄存器被填充,其他所有内容都将在堆栈上(前四个浮点参数除外)。
由于我们无法看到代码的调用方式,因此不可能从该序言中推断出参数。您需要查看调用它的代码以找出将存在的内容,这两个push
可能只是保存被破坏的寄存器。