Windows блокирует исполняемый файл во время его работы, .EXE не может быть отредактирован или переименован / удален.
.DLL файлы также доступны только для чтения, поэтому их нельзя редактировать, но их можно переименовать, чтобы злая программа могла выполнить замену .DLL.
Linux позволяет unlink
редактировать файлы, пока они используются, поэтому применяются атаки замены. Я не знаю, есть ли способ отредактировать их на месте.
Если исполняемый файл находится в сетевой папке, эти ограничения могут не применяться, это будет зависеть от реализации сервера и используемого протокола.