Skip to content

Repository files navigation

English

Эмулятор бэкенда «МегаФон Деньги»

Полноценный автономный сервер-эмулятор (бэкенд) для старого 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: Полное управление базой (выдача денег, регистрация, привязка карт, мониторинг логов) через бота.

Настройка клиента (Патчинг APK)

Оригинальное приложение «зашито» на боевые серверы. Чтобы заставить его работать с нашим эмулятором, необходимо перенаправить трафик.

Способ 1: Модификация APK (Рекомендуется)

  1. Скачайте APK
  2. Декомпилируйте APK с помощью Apktool:
    apktool d megafon.apk
  3. Найдите в исходниках smali эндпоинт (обычно в i.smali или AsyncTaskC1004i.smali): https://oplata.megafon.ru/api/odp?gzip=1
  4. Замените его на IP-адрес машины, где запущен server.js (например, ваш IP в локальной сети Wi-Fi): http://192.168.1.50:4444/api/odp
  5. Соберите 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).


Disclaimer (Отказ от ответственности)

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

  • Проект не имеет никакого отношения к ПАО «МегаФон» или MobStudio.
  • Сервер не содержит реальных платежных шлюзов, не производит настоящих финансовых транзакций и не работает с реальными банковскими картами. Все "деньги" внутри базы SQLite являются виртуальными (игровыми).
  • Автор не несет ответственности за использование данного кода. Использование проекта для атак, фишинга или обмана пользователей строго запрещено. Проект направлен на сохранение истории мобильной разработки и изучение устаревших (legacy) клиент-серверных архитектур.

Releases

Packages

Contributors

Languages