-
-
[讨论]关于x64汇编调用api的问题
-
发表于:
2014-1-10 10:52
8582
-
以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
有没有相关资料介绍下调用的规则?
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!