Потому что разработчики CheatEngine используют специальные функции венды, чтобы получить доступ к памяти в другом процессе.
ReadProcessMemory, например.
Вы же просто допускаете
неопределенное поведение, потому что после выхода из функции все локальные переменные будут уничтожены и более недоступны.