Warum erlaubt Windows das Lesen und Schreiben im Speicher eines anderen Prozesses?

Warum erlaubt Windows das Lesen und Schreiben im Speicher eines anderen Prozesses?

Ich habe festgestellt, dass viele Debugger (wie x64dbg) oder Hex-Viewer (HxD) es Ihnen ermöglichen, auf den Speicher eines anderen Prozesses zuzugreifen und ihn zu ändern. Dies funktioniert, ohne dass Sie um Erlaubnis fragen müssen.

Ich habe sogar ein einfaches Programm geschrieben, das eine Zeichenfolge im Speicher anderer Prozesse ersetzt, und es funktioniert. (Es verwendet die Funktionen CreateToolhelp32Snapshot, Process32First und Process32Next, um den Prozess zu finden, OpenProcess, um darauf zuzugreifen, VirtualMemoryEx, um gültige Speicherorte zu erhalten, und ReadProcessMemory/WriteProcessMemory, um darin zu lesen/schreiben.) Es könnte möglicherweise für böswillige Aktivitäten missbraucht werden.

Warum funktioniert das? Warum bietet uns Windows eine solche Funktionalität? Sollte sie nicht stärker eingeschränkt sein?

verwandte Informationen