Перейти к содержанию

Руч. поиск мн.ур. указателей - при поиске по предполаг. указателю, много адресов? Как отсеять?


Рекомендуемые сообщения

Всем привет! Столкнулся с такой ситуацией по ручному поиску многоуровневых указателей...

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

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

Я так понимаю, что в процессе между поисками предполагаемых указателей исходное значение первого адреса менять нельзя, чтобы не сбить цепочку? Или как это делается. В уроках этого нет, а в примерах прохождения туториалов в интернете у других либо один адрес в результате поиска, либо они просто добавляют какой-то один, не комментируя, почему именно он.

Ссылка на комментарий
Поделиться на другие сайты

Есть очень много руководств, как искать указатели. Я очень и очень редко ищу целые указатели. Проще править код. Если надо структурки сравнивать, то можно поискать и указатели.

 

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

 

Самый простой способ через сканер памяти и отладчик. В этом случае как повезет + надо записывать разные варианты. Перезагружать процесс.

Еще простой способ и долгий автоматический поиск.

И еще один способ отказаться от указателей полностью редактируя код или использовать частичные уровни указателей 1,2 уровня (или больше, сколько надо) как для сравнения структур так и для инъекции.

Ссылка на комментарий
Поделиться на другие сайты

Уже разобрался... По крайней мере, в туториале.

Сначала попробовал по-другому поисковой запрос делать. То есть, не значение по адресу указателя искать... Ну, то есть, не по тому 16-ричному значению, которое указано в окне "Доп. информация" в строке "Предполагаемое значение указателя"... А через сам адрес в таблице... То есть, в посковом запросе писал 0xAddress-0xOffset, но результат получался таким же.

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

Все равно, спасибо за советы.

А способов много, конечно. Я просто пытаюсь научиться, поэтому изучаю все.

Ссылка на комментарий
Поделиться на другие сайты

В Cheat Engine есть программа туториал и там должно быть упражнение по поиску указателей как раз через сканер памяти и установку брейкпоинта.

На ютубе должны быть наглядные решения этих туториалов. Там ничего сложного нет. Даже можно без сканера пройтись вверх по дизассемблеру и составить указатель.

Найти видео можно по фразе "cheat engine tutorials"

 

Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.