Публичные статьи
June 28

MAX это TAMTAM?

Данная статья является авторской работой.

Упоминание канала https://t.me/bruce_club обязательно.

Недавно стало известно о вероятном госфинансировании мессенджера MAX, который позиционируется как "национальный аналог Telegram и WeChat". Мы решили проверить — насколько он действительно новый.

Мессенджером, который должен стать убийцей телеграм и аналогом wechat.

Это новый мессенджер? Крутой? Копия телеги?

Время не теряю! Сразу потрошу APK файл мессенджера MAX

На момент написания поста, использовал версию 25.3.1.5146 google play и app gallery

Различия: версия app gallery использует собственный пуш сервис, а не гугловский.

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

Анализ DEX файлов

Анализ .dex и строк ресурсов APK показал более 1200 упоминаний tamtam, включая:

  • Названия классов и методов
  • ID ресурсов
  • URL и имена пакетов

Вывод: MAX — это не новая разработка, а ребрендинг старого ТамТам. Структура кода, используемые модули и даже названия переменных остались прежними.

Нашелся токен от myтрекера (mytracker-sdk)

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

Собранные (so) библиотеки, используемые мессенджером:

В APK присутствует tensorflow-lite. Назначение не указано явно, но возможные сценарии:

  • Распознавание речи
  • Детекция объектов
  • Классификация поведения пользователя
Сидит себе в памяти смартфона и распознает что-то или кого-то.

По поводу мифа, что MAX является ТАМТАМ:

Найдено как минимум 1203 упоминаний TAMTAM. Случайность? не думаю.

А если точнее, мессенджер MAX собран из частей мессенджера ТАМТАМ.

Сторонние библиотеки в ТАМТАМ мессенджере:

com.bluelinelabs.conductor - Управление навигацией и жизненным циклом экранов


com.facebook (animated, common, drawee, fresco) - мощная библиотека мордокниги для загрузки изображений, анимации, кеширования в фоне и т.д.


com.fasterxml.jackson - Сериализация и десериализация JSON <-> Java-объекты. Используется для API-запросов.


com.futuremind.recyclerviewfastscroll - быстрый скроллбар в списках (например, в чатах или контактах).


com.my.tracker - трекинг пользователей: события, установки, сессии, поведение. Российский аналог AppMetrica/Firebase.


com.yalantis.ucrop - Компонент для обрезки изображений (например, при установке аватарки).


net.jpountz.lz4 - Сжатие/распаковка данных с использованием алгоритма LZ4


org.bouncycastle.jsse и org.openjsse.net - Криптография и TLS-соединения (SSL).


org.conscrypt.Conscrypt - Google-библиотека TLS (на основе OpenSSL). Используется для повышения скорости и безопасности HTTPS.


org.json - Работа с JSON-структурами вручную (легковесная альтернатива Jackson/Gson).


org.webrtc - Библиотека WebRTC для поддержки видеозвонков, аудиочатов и P2P-соединений.


org.xml.sax и org.xmlpull.v1 - Парсеры XML (SAX и Pull). Используются для разбора XML-конфигураций, часто в Android-настройках.

⚠️ Некоторые из них имеют известные уязвимости или юридические ограничения на коммерческое использование (например, лицензии типа LGPL/BSD).

Это почти полный список сторонних библиотек, которые я нашел анализатором, покопавшись в dex файлах.

Сторонние библиотеки позволяют не изобретать заново велосипед. Иными словами, разработчику нет необходимости с нуля писать код, например, который генерирует красивый QR код на экране смартфона, если есть библиотека генерации QR кодов под лицензией для свободного распространения и использования коммерческими компаниями в своих приложения.

Но есть несколько оговорок:

Лицензия

Библиотеки можно использовать, соблюдая лицензионное соглашение разработчика. Например, используемый com.bluelinelabs.conductor версии 4.0.0 за 2023 год (КЕК) имеет лицензию Apache License 2.0 или библиотека Fresco с MIT лицензией = можно использовать в своих программах без упоминания и отчислений владельцу библиотеки. Библиотеки выше почти все используют Apache License 2.0 или MIT. Так что, разработчики ТАМТАМ ничего не нарушили.

Использование сторонних библиотек

Иногда разработчики сторонних библиотек могут сознательно или по неосторожности внедрить в обновление уязвимый или вредоносный код. Особенно это актуально в условиях open-source, где изменения могут вливаться быстро и без должного аудита. Поэтому важно не просто доверять названию и лицензии библиотеки, а обязательно проверять каждую новую версию перед интеграцией: анализировать changelog, сравнивать diff изменений, а при необходимости — изолированно тестировать поведение перед релизом новой версии ТАМТАМ =)

С другой стороны, использование устаревших версий библиотек также несёт существенные риски. С течением времени злоумышленники могут находить в них критические уязвимости. Эти дыры могут позволить, к примеру, выполнить произвольный код, обойти защитные механизмы Android или вызвать сбой в работе мессенджера на устройствах пользователей. Регулярное обновление библиотек с учётом аудита и всех автоматизаций внутри команды проекта — не просто рекомендация!

Выбор таких библиотек, как com.yalantis.ucrop (разработчики со свинячими пятачками) - вообще странный. У этой библиотеки 270 тикетов с багами, в том числе на андроид 15. Некоторые тикеты висят еще с давних времен и никак не решаются. Вопрос - зачем такое использовать? Чтоб потом вышла новость об утечке данных пользователей мессенджера MAX через стороннюю библиотеку? Есть же аналоги по типу Android-Image-Cropper от CanHub (7 тикетов на момент 2025 года).

Скриншоты разобранного приложения MAX = ТАМТАМ

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

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

В коде зафиксированы прямые вызовы функций::

1. getNetworkOperator, getCellLocation - Инфо о мобильном операторе

2. getLastKnownLocation - геопозиция

3. getAdvertisingIdInfo - рекламный ID устройства

4. getLocationOnScreen - вызывается очень часто и используется для создания хитмап т.е. используется для визуального трекинга пользователя.

Сервера ТАМТАМ (или чьи они там? Одноклассников?) получают много информации о каждом пользователе относительно калькулятора или блокнота.

Относительно банковского приложения или яндекс гоу? Много? Сначала я немного поведаю об AndroidManifest:

AndroidManifest - это специальный файл, который есть у каждого андроид приложения.

Его функции:

  • Определяет название приложения
  • Описывает требуемые разрешения, необходимые приложению для нормальной работы
  • Требования к версии андроид
  • Какие компоненты крутятся в фоне, а какие сервисные

MAX ближе к "сборщику пользовательской информации", чем к полноценному коммуникационному хабу уровня WeChat.

Из плюсов: работа с лаунчерами самсунг и хуавей для отображения бейджа. А еще использование своего трансопрта доставки уведомлений для хуавей устройств, что круто.

По сухим цифрам: WeChat запрашивает 90 разрешений, ТАМТАМ всего 63.

Но WeChat все-таки комбайн (платежка, видеосервис для шортс, мессенджер, браузер миниприложений).

Что у WeChat такого интересного в разрешениях?

  • Чтение настроек андроид
  • Работа с NFC (WeChat умеет в платежку)
  • Мониторинг звонков (доступ к функциям звонков)
  • Разрешение ко всей файловой системе (чтение и запись)
  • Полный доступ к камере и микрофону (и фоново)

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

Последнее: лезем в strings (постоянные переменные) для поиска интересных данных:

Помимо токенов, начинаем хотеть в Канал Мужской и Вичургский чат

oneme, tamtam, max - сколько вас, демонов?

Находим забавную переменную:

И становится все понятно... название переменной tamtam, но на русском будет "Имя в Max"

ИТОГ

Мессенджер MAX является мессенджером ТАМТАМ. Имеет довольно приличный набор разрешений к ОС андроид, что позволяет ему собирать достаточно приличное количество метрик о смартфоне и о пользователе для создания цифрового портрета.

Но так ли все плохо? Банковские приложения по типу Сбера мониторят есть ли рут у андроида, список звонков, читают фоново смс и могут читать системные настройки, как вичат. Яндекс приложения отслеживают каждое движение мышки на экране монитора, полный список покупок и кредитный рейтинг чтобы завышать цены на товары. По сравнению с ними, MAX требует не так уж и много.

Мессенджеру MAX довольно далеко до WECHAT или ALIPAY. Немного дальше, чем до луны. Но следить за активностью национального мессенджера я точно буду.

Так ли плох ТАМТАМ? Каждый решит сам.

Мне лишь немного грустно, что мессенджер MAX:

- собран не с нуля на современных языках и библиотеках

- не является модульным, как WECHAT

- использует довольно кривые библиотеки внутри, авторство которых крайне сомнительно и никак не отслеживается разработчиками MAX/ТАМТАМ

Использовать MAX в повседневной жизни я лично не планирую.

Меня уже обманули, подсунув ТАМТАМ вместо MAX.

UPDATE 2

Покопался в smali файлах (исходники). Что нашел:

Упоминание лайкограма выше на скрине.

Сайт внутренний. Не зайти =)

Ссылка на внутренний сайт жиры.

И еще дебаг настройки среди которых есть функции:

app.debugUaDnsEmulation - функция подмены днс

user.dev.options.send.scheduled.messages - фиктивная отправка сообщений

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

https://oneme.ru/formulaone

https://oneme.ru/whtf

https://oneme.ru/vichuga

могли бы и удалить в продакшн версии мессенджера.