-
-
[讨论]关于x64汇编调用api的问题
-
发表于:
2014-1-10 10:52
8624
-
以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
有没有相关资料介绍下调用的规则?
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课