关于x64汇编调用api的问题

来源:互联网 发布:巨浪金融研究所数据 编辑:程序博客网 时间:2024/05/17 04:29
以RadASM为例子
win32汇编调用api比较简单
invoke api名字,参数




64位的就不会了
用ida看了一下生成的汇编代码,下面是个例子




call    cs:GetCurrentProcess
mov     r9d, 0Ch        ; nSize
mov     r8, rdi         ; lpBuffer
mov     rdx, rsi        ; lpBaseAddress
mov     rcx, rax        ; hProcess
mov     [rsp+38h+var_18], 0
call    cs:WriteProcessMemory
mov     rbx, [rsp+38h+arg_0]
mov     rsi, [rsp+38h+arg_8]
mov     eax, 1
add     rsp, 30h
pop     rdi
retn




32位的就比较好理解,直接push
push    0               ; lpNumberOfBytesWritten
push    5               ; nSize
push    offset unk_10003018 ; lpBuffer
push    lpAddress       ; lpBaseAddress
push    hProcess        ; hProcess
call    WriteProcessMemory




有没有相关资料介绍下调用的规则?
0 0
原创粉丝点击