如何在Delphi中制作x64 SYSCALL

时间:2019-01-18 21:45:57

标签: delphi assembly x86-64 system-calls win64

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;

0 个答案:

没有答案