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

Достать ники из игры (WoT Blitz PC)


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

Здравствуйте, нужен совет.
Есть игра WoT Blitz от wargaming (в стиме на пк). 
Если не вкурсе, это сессионная игра 7х7 игроков, подбираются рандомно на сервере и клиенту высылаются ники и техника (может что-то еще). 


Конечная цель - во время загрузки боя получить ники игроков. 


Пробовал посмотреть псевдо-код через ida pro + hex rays, куча функций sub_xxxx (цифры) и в каждой 5-10 строк псевдокода, в общем все обфусцировано. 
Пробовал проснифать трафик клиент сервер через Wireshark - при загрузке боя приходят 5 пакетов по 1200 байт, но они зашифрованы. 
Начал искать по нику игровому. На поиск моего ника СЕ выдает 100, после небольшой фильтрации 50 адресов, они все динамические. Не знаю как выйти на статический адрес, так как ник сменить нельзя свой. Пробовал по мануалу с ручным перебором (https://www.youtube.com/watch?v=eyvgVo0ouYY) брать разные, то если меняется с брейкпоинтом, то само значение превращается в ?? и следственно и указатель... 
Пробовал через автоматический поиск (https://www.youtube.com/watch?v=58KNATFlwko), но СЕ не умеет походу там искать по string, искал по адресу - ничего не находило. 
В общем я хз что делать. Нужно получить ники, хочу свою стороннюю программу написать которая их будет получать и обрабатывать на с++

Момент, когда сервер выслал игроков, технику и карту, клиент начинает прогрузку ресурсов. 
Красным выделил что надо получить (ники игроков), синим (карта и техника) - желательно.

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

UTsD3kz_aLU.jpg



Подскажите в какую сторону гуглить, а если кто-то делал что-то похожее и поделится - буду благодарен!

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

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

13 часа назад, HiroX сказал:

Пробовал проснифать трафик клиент сервер через Wireshark - при загрузке боя приходят 5 пакетов по 1200 байт, но они зашифрованы.

Какой протокол используют?

 

13 часа назад, HiroX сказал:

Пробовал посмотреть псевдо-код через ida pro + hex rays, куча функций sub_xxxx (цифры) и в каждой 5-10 строк псевдокода, в общем все обфусцировано. 

Пробуй сделать дамп и анализировать в ida когда игра загружена.

 

13 часа назад, HiroX сказал:

Подскажите в какую сторону гуглить, а если кто-то делал что-то похожее и поделится - буду благодарен!

Тут много вариантов,

1.найти хп игрока, себя/не себя и выйти на структуру в которой должны быть координаты, ники, номер команды и т.д
2. найти ник игрока и так же выйти на структуру, но этот вариант не очень подходит для взлома т.к много где в памяти могут они хранится, если игра масштабная.
3. если игра была собрана с помощью visual studio, то можно собрать RTTI структуры и виртуальные таблицы.

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

В 15.01.2017в14:49, partoftheworlD сказал:

Какой протокол используют?

UDP. Момент подгрузки ников с сервера:

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

FMtDbZ7vcF4.jpg

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

В 15.01.2017в14:49, partoftheworlD сказал:

Пробуй сделать дамп и анализировать в ida когда игра загружена.

Можно поподробнее как это сделать?

В 15.01.2017в14:49, partoftheworlD сказал:

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

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

это пытался сделать в течении 2 часов и проблема заключается во-первых в том, что игровая сессия - бой не более 7 минут, за эти 7 минут я успел дойти до 3его указателя в CE, во-вторых когда игру ollydbg ставит на паузу спустя какой-то таймаут (если его просрочить), то из боя выкидывает со сменой всего, в-третьих я начинаю следовать по указателям, но значение первого адреса самого начинает прыгать, то хп, то ???, один из двух адресов с одинаковым значением постоянно прыгает, при этом они в течение этих 7 минут прыгают по очереди... Вот тут я не знаю или я настолько кривой или разработчики так постарались.

Ников еще больше: своих ников по игре 40 штук минимум, при этом его не отфильтровать, так как его не сменить. Чужих ников в бою не меньше 6 штук и их так же не отфильтровать, ибо каждый бой (каждая 7ми минутная сессия) даже без перезапуска игры адреса с никами меняются...

В 15.01.2017в14:49, partoftheworlD сказал:

3. если игра была собрана с помощью visual studio, то можно собрать RTTI структуры и виртуальные таблицы.

Тут я точно хз с помощью чего она собрана.

В 17.01.2017в08:52, leshiy сказал:

Для начала расскажи, зачем тебе ники то вообще?)

Оленемер хочу сделать))

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

  • 4 недели спустя...
10 минуту назад, HiroX сказал:

У кого-нибудь еще есть каке-нибудь идеи или направления в какую сторону можно гуглить?

уже все рассказали

 

В 18.01.2017в19:22, HiroX сказал:

Оленемер хочу сделать))

А разработчики разрешают модифицировать файлы игры в проекте World of Tanks Blitz? Если нет, то это чит и его сразу забанят.

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

Самое простое, это найти API работу с файлами yaml(посмотреть мелком, он находится в самом главном файле игры) нужны знания отладчика и idapro, asm.
Настройки интерфейс хранятся в файлах игры(yaml). Ищем файлы относящие к никам игроков. 
Ищем нужную API yaml, и ставим HOOK, после этого выставляем нужные значения или модифицируем API под нужные значения.
Плюсы. Не нужно рисовать заново интерфейс игры, можно добавлять разные плюшки и есть шанс 20%-40% одобрение разработчиками.

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

В 14.02.2017в19:17, 2zolo2 сказал:

Самое простое, это найти API работу с файлами yaml(посмотреть мелком, он находится в самом главном файле игры) нужны знания отладчика и idapro, asm.
Настройки интерфейс хранятся в файлах игры(yaml). Ищем файлы относящие к никам игроков. 
Ищем нужную API yaml, и ставим HOOK, после этого выставляем нужные значения или модифицируем API под нужные значения.
Плюсы. Не нужно рисовать заново интерфейс игры, можно добавлять разные плюшки и есть шанс 20%-40% одобрение разработчиками.

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

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

Спасибо за ответ.)

Цитата

А разработчики разрешают модифицировать файлы игры в проекте World of Tanks Blitz? Если нет, то это чит и его сразу забанят.

дело в том жеж, что вся обработка игровых событий происходит на сервере игры, следственно то что можно "разблокировать" на клиенте из полезного мало, ибо сервер не выдает избыточной информации (скорее всего)

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

В 14.02.2017в19:17, 2zolo2 сказал:

Самое простое, это найти API работу с файлами yaml(посмотреть мелком, он находится в самом главном файле игры) нужны знания отладчика и idapro, asm.
Настройки интерфейс хранятся в файлах игры(yaml). Ищем файлы относящие к никам игроков. 
Ищем нужную API yaml, и ставим HOOK, после этого выставляем нужные значения или модифицируем API под нужные значения.
Плюсы. Не нужно рисовать заново интерфейс игры, можно добавлять разные плюшки и есть шанс 20%-40% одобрение разработчиками.

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

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

В 18.01.2017в19:22, HiroX сказал:

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

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

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

6 часов назад, partoftheworlD сказал:

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

Понял, спасибо за наводку, попробую обязательно, отпишусь. Не знаю как репу повысить только тут...

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

В 15.02.2017в23:20, HiroX сказал:

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

Я наверное, не правильно выразился, я говорил, чтоб ты, нашел файл из *.yaml отвечающий за рисования экрана загрузки боя и  ушей, как было, реализовано в настоящем олиметре WoT.

В 16.02.2017в10:17, HiroX сказал:

Не знаю как репу повысить только тут...

f98480199e61.jpg
 

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

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

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

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