Чи можна приховати підміну геолокації від застосунків

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

Як застосунок дізнається про підміну

Рівнів чотири, і вони незалежні один від одного.

Перший — позначка на самій координаті. Android позначає кожну точку від тестового джерела окремим полем, і застосунок читає його одним рядком коду. Це відкритий, вбудований інтерфейс системи, а не таємна перевірка.

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

Третій — звірка з оточенням. Телефон бачить навколо мережі Wi-Fi й вежі мобільного зв’язку, і їхній набір не збігається з координатою, куди ви «переїхали». Зіставити одне з іншим сервісу нескладно.

Четвертий — серверна аналітика. Переміщення на п’ятсот кілометрів за хвилину, ідеально пряма траєкторія, точність, що ніколи не змінюється ні на метр, — усе це видно на боці сервісу без жодної позначки на пристрої.

Чотири рівні перевірки підміни: ознака в координати, атестація пристрою, звірка з мережами й серверна аналітика

Що робить шлях через root і чого не робить

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

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

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

Що перестає працювати після модифікації

На більшості пристроїв розблокування завантажувача стирає всі дані й позбавляє гарантії — це офіційна позиція виробників, а не дрібний шрифт.

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

Окремий пункт — ризик зробити телефон непридатним. Помилку прошивки на пристрої із заблокованим критичним розділом виправляє сервісний центр, і не завжди безкоштовно.

Що перестає працювати після розблокування завантажувача й отримання root: банки, оплата, держсервіси, гарантія й оновлення

Чому це ще й нестабільно

Навіть якщо відкласти все сказане вище, таке рішення живе недовго. Позначка фіктивного джерела змінювалася разом із версіями Android: до Android 12 застосунки читали одне поле, з Android 12 — інше, і старі обхідні шляхи перестали працювати. Атестація платформи оновлюється на боці сервісу, а не пристрою — тож ламається без вашої участі й у довільний момент.

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

Чим це закінчується для акаунта

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

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

Що робити, якщо підміна потрібна для легітимного завдання

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

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

Якщо застосунок виявився з тих, що читають позначку, єдиний робочий варіант — не обходити перевірку, а розв’язати завдання інакше. Для регіонального вмісту частіше потрібна мережа, а не GPS: підміна геолокації чи VPN. Для тестування власного застосунку — емулятор і налагоджувальні збірки, де підміна вбудована й нікого не обманює (розбір для QA).

Коротко

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

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

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

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

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