64 ビット整数をプッシュしようとしていますが、NASM をアセンブルするときに、QWORD ではなく DWORD として認識したいようです。
ASM を使用して、64 ビット DLL を 64 ビット プロセスに挿入するために必要なシェルコードを作成しています。最初の QWORD は古い命令ポインター、2 番目は DLL のアドレスを含むアドレス、3 番目は LoadLibrary のアドレスです。プレースホルダーは実行時に入力されます。
section .text
global _start
_start:
BITS 64
PUSH QWORD 0xACEACEACACEACEAC
PUSHFQ
push rax
PUSH QWORD 0xACEACEACACEACEAC
MOV RAX, 0xACEACEACACEACEAC
CALL RAX
pop RAX
POPFQ
RETN