PDA

Просмотр полной версии : Реверс известной онлайн ARPG для собственного офлайн сервера на FastAPI


Nikolos
11.04.2026, 23:37
Всем привет. Бьюсь над пониманием того, как из онлайн игры поэтапно подойти к созданию оффлайн игры, путём понимания нужных запросов-ответов от клиента к серверу и обратно, далее - модификация исполняемого файла через IDA Pro, удаление функции проверки обновлений при каждом старте, и далее - обмен сырыми данными со своим сервером, который будет написан например на FastAPI для начала.

Этап номер 1:

найти необходимые ключи в памяти приложения после запуска

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

дойти до этапа "Авторизация успешна", "Выбор персонажей"

свободно читать расшифрованные пакеты C->S и S->С на этом этапе

Этап номер 2:

модернизация через IDA исполняемого файла, удаление автообновления, шифрования,

первое создание сервера на FastAPI, попытка авторизоваться и повторить нужные ответы от сервера для успешной авторизации

Этап номер 3:

начало работы с игровым миром,

чтение данных из боевого сервера, перенос на свой сервер логики, API запросов-ответов

накопление знаний: расшифровав все пакеты - будет формироваться понимание и полная картина типов запросов, и видов ответа на каждый запрос клиента

Этап номер 4:

создание бд, возможно переход бэкэнда на С++ (если потребуется бОльшая производительность)

Этап номер 5:

хостинг до которого не дотянутся руки у создателей игры,

прикручивание сайта к проекту,

начало альфа-тестирования

Ссылка на то, что удалось откопать : nikolos89/sniffer
Общая ссылка на проект: nikolos89/sniffer
Был подобный проект в 2018 году, но сейчас уже не актуально, уже примерно как 8 лет: GitHub - ncatlin/exileSniffer: A protocol decryption and dissection tool for the game 'Path of Exile'

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

Было проведено много времени на изучение в IDA PRO 9.2 (+MCP server) + OpenCode + Клауди Код + Грок + Дипсик.
Определено: Логин сервер это обмен с серверами игры по порту 443, не совсем стандартная TLS авторизация.

Создан проект на питоне, который позволяет искать ключи(неверные) и мониторить входящий/исходящий сырой(RAW) трафик.

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

Всем кто хочет принять участие в проекте буду рад, давайте объединим усилия и сделаем классный проект!