Я сделал пример, который записывает в память процесса с помощью task_for_pid() и mach_vm_write().Предотвращение доступа к памяти процесса
task_for_pid(mach_task_self(), pid, &target_task);
mach_vm_write(target_task, address, '?', local_size);
Есть ли способ, чтобы блокировать доступ к памяти конкретного процесса от других процессов, таких как читы двигатель на OS X.
Как предотвратить другой процесс от вызова task_for_pid?
Не то, чтобы многие другие приходят на ум, за исключением крючков.
Я создал kext, чтобы заменить task_for_pid на task_for_pid. Он блокирует доступ к определенному процессу, но множество приложений вызывает task_for_pid. Существует побочный эффект вызова моей задачи_for_pid. Некоторые приложения не могут выполняться. – tnrgus
Все, что вам нужно сделать, это просто разрешить приложениям нормально работать, если это не процесс/задача, которую вы пытаетесь защитить. Таким образом, другие приложения будут выполняться и работать корректно. – Technologeeks
Если мой kext запускается после запуска приложения, которое я хочу защитить, нет проблем. Я не знал, что task_for_pid вызывается при запуске приложения. Могу ли я узнать, какой процесс называется task_for_pid? – tnrgus