一丶复习X86传参
在x86下我们汇编的传参如下:
push eax
call xxx
xxx fun proc
push ebp 保存栈底
mov...如汇编代码为:
sub rsp,0x28
mov r9,1
mov r8,2
mov rdx,3
mov rcx,4
call xxx
add rsp,0x28
1.传参方式
首先说明一下,在X64...前4个参数分别是 rcx rdx r8 r9进行传参.多余的通过栈传参.从右向左入栈.
2.申请参数预留空间
在x64下,在调用一个函数的时候,会申请一个参数预留空间.用来保存我们的参数.比如以前我们通过...[rsp - 8],rcx
mov [rsp - 0x10],rdx
mov [rsp - 0x18],r8
mov [rsp - 0x20],r9
xxx
如下图:
我们编写一个简单的x64程序...然后下方的汇编对其寄存器赋值.进行传参.说明我们只有4个参数.
此时进入Call内部.看下栈.
?
3.栈按照16字节对齐
现在我们应该明白了.在调用一个函数的时候.