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