Мой пример остается тем же.Tutorial CheatEngine.
Будем работать с указателями.
Указатель - Это такая же переменная,которая была создана и объявлена кодом ранее.(Как мог объяснил)
Будет немного сложнее,чем было ранее.Так как указатель меняет адрес.Для освобождения адреса.По простому адрес становится динамическим,что бы не забивать память программы,игры или процесса.
И так,что мне известно?
1.Мне известно значение,которое я могу легко найти.
2.Имеется кнопка указателя,при нажатии,указатель меняется и следовательно адрес тоже.
Итак приступим...
Описывать как найти значение,не буду.Отдельные темы уже созданы на форуме.
После нахождения значения и его проверки.
Смотрим инструкцию которая обращается к этому адресу.
Делаем так,что бы значение изменилось.Появится инструкция,возможно что не одна.
(Для танкистов.Появится несколько значений именно они и как-то обращаются к адресу)
Там же ниже в таблице с инструкциями,будет возможный следующий адрес.
Пример:
Ищем там этот адрес.Может быть что он и не будет записан,как показано в примере,а вот так (К примеру)
Выделяем именно так как показан,возможный адрес.
Сканируем наш найденный адрес.Переходим в CE.
Выбираем сканирование "HEX"
Вставляем наш адрес.Начинаем сканировать.
В моем примере,я знаю что адрес будет один,будет он статический.
Добавляем найденный адрес,в таблицу адресов.Указываем,что адрес будет с указателем.
В строку пишем наш адрес значения,который мы нашли,через поиск HEX.
Подтверждаем.Теперь в таблице адресов,появился указатель.Что бы проверить его нужно перезапустить процесс.Игры,программы.
В моем случаи есть кнопка сменить указатель,что я и делаю.Теперь мне указатель,сам указывает на адрес.
Разница,после каждого перезапуска адрес будет меняться,а указатель его будет находить автоматически.Сколько бы раз я не менял значение,указатель будет сам находить адрес.
Данный метод подходит для решения проблемы с DMA - Динамические адреса,которые после перезапуска,уже не будут работать и придется искать по новой.
CheatEngine -