Вы должны работать от имени администратора, чтобы производить запись в память внешнего процесса. Но вам не нужно запускать от имени администратора для чтения.
Да, вы можете писать программы, очищающие внешнюю память процесса.
Все меры защиты, которые вы делаете в пользовательском режиме, можно легко обойти из пользовательского режима.
Если вы хотите запретить людям использовать ReadProcessMemory в вашем процессе, вам необходимо создать драйвер ядра, который удаляет дескрипторы, открытые OpenProcess ().
В качестве более простой защиты пользовательского режима вы можете перечислить все открытые дескриптор процесса и закрытие вашего процесса, когда для вашего процесса будет обнаружен дескриптор с разрешениями, которые вам не нравятся (из процесса, который выглядит рискованно). Все еще лишь незначительное раздражение для тех, кто обладает навыками.