Полноценный автономный сервер-эмулятор (бэкенд) для старого Android-приложения «МегаФон Деньги» (примерно 2012 года выпуска). Проект создан в рамках реверс-инжиниринга и изучения архитектуры мобильных финансовых приложений эпохи Android 2.3 - 4.x.
Сервер эмулирует старое API МегаФона (/api/odp), позволяет приложению полностью функционировать в локальной сети, сохраняет состояние кошельков в базу данных SQLite и управляется через Telegram-бота.
- Авторизация и сессии: Выдача
sid, обработка ошибок 401. - Эмуляция SMS: Генерация одноразовых паролей для входа и отправка их в Telegram.
- База данных SQLite: Хранение профилей (
users), истории транзакций (transfers) и привязанных банковских карт (cards). - P2P Переводы: Полноценные переводы по номеру телефона между кошельками в локальной БД.
- Пополнение с карты: Эмуляция пополнения баланса с привязанной карты (в 1 клик).
- Динамический каталог: Отдача оригинального каталога услуг (ЖКХ, интернет, игры) из дампа
catalog.txtиgood_*.txtс динамической отрисовкой полей ввода в приложении. - Фейковый эквайринг (WebView): Перехват инициализации оплаты (
transfer_init) и отрисовка HTML-страницы платежного шлюза прямо внутри встроенного браузера приложения. - Админ-панель в Telegram: Полное управление базой (выдача денег, регистрация, привязка карт, мониторинг логов) через бота.
Оригинальное приложение «зашито» на боевые серверы. Чтобы заставить его работать с нашим эмулятором, необходимо перенаправить трафик.
Способ 1: Модификация APK (Рекомендуется)
- Скачайте APK
- Декомпилируйте APK с помощью Apktool:
apktool d megafon.apk
- Найдите в исходниках
smaliэндпоинт (обычно вi.smaliилиAsyncTaskC1004i.smali):https://oplata.megafon.ru/api/odp?gzip=1 - Замените его на IP-адрес машины, где запущен
server.js(например, ваш IP в локальной сети Wi-Fi):http://192.168.1.50:4444/api/odp - Соберите APK и подпишите его (например, с помощью
uber-apk-signer):apktool b megafon -o megafon_mod.apk
Способ 2: Перехват DNS
Если у вас есть Root-права на Android/эмуляторе, добавьте в /system/etc/hosts строку:
192.168.1.50 oplata.megafon.ru
(В этом случае запустите сервер на 443 порту и используйте HTTPS).
Данный проект создан исключительно в образовательных и исследовательских целях.
- Проект не имеет никакого отношения к ПАО «МегаФон» или MobStudio.
- Сервер не содержит реальных платежных шлюзов, не производит настоящих финансовых транзакций и не работает с реальными банковскими картами. Все "деньги" внутри базы SQLite являются виртуальными (игровыми).
- Автор не несет ответственности за использование данного кода. Использование проекта для атак, фишинга или обмана пользователей строго запрещено. Проект направлен на сохранение истории мобильной разработки и изучение устаревших (legacy) клиент-серверных архитектур.