Fadi Hadzh: Предлагаю Вам не путать понятия:
1. Обезличенный/публичный доступ к открытому API - когда всё открыто и не просят ввода пользователя (или токена) в запросах к API.
2. Авторизованный доступ к открытому недокументированному API (то, что Вы описали) - единая формула подписи для всех запросов, меняются только параметры клиента (username, UUID и т.д.). Обычно используют в клиентских приложениях, которые можно скачивать/устанавливать и/или просматривать их логику и т.д.
3. Авторизованный доступ к закрытому API - уникальная формула подписи запросов, включая параметры клиента и известная только одному клиенту. Формула никогда не хранится и не передаётся 3-й стороне (например, не размещается в приложении).
Касательно п.2:
Методы и схемы - найти можно. А вот выполнить валидный запрос к API без формулы и всех параметров - так просто - не удастся. Я не спорю, что можно попробовать всё продебажить и получить эту формулу(+ключи) через реверс-инжиниринг из скомпилированного кода программы. Но это очень трудоёмко, а проапдейтить приложение в маркете - это 2-3 часа максимум.
То, чем пользуется приложение - это открытое API с авторизованным доступом.
Закрытое API - это когда есть API, но нет формулы подписи запросов, которая доставляется отдельно каждому клиенту и является уникальной для каждого клиента.
Формула подписи запросов - это динамический токен, он также может быть с какой-либо привязкой к любому однозначно проверяемому параметру: подсети, IP-адресу, userID любого "облачного" сервиса, домену, e-mail, устройству, стране, городу и т.д.
Также, такой токен может быть как с определённым сроком действия, так и безлимитный.
1. Кратчайший путь по алгоритму Дейкстры от текущей вершины
2. Ищем ближайшую к текущей вершине (минимальная длина ребра)
3. Удаляем из графа текущую и перемещаемся к новой
4. Принимаем новую, за текущую вершину
5. GOTO 1