![Por que o Windows permite que você leia e grave outra memória de processo?](https://rvso.com/image/1615256/Por%20que%20o%20Windows%20permite%20que%20voc%C3%AA%20leia%20e%20grave%20outra%20mem%C3%B3ria%20de%20processo%3F.png)
Descobri que muitos depuradores (como x64dbg) ou visualizadores hexadecimais (HxD) permitem acessar e modificar a memória de outro processo. Funciona sem pedir permissão.
Até escrevi um programa simples que substitui uma string na memória de outros processos e funciona. (Ele usa as funções CreateToolhelp32Snapshot, Process32First, Process32Next para encontrar o processo, OpenProcess para acessá-lo, VirtualMemoryEx para obter locais de memória válidos e ReadProcessMemory/WriteProcessMemory para ler/gravar nele.) Ele pode ser potencialmente usado indevidamente para atividades maliciosas.
Por que isso funciona? Por que o Windows nos fornece essa funcionalidade? Não deveria ser mais restrito?