Найти правильное значение здоровья в Cheat Engine из 14 адресов - PullRequest
0 голосов
/ 05 января 2019

Я пытаюсь найти правильное смещение здоровья в игре, и моя проблема в том, что у меня найдено 14 адресов, которые меняются, когда я меняю свой адрес здоровья. Я пытался изменить значение здоровья и обновить его 10 раз и нажать «Следующее сканирование», но я не могу получить значение ниже, чем эти 14 адресов.

Нужно ли сканировать указатель для всех этих 14 адресов, или есть какой-нибудь простой способ определить, какой из них является правильным?

enter image description here

1 Ответ

0 голосов
/ 05 января 2019

Вы должны использовать метод проб и ошибок и проверять каждый адрес. Реверс-инжиниринг - это метод проб и ошибок. Вы ищете серебряную пулю, а ее нет.

Если вы уже знаете смещение, вы должны щелкнуть правой кнопкой мыши по каждому адресу и сделать «найти, какие обращения», а иногда «найти то, что пишет», и вы получите список инструкций, касающихся этих адресов и смещений, используемых для их получения. Если смещения не соответствуют вашему «известному» смещению, игнорируйте этот адрес.

Если переменная является той, к которой у вас есть доступ на запись в качестве клиента, например, ваша строка имени, вы можете использовать подход «разделяй и властвуй». Добавьте все адреса в вашу таблицу. Выберите половину из них, нажмите Enter и измените свое имя. Если ваше имя в графическом интерфейсе изменится, то ваш адрес будет выбран, поэтому вы удалите вторую половину. затем вы разделяете и снова завоевываете, эта техника устраняет 50% адресов на каждом шаге. Если ваше имя не изменилось, удалите те, которые вы выбрали, и выполните ту же технику на другой половине адресов.

Последний метод, которым я поделюсь с вами, - это использование ReClass или другого инструмента, который предоставляет вам RTTI или информацию о типе времени выполнения. Когда вы «найдете, к чему обращаетесь», вы получите адрес объекта игрока и относительное смещение. Присоедините ReClass к процессу, введите адрес объекта игрока. Указатель таблицы виртуальных методов (смещение 0x0) будет отображаться с RTTI, который сообщит вам имя класса и его родительских классов. Имейте в виду, это возможно только с двоичными файлами, скомпилированными с Visual Studio, и с RTTI, все еще встроенным.

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

...