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

Проблема с поиском значений в игре.


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

Здравствуйте.

Опять столкнулся с проблемой. Ничего подобного не доводилось еще встречать. Удалось пока найти HP, X, Y и Z значения персонажа, но вот с мобами возникли серьезные проблемы.

Поиск разных значений моба результата не дает.

Вот пример моих попыток поискать HP моба. Пробовал искать Unknown initial value в All. Искал следующим образом, беру моба в таргет, сканирую, наношу урон, делаю Decreased Value, наношу урон и опять сканирую, меняю таргет на моба с большим количеством HP, ищу Increased Value, наношу урон и т.д. В итоге ноль результатов... Пробовал еще варианты с отключением Fast Scan, с разными типами(4 byte, Float, Byte и т.д.), все безрезультатно.

Также не дает результата поиск других значений. String тоже безрезультатно, после отсеивания остается ноль результатов. Единственное, что удалось найти, это HP конкретного моба, при смене таргета, значение не меняется и все еще отображает HP первоначально сканированного моба.

Есть какие-нибудь идеи?

Буду очень благодарен за ваши советы и идеи!

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

36 минуты назад, kitsocial сказал:

Единственное, что удалось найти, это HP конкретного моба, при смене таргета, значение не меняется и все еще отображает HP первоначально сканированного моба.

Есть какие-нибудь идеи?

 

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

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

35 минуты назад, partoftheworlD сказал:

 

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

Благодарю за ответ.Прикрепил скрин. Могу попросить чуточку подтолкнуть/прояснить, на что здесь стоит обратить внимание? С чем именно работать?

Скрытый текст


4da4211ada13c42bb74d67bd017f9c26.png

 

 

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

4 минуты назад, kitsocial сказал:

Могу попросить чуточку подтолкнуть/прояснить, на что здесь стоит обратить внимание?

 

После установки бряка выбери моба должна по идее появится еще инструкция.

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

3 минуты назад, partoftheworlD сказал:

 

После установки бряка выбери моба должна по идее появится еще инструкция.

Т.е., если я правильно понял, то в одном из этих бряков должна быть инструкция со значением HP выделенного таргета? Т.е., если я сначала выберу одного моба с 50 HP, он отобразит это количество, а если я возьму в таргет моба со 100 HP, то эта же инструкция отобразит уже 100 HP, да?

Пробовал подобное, после каждого выделенного моба, добавляется инструкция с его HP, динамической нет.

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

19 минуту назад, kitsocial сказал:

Т.е., если я сначала выберу одного моба с 50 HP, он отобразит это количество, а если я возьму в таргет моба со 100 HP, то эта же инструкция отобразит уже 100 HP, да?

 

Типа того, лучше конечно смотреть по количеству срабатываний. 2 раза мобов выбрал 2 раза сработала.

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

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

 

Типа того, лучше конечно смотреть по количеству срабатываний. 2 раза мобов выбрал 2 раза сработала.

Спасибо большое за терпение и ответы. Жаль не могу плюс ставить в репутацию, ну да ладно, наверстаю еще ;)

Так вот, данный метод так и не дал нужного результата... Провел много тестов, но нужного динамического адреса моба ни в одном из опкодов так и не нашел...

Опкоды в СЕ работает с 8 разными адресами, первый, чаще всего - адрес HP моего персонажа, второй, добавляется HP взятого в таргет моб, третий, следующий взятый в таргет моб и т.д(до 8).

Т.е., забивается 8 статистическими адресами, которые указывает адрес только определенного моба, никакого намека на динамический...

Есть ли другой способ как-то выйти из этого ступора?

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

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

Провел много тестов, но нужного динамического адреса моба ни в одном из опкодов так и не нашел...

Твоя задача сейчас найти общую структуру в которой хранятся все мобы возможно и игроки, а не динамический адрес. Возможно там что-то типа адреса начала общей структуры + id моба * шаг между структурами мобов. Динамического может и не быть, а раз инструкция работает с хп, то тебе надо смотреть код выше, возможно с выходом из функции, где-то по близости должна быть инструкция указывающая что писать в статический адрес, а еще выше откуда берется значение пишущее в статический адрес.

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

9 часов назад, kitsocial сказал:

Есть ли другой способ как-то выйти из этого ступора?

По-моему ты зациклился на той инструкции, попробуй ещё раз:

1. Выйди на рабочий адрес НР твоего персонажа, с помощью которого ты можешь менять НР своего персонажа.

2. Поставь бряк на чтение (именно на чтение) на этот адрес.

3. В окне бряка  ПКМ -> "Проверять инструкции на обращение к другим адресам (мах 8)" (не знаю как это пишется на англ. - 5 строка сверху). При этом в самой игре ничего не делай.

Скорее всего будут инструкции, которые обращаются не только к ГГ, но и к мобам.

 

ЗЫ: Если бы дал название игры, тебе помогли бы быстрее.

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

3 часа назад, Garik66 сказал:

По-моему ты зациклился на той инструкции, попробуй ещё раз:

1. Выйди на рабочий адрес НР твоего персонажа, с помощью которого ты можешь менять НР своего персонажа.

2. Поставь бряк на чтение (именно на чтение) на этот адрес.

3. В окне бряка  ПКМ -> "Проверять инструкции на обращение к другим адресам (мах 8)" (не знаю как это пишется на англ. - 5 строка сверху). При этом в самой игре ничего не делай.

Скорее всего будут инструкции, которые обращаются не только к ГГ, но и к мобам.

 

ЗЫ: Если бы дал название игры, тебе помогли бы быстрее.

Я проверил все инструкции(в сумме получилось ~50), но ни одного подходящего не нашел, увы...

С HP также заново попробовал сейчас, никакого результата.

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

Нет такого адреса, который бы динамично отображал HP моба при смене таргета на нового моба.

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

А в чем проблема сказать название игры?

Вряд ли там будет значение которое отображает хп выбранного моба. Как это вижу я:

есть класс Entity, который как наследуется всем объектам. Значит базовые переменные, которые вполне могут там быть - это entity_id ( на который тебе надо выйти, он то и берется для смены таргета ), а так же hp и позиция +- шелуха.

Если же получилось так, что смещение на HP твоего персонажа одно, а у моба - другое, значит ты делаешь что то не так ( вероятно ). Я уже делал подобную функцию в BSFG, и там много было путей выхода на entity_id. Ну, самое верное это выйти на общий список сущностей, раскрутив какую либо функцию которая работает со структурой. Просто найди ее базовый адрес, который кладется в стек до вызова самой функции ( либо кладется в регистр, который работает со структурой - разберешься ), и дальше уже реверсь структуры) Ну а как найдешь айдишники в структурах, то можно и поискать глобальную переменную ( она обычно просто к какому то интерфейсу относится ) в которой хранится айди текущего таргета, ну и через эту переменную ловишь нужную инструкцию

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

  • 4 недели спустя...

 

В 13.03.2017в05:43, uhx сказал:

А в чем проблема сказать название игры?

Вряд ли там будет значение которое отображает хп выбранного моба. Как это вижу я:

есть класс Entity, который как наследуется всем объектам. Значит базовые переменные, которые вполне могут там быть - это entity_id ( на который тебе надо выйти, он то и берется для смены таргета ), а так же hp и позиция +- шелуха.

Если же получилось так, что смещение на HP твоего персонажа одно, а у моба - другое, значит ты делаешь что то не так ( вероятно ). Я уже делал подобную функцию в BSFG, и там много было путей выхода на entity_id. Ну, самое верное это выйти на общий список сущностей, раскрутив какую либо функцию которая работает со структурой. Просто найди ее базовый адрес, который кладется в стек до вызова самой функции ( либо кладется в регистр, который работает со структурой - разберешься ), и дальше уже реверсь структуры) Ну а как найдешь айдишники в структурах, то можно и поискать глобальную переменную ( она обычно просто к какому то интерфейсу относится ) в которой хранится айди текущего таргета, ну и через эту переменную ловишь нужную инструкцию

 

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

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

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

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

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