Почему cheat engine может модифицировать память чужого приложения? Здравствуйте. У меня небольшая каша из знаний о компьютерной памяти. Я не могу понять почему cheat engine может модифировать память другого приложения(игры) и не возникает какой-нибудь segfault. Но при этом когда я в своем собственном приложении пытаюсь вернуть указатель из функции(да, на локальную переменную) - мне сразу краш с exc_bad_access error
Cheat Engine может модифицировать память другого приложения, так как она использует технику инъекции кода, которая позволяет изменять данные в памяти процесса другого приложения. Это делается путем изменения значений в определенных адресах памяти, что может привести к изменению состояния игры, например, увеличению здоровья или количества игровой валюты.
Что касается вашей проблемы с крашем при попытке возврата указателя из функции в локальную переменную, это может быть связано с тем, что память, на которую указывает возвращаемый указатель, уже освобождена и больше не доступна для чтения. При попытке получить доступ к этой памяти происходит ошибка доступа (exc_bad_access error). Для решения проблемы вам нужно убедиться, что память, на которую указывает возвращаемый указатель, все еще доступна и не была освобождена. Вы также можете использовать отладчик для выявления проблемы и исправления ее.
Cheat Engine может модифицировать память другого приложения, так как она использует технику инъекции кода, которая позволяет изменять данные в памяти процесса другого приложения. Это делается путем изменения значений в определенных адресах памяти, что может привести к изменению состояния игры, например, увеличению здоровья или количества игровой валюты.
Что касается вашей проблемы с крашем при попытке возврата указателя из функции в локальную переменную, это может быть связано с тем, что память, на которую указывает возвращаемый указатель, уже освобождена и больше не доступна для чтения. При попытке получить доступ к этой памяти происходит ошибка доступа (exc_bad_access error). Для решения проблемы вам нужно убедиться, что память, на которую указывает возвращаемый указатель, все еще доступна и не была освобождена. Вы также можете использовать отладчик для выявления проблемы и исправления ее.