Почему Windows позволяет читать и записывать данные в память другого процесса?

Почему Windows позволяет читать и записывать данные в память другого процесса?

Я обнаружил, что многие отладчики (например, x64dbg) или шестнадцатеричные просмотрщики (HxD) позволяют вам получать доступ и изменять память другого процесса. Это работает без запроса разрешения.

Я даже написал простую программу, которая заменяет строку в памяти других процессов, и она работает. (Она использует функции CreateToolhelp32Snapshot, Process32First, Process32Next для поиска процесса, OpenProcess для доступа к нему, VirtualMemoryEx для получения допустимых ячеек памяти и ReadProcessMemory/WriteProcessMemory для чтения/записи в него.) Потенциально ее можно использовать для вредоносной деятельности.

Почему это работает? Почему Windows предоставляет нам такую ​​функциональность? Разве не должно быть больше ограничений?

Связанный контент