AMD64组装的全新产品。以下代码返回0(STATUS_SUCCESS
),但是TargetHandle
不正确。我想这可能与需要分配影子空间并在16位边界上对齐有关吗? SUB RSP, XXX
似乎也没有帮助。我想念什么?我这样做主要是为了研究。
function NtDuplicateObject(SourceProcessHandle: THandle;
SourceHandle: THANDLE;
TargetProcessHandle: THandle;
TargetHandle: PHANDLE;
DesiredAccess: ACCESS_MASK;
InheritHandle: ULONG;
Options: ULONG): Integer;
asm
MOV R10, RCX
MOV RAX, $39 // Windows 7 syscall ID
SYSCALL
end;