Общее:
название проекта grand mobile. Платформы IOS/Android. Но в рамках задачи работаем только android версией.
Версия игры из Google play
grand mobile мобильная версия gta sa, с картой россии и мультиплеером samp (crmp по другому). Игра использует тот же игровой движок и логику работы что и gta sa, хоть и доработана
В этом проекте, как и в оригинальной gta sa характиристики машин парсятся движком игры из файла handling.cfg при запуске (что это за файл
, если кратко то в нем идут названия машин и числовые значения характеристик
Cам лаунчер легко редактируемый в smali, но игра судя по всему на языке C или чем то подобном
В grand mobile этот файл находися по пути Android/data/com.grand.launcher/files/SAMP/handling.cfg
Но есть две проблемы, которые нужно решить
1) Игра делает проверку файлов при подключении к серверу (Уже решил, путем редактирования smali кода, smali "DownloadManager" в нем оказалось можно добавить файл handling.cfg в исключения при проверке)
2) Текст в handling.cfg зашифрован, каждая строчка имеет вид $GR$QSWJAC3KGpNsh.. и далее
Задача:
Сделать дешифратор handling.cfg, в виде html страницы (с полем ввода и вывода) с возможностью шифровать и дешифровывать строчки из handling.cfg
Дешифратор самое важное, можно сделать на чем угодно для начала( прим Python) а потом нейронокой упаковать в одну страницу html
После получение дешифратора кастомизировать любой транспорт в файле handling.cfg, загрузить в игру, проверить работоспособность
Любая ошибка в handling.cfg приведет к крашу игры (например лишняя цифра, буква)
Критерий приемки:
1) В игре можно менять характеристики любого транспорта путем редактирования handling.cfg, без вылетов и багов.
2) Модифицированный apk, который не проверяет хеш handling.cfg при запуске игры (уже есть)
3) Краткая инструкция по дешифровке, на будущее если вдруг измениться шифр игры
Прочее:
Для просмотра файлов внутри Android можно использовать MT Manager
Для перехвата команд приложения в runtime frida (но у меня не получилось завести)
В игре уже есть handling_drift.cfg, но он загружается только у машин с установленным в игре дрифт модом и не проверяется при запуске игры. (это супер редкая штука)
Количество строчек и текст в handling у grand mobile и оригинальной gta sa будут отличаться, т.к в гранде много новых машин, но часть строчек скорее всего будут совпадать(например названия стандартных машин) это на случай если получится дешифровать только на основе текста.
Цель модификации:
Просто настроить машины и дрифтить по фану))