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

Реверсивный поиск указателей и поиск существ в мире


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

Заранее прошу прощения, за такой наверное низкоуровневый вопрос, пытаюсь взломать игру Terraria и у меня появились некоторые вопросы по созданию трейнера.Без каких либо проблем нашел здоровье игрока и структуру игрока, но я не совсем понял тему по  Реверсивному поиску указателей.На скрине,оффсет здоровья игрока - 03AC - это в 16 ричной, в 10ричной будет - 940 unknown.pngюСмещение 940 от начала структуры игрока, а вот как мне найти начало структуры мира? Понимаю , что на вопрос ответить будет трудно не имя представления об игре и данных о ней, но постарайтесь пожалуйста :). И еще был вопрос как найти структуры сущностей / игроков?

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

33 минуты назад, Yanoli сказал:

Понимаю , что на вопрос ответить будет трудно не имя представления об игре и данных о ней, но постарайтесь пожалуйста :). И еще был вопрос как найти структуры сущностей / игроков?

 

Это всё очень просто, на самом деле. Тебе достаточно представить общую картину. Держи для примера, вот так вызывается метод стрельбы у твоего персонажа. 

IPhysicalWorld->IEntity->IActor->IItem->IWeapon->StartFire();

Например, через СЕ (если тебе нравится использовать СЕ) находишь количество патрон, выходишь на функцию стрельбы, а через неё уже отслеживаешь дальше, до нужного тебе места. Вместо патрон, ты можешь использовать всё, что относится к актёру (здоровье, броня, координаты и т.д.)

 

 

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

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

 

Это всё очень просто, на самом деле. Тебе достаточно представить общую картину. Держи для примера, вот так вызывается метод стрельбы у твоего персонажа. 


IPhysicalWorld->IEntity->IActor->IItem->IWeapon->StartFire();

выходишь на функцию стрельбы, а через неё уже отслеживаешь дальше, до нужного тебе места.

 

 

Я наверное многого прошу, но не могли бы вы дать ссылку на видеоролик, где этому можно было бы научиться?Или статью?

 

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

В 15.01.2021 в 19:21, Yanoli сказал:

Я наверное многого прошу, но не могли бы вы дать ссылку на видеоролик, где этому можно было бы научиться?Или статью?

 

кажется здесь было, ролик №4 - https://youtube.com/playlist?list=PL1rFTirh2a0OiFJerJUT3a7UXEL5M7xxD

 

Рекомендую посмотреть весь плейлист.

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

10 часов назад, youneuoy сказал:

кажется здесь было, ролик №4 - https://youtube.com/playlist?list=PL1rFTirh2a0OiFJerJUT3a7UXEL5M7xxD

 

Кажется нет, там только словесное объяснение значения указателей,а примера работы там нет :(

 

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

Простите, я пересматривал этот урок несколько раз, но только почему то сейчас обратил мнимание на один момент.Дело в том , что я не понял почему вы из предложенных вариантов взяли именно то значение на 19:55.Объясните пожалуйста, если не трудно

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

28 минут назад, Yanoli сказал:

Простите, я пересматривал этот урок несколько раз, но только почему то сейчас обратил мнимание на один момент.Дело в том , что я не понял почему вы из предложенных вариантов взяли именно то значение на 19:55.Объясните пожалуйста, если не трудно

я не пересматривал всё видео, поэтому могу ошибиться, но кажется всё подробно объясняется.

Вот, например, тебе писали выше такое:

В 15.01.2021 в 17:09, JustHack сказал:

IPhysicalWorld->IEntity->IActor->IItem->IWeapon->

 

Вот эти стрелочки это получение адреса структуры по указателю на неё(наверное это так можно назвать). Т.е. в каждой из структур этой цепочки записан адрес начала следующего звена. На 19:55 автор ролика при помощи CE ищет все указатели на начало структуры оружия. Один из них является полем структуры игрока - предыдущего звена цепочки указателей. В данном случае она выглядит вот так(20:53  на видео, там видны строки из кода) - unknown.png
Почему было выбрано конкретное значение из результатов поиска? Вероятно потому, что найденный адрес находится "рядом" c адресом структуры оружия,  при этом выбор был сделан исходя из знания, которого не будет при реверсе чего-то другого(автору, так как он сам написал код программы-примера точно известен размер всех структур, порядок, в котором для них выделяется память и т.д.). На деле иногда приходится таким образом перебирать немалое число адресов.


Попробуй полностью повторить всё, что есть в роликах, быстро поймёшь как это работает.

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

Я пробовал сегодня сделать что то подобное,но я чувствую,что делаю это наугад,и это чувство как то нарягает.У меня в итоге что то не получилось,но я ещё попробую завтра.Можно ли как то рассчитать размер допустим структуры игрока и как то выйти на структуру мира?Ах да,мне прям нетерпимая узнать,вот игра террария ,представим ее так:

World->Player/Mobs->Gun/Pickaxe/...(любое другое оружие).->Projective(Снаряды,выпускаемые оружием)(любое другое оружие).Вот допустим,я нашёл структуру игрока,как мне найти структуру мобов или всех существ в игре? Или как мне от структуры игрока перейти на структуру кирки или оружия? Можно ли с вами как то связаться в вк или discord?

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

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

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

15 часов назад, Yanoli сказал:

Я пробовал сегодня сделать что то подобное,но я чувствую,что делаю это наугад,и это чувство как то нарягает.

Пока ты не изучишь хоть немного матчасть, ты не сможешь ничего сделать. Ты так и будешь просить, чтобы тебя ткнули носом на каждом этапе. Иди смотри уроки @Xipho , @Garik66 , @keng и изучи, что такое указатели, структуры и как они хранятся в памяти. Потом у тебя всё получится.

 

15 часов назад, Yanoli сказал:

Вот допустим,я нашёл структуру игрока,как мне найти структуру мобов или всех существ в игре?

Все ответы на эти вопросы, тебе были даны в ЭТОМ посте. Но, пока ты не поймёшь, как всё работает, ты будешь смотреть на это, как баран на новые ворота. Если я тебе скажу (хотя ты сам должен был понять), что все сущности на локации (твой актер это тоже по сути сущность) хранятся в этой цепочке

 

IPhysicalWorld->IEntity->IActor->IItem->IWeapon->

в IEntity, тебе же ничего это не даст.

 

15 часов назад, Yanoli сказал:

как мне от структуры игрока перейти на структуру кирки или оружия?

 

Чтобы найти структуру оружия в этой цепочке, тебе нужно двигаться вправо.

ИгровойМир->СписокСущностей->ТвойПерсонаж->Инвентарь->Оружие->

Я поставлю тебе минус за то, что я уже второй раз отвечаю тебе на тот же вопрос, а ты даже не читаешь, что тебе ответили.

 

 

 

 

 

 

 

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

2 минуты назад, JustHack сказал:

 

 

 

Чтобы найти структуру оружия в этой цепочке, тебе нужно двигаться вправо.


ИгровойМир->СписокСущностей->ТвойПерсонаж->Инвентарь->Оружие->

 

Я это понимаю, мне просто надо узнать как сделать это конкретно

 

 

 

 

 

 

 

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

Я просто сейчас пытаюсь научиться пользоваться этим инструментом, но мне не все понятно, вот и задаю вопросы, аа видео Xipho я итак посмотрел.

 

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

  • Xipho закрыл тема
Гость
Эта тема закрыта для публикации ответов.
×
×
  • Создать...

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

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