Como você lê diretamente da memória física?
Em C ou C ++ (windows), como você lê a RAM fornecendo um endereço físico (não virtual)? Isso significa que você não precisa passar pelo sistema de memória virtual (tabelas mmu) e ser específico para um process
Já conheço a APIReadProcessMemory
, que lê do ram (usado pela maioria dos treinadores), mas é apenas para um processo específico.
Procurei no MSDN e descobri queDevice \ PhysicalMemory parece oferecer essa possibilidade, mas não encontrei nenhum exemplo prático e esse recurso parece ter sido desativado pelos service packs do Windows (para corrigir alguma vulnerabilidade
Eu sei que é possível fazer isso porque o WinHex faz isso (se você escolher "ferramentas"> "abrir memória ram"> "memória física"). Em seguida, ele exibirá o conteúdo da RAM de 0x00000000 para o seu_ram_size, exatamente como quando você abre um arquivo tradicional. Requer direitos de administrador, mas não há driver para instalar (o que significa que o WinHex faz isso no modo de usuário
EDIT: informações adicionais sobre os.