Підміна геолокації на Android без root

Досі трапляється переконання, що без root підмінити геолокацію неможливо. Воно застаріло: механізм фіктивного місцезнаходження вбудований в Android і доступний будь-якому застосунку, який користувач вибрав у параметрах розробника. Розберімо, що дає цей шлях, чого не дає і чому інший варіант — модифікація прошивки — коштує дорожче, ніж здається.

  1. Переконайтеся, що root справді не потрібен

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

    Порівняння сценаріїв: мапи, погода й тестування працюють без root, банківські застосунки й античити — ні
  2. Увімкніть режим розробника

    Налаштування → «Про телефон» → сім натискань на «Номер складання». У налаштуваннях з’явиться розділ «Параметри розробника»; залежно від оболонки він лежить на верхньому рівні, у «Системі» або в «Розширених налаштуваннях».

    Екран «Про телефон» у налаштуваннях Android: виділено пункт «Номер складання», унизу підказка про натискання, що залишилися
  3. Виберіть застосунок для фіктивних місцезнаходжень

    У параметрах розробника знайдіть пункт «Вибрати додаток для фіктивних місцеположень» і виберіть установлений застосунок. Активним одночасно може бути лише один — система не дає кільком застосункам постачати координати водночас.

    Вибір застосунку для фіктивних місцезнаходжень: позначено Mock Location, варіант «Немає» не вибрано
  4. Запустіть підміну й перевірте

    Виберіть точку на мапі, увімкніть підміну й відкрийте інший застосунок із мапою. Якщо він показує вибрану точку, механізм працює на рівні системи, і жодних додаткових прав не знадобилося.

    Сторонній застосунок із мапою показує місцезнаходження в підміненій точці — підміна працює

Як це влаштовано насправді

Android дозволяє вибраному застосунку зареєструвати так звані тестові провайдери місцезнаходження й записувати в них координати. Далі система віддає ці координати всім, хто запитує геолокацію звичайним способом. Тим самим механізмом користуються автотести мобільних застосунків — його створено саме для розробки, а не для того, щоб щось обходити.

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

Що дає root і чому це не безкоштовно

Єдине, що принципово додає модифікація прошивки, — можливість приховати факт підміни: прибрати позначку «фіктивне джерело» й обдурити застосунки, які її перевіряють. Для цього потрібні розблокований завантажувач, Magisk або подібні модулі.

Ціна: втрачається гарантія, частина банківських застосунків і сервісів перестає запускатися через перевірку цілісності системи, оновлення прошивки більше не встановлюються звичайним способом, а невдала прошивка може зробити телефон непридатним. Цей шлях ми не підтримуємо й не описуємо — Mock Location працює строго в межах вбудованого механізму.

Де проходить межа

Без root підміну чесно видно застосункам, які хочуть її бачити. Сервіси, для яких геолокація є доказом факту, — підтвердження доставки, облік робочого часу, винагороди за місцем — зазвичай виконують цю перевірку й не працюватимуть із підміненими координатами. Ігри з античит-системами теж.

Це не вада конкретного застосунку, а свідомий архітектурний вибір: застосунок робить те, що дозволяє система, і не вдає, що робить більше.

Чим підміна відрізняється від VPN

Їх часто плутають. VPN змінює, звідки йде ваш мережевий трафік, — за IP-адресою сервіс вирішить, що ви в іншій країні. Підміна геолокації змінює координати, які операційна система віддає застосункам.

Це різні канали, і вони не замінюють один одного: застосунок, що визначає місцезнаходження за IP, не помітить підмінених координат, а застосунок, що запитує координати в системи, не помітить VPN. Іноді потрібно і те, і те.

Mock Location — підміна геолокації на Android без root

Безкоштовно, поза Google Play. Перед установленням можна звірити контрольну суму файлу.

Завантажити APK