
Descubrí que muchos depuradores (como x64dbg) o visores hexadecimales (HxD) te permiten acceder y modificar la memoria de otro proceso. Funciona sin pedir permiso.
Incluso escribí un programa sencillo que reemplaza una cadena en la memoria de otros procesos y funciona. (Utiliza las funciones CreateToolhelp32Snapshot, Process32First, Process32Next para encontrar el proceso, OpenProcess para acceder a él, VirtualMemoryEx para obtener ubicaciones de memoria válidas y ReadProcessMemory/WriteProcessMemory para leer/escribir en él). Podría potencialmente usarse indebidamente para actividades maliciosas.
¿Por qué funciona eso? ¿Por qué Windows nos proporciona tal funcionalidad? ¿No debería ser más restringido?