我正在尝试推送一个 64 位整数,但在组装 NASM 时似乎希望将其视为 DWORD 而不是 QWORD。
我正在使用 ASM 创建将 64 位 DLL 注入 64 位进程所需的 shellcode。第一个QWORD是旧指令指针,第二个是包含DLL地址的地址,第三个是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