Системата е едно.
Приложния софтуер - друго.
С и С++ ти позволяват да адресираш всяко място в паметта.
Ако си написал такава програма.
Имаше едно тулче, което ползвах преди време, за да потърся определени неща в една игра и да си раздам малко злато.
Не помня, как се казваше. То със сигурност е написано на С.
Rust и Zig например, не позволяват да адресираш памет, която е на друг процес.
Но да четеш паметта ползвана от друг процес до голяма степен зависи от самата система и как се определят правата върху процеса и ресурсите му.
Има условности тук.
Можеш обаче да ползваш възможностите на системата и да пуснеш програма, която мислиш, че някой може да иска да я ръчка от другаде, в изолирана среда - например Докер.
За съжаление не мога да кажа, как става със С или С++, щото нито един от двата не съм пипал по-сериозно.
В линукс система разбира се, можеш директно /proc да достъпиш и да си четеш. Но пак - права.
Сега се поинтересувах и чета, че в Windows например, самата система си има механизми, да четеш паметта на друг процес.
Или посредством манипулация на dll-ите.
Обаче:
Modern operating systems enforce strict security measures to prevent unauthorized access to a process's memory. Attempting to read or write another program's memory without proper permissions will typically result in an error or crash.
Не мисля, че вече е толкова лесно.
Разни некадърници, писачи на код лесно могат да оставят пролуки и всякакви мизерийки, дето да ти позволят да компрометираш програмата им.
Радвам се, че и на мен не ми се налага да пиша разни сериозни неща, щото и аз съм от тях, но поне си зная възможностите си надявам се, не се заблуждавам по въпроса.