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

Поиск структур, содержащих строки


botmaker

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

Здравствуйте, подскажите, пожалуйста, как правильно бороться со строками?
Моя проблема заключается в том, что не могу найти корректно поинтмап до строки, либо нахожу мусор, либо дисплейные значения индикаторов и тд.
Искомая переменная - имя моба, однотипных мобов может быть целая пачка из нескольких экземпляров с одинаковым именем.
Сейчас у меня имеются координаты мобов, их уровень здоровья, хотелось бы найти и имя тоже.
Координаты мобов - многоуровневый указатель на начало массива, прибавляю оффсет 4, получаю данные следующего моба - хп, координаты.

Как правильно найти строку относительно данного массива? Пробовал Structure Spider, Compare struct и тд, байт слишком много, затрудняюсь найти нужные, пробовал через общий поиск строки, но с предыдущей поинтмап они не схожи и вообще, скорее указывают на единичную строку, а не как с массивом структур.

Кто может показать мастеркласс/объяснить, если все будет понятно и полезно, готов поблагодарить монетой.

ПС. строка чаще всего в кириллице.

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

  • Xipho изменил название на Поиск структур, содержащих строки

Где же все спецы?
UPD: попробовал pointscan с базовым адресом элемента массива структур вплоть до 12го уровня с размером структуры в 2048 байт, не помогло.
Возможно, есть ассоциативный массив, содержащий имена объектов где-то отдельно, связанный по id объекта, но пока что это только догадки.

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

5 часов назад, botmaker сказал:

Где же все спецы?

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

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

2 часа назад, Xipho сказал:

По теме: твой случай выглядит как массив структур, и тебе нужно найти именно эту структуру. А дальше стандартным способом добираться по оффсетам.

Об этом и я писал выше, массив - нашел. Вопрос в том, как найти строку в этой громадной многоэтажной структуре, посмотрел оффсеты, некоторые достигают значения 0x870, смотрел вдоль и поперек, дальше 3го указателя от структуры не заходил, ибо там совсем много значений, строку не нашел. Вдруг ее просто там нет, а лежит где-то отдельно в другом ассоциативном массиве.

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

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

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

Берешь GHIDRA, дизассемблируешь, ищешь необходимые строки, смотришь их адрес, и ищешь в памяти указатели на эти строки. Потом отладчиком смотришь, кто читает эти строки.

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

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

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

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