Voltar à lista
Windows Win32Memóriakernel32.dll

VirtualAllocEx

Como VirtualAlloc, mas aloca memória no espaço de endereçamento de outro processo.

Descrição

Passo típico antes de WriteProcessMemory + CreateRemoteThread ao injetar código em outro processo.

Header: memoryapi.hDLL: kernel32.dllNative API: NtAllocateVirtualMemory

Assinatura

LPVOID VirtualAllocEx(
    HANDLE hProcess,
    LPVOID lpAddress,
    SIZE_T dwSize,
    DWORD flAllocationType,
    DWORD flProtect
);

Parâmetros

ParâmetroTipoDescrição
hProcessHANDLEHandle do processo alvo, com direito PROCESS_VM_OPERATION.
lpAddressLPVOIDEndereço sugerido no processo alvo, ou NULL.
dwSizeSIZE_TTamanho da região.
flAllocationTypeDWORDMEM_COMMIT, MEM_RESERVE.
flProtectDWORDProteção inicial da região.

Valor de retorno

Endereço base da região no processo alvo em sucesso; NULL em erro (consulte GetLastError).

Códigos de erro (GetLastError)

ERROR_ACCESS_DENIED(5)
Acesso negado.
ERROR_NOT_ENOUGH_MEMORY(8)
Memória insuficiente para processar o comando.

Relacionadas