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