Поиск адреса режима Noclip в 64-битной игре, если нет возможности поиска через изменение значения
-
Пытаюсь найти адрес, который хранит флаг состояние режима "noclip", где 1 - включено и 0 - выключено в Call of Duty: Ghosts. В предыдущих играх серии, начиная с Modern Warfare 2 с помощью Cheat Engine я смог найти адрес, он расположен по смещению в несколько байт от базовго адреса "сущности игрока". На данный момент нашел адрес для игр CoD: MW2/MW3/Black Ops. Благо все эти игры 32-битные и разработчики используют один и тот же игровой движок, который немного отличается от игры к игре.
Вот этот опкод и байты для Modern Warfare 2:
F680 54AD0000 08 test byte ptr [eax+0000AD54],08
Байты и маска для поиска сигнатур в OllyDbg:
\xF6\x80\x54\xAD\x00\x00\x08 - байты xx????x - маска
Примеры смещений, по которым расположн адрес:
MW2:player + 0xAD54 - noclip player + 0x24 - Z координата
MW3:
player + 0xAE04 - noclip
Поскольку Call of Duty Ghosts — это игра с 64-битной архитектурой, и разработчики также убрали консоль, как это было в Modern Warfare 3, у меня нет опкодов, которые могут взаимодействовать с адресом noclip. Более того, я не могу найти этот адрес, изменяя значения в Cheat Engine, потому что привязка клавиш для команды noclip не работает, как и консоль. Я буду очень признателен за помощь в поиске адреса и значения!