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: NtAllocateVirtualMemoryAssinatura
LPVOID VirtualAllocEx(
HANDLE hProcess,
LPVOID lpAddress,
SIZE_T dwSize,
DWORD flAllocationType,
DWORD flProtect
);Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
| hProcess | HANDLE | Handle do processo alvo, com direito PROCESS_VM_OPERATION. |
| lpAddress | LPVOID | Endereço sugerido no processo alvo, ou NULL. |
| dwSize | SIZE_T | Tamanho da região. |
| flAllocationType | DWORD | MEM_COMMIT, MEM_RESERVE. |
| flProtect | DWORD | Proteçã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.