Чи можна приховати підміну геолокації від застосунків
«Як зробити підміну непомітною» запитують частіше за все інше. Коротка відповідь: приховати першу й найочевиднішу ознаку технічно можливо, але результату, заради якого це роблять, це не дає — застосунок дізнається про підміну ще трьома незалежними способами, а ціна втручання в систему непорівнянна. Нижче — як насправді влаштоване виявлення і чому цей шлях ми не описуємо й не підтримуємо.
Як застосунок дізнається про підміну
Рівнів чотири, і вони незалежні один від одного.
Перший — позначка на самій координаті. Android позначає кожну точку від тестового джерела окремим полем, і застосунок читає його одним рядком коду. Це відкритий, вбудований інтерфейс системи, а не таємна перевірка.
Другий — цілісність пристрою. Розблокований завантажувач і root видно атестації платформи незалежно від того, що відбувається з координатами. Застосунку не потрібно знати, чи підміняєте ви геолокацію: достатньо знати, що систему модифіковано, і відмовитися працювати взагалі.
Третій — звірка з оточенням. Телефон бачить навколо мережі Wi-Fi й вежі мобільного зв’язку, і їхній набір не збігається з координатою, куди ви «переїхали». Зіставити одне з іншим сервісу нескладно.
Четвертий — серверна аналітика. Переміщення на п’ятсот кілометрів за хвилину, ідеально пряма траєкторія, точність, що ніколи не змінюється ні на метр, — усе це видно на боці сервісу без жодної позначки на пристрої.

Що робить шлях через root і чого не робить
Інструкції в інтернеті описують одне й те саме: розблокувати завантажувач, отримати root, установити модуль, який втручається в системний рівень і знімає з координат позначку фіктивного джерела.
Це закриває рівно перший із чотирьох рівнів. Атестація пристрою після розблокування завантажувача не проходить за визначенням — і не через підміну, а через саму модифікацію. Звірка з мережами й серверна аналітика до пристрою взагалі не стосуються: їх виконує сервіс, і жоден модуль на телефоні на них не впливає.
У підсумку виходить обмін: ви вимикаєте найпомітнішу перевірку й водночас вмикаєте другу, значно грубішу — «пристрій модифіковано». Для застосунків, заради яких усе затівалося (банки, доставка, корпоративний облік), результат гірший, ніж був: раніше вони працювали й просто ігнорували підмінені координати, тепер не запускаються зовсім.
Що перестає працювати після модифікації
На більшості пристроїв розблокування завантажувача стирає всі дані й позбавляє гарантії — це офіційна позиція виробників, а не дрібний шрифт.
Далі за списком: банківські застосунки й безконтактна оплата відмовляються працювати на пристрої, що не проходить атестацію; так само частина державних і корпоративних сервісів; оновлення «по повітрю» перестають установлюватися або ламають систему під час установлення; перевірки цілісності перестають захищати — шкідливий застосунок із root-доступом отримує ті самі можливості, що й корисний.
Окремий пункт — ризик зробити телефон непридатним. Помилку прошивки на пристрої із заблокованим критичним розділом виправляє сервісний центр, і не завжди безкоштовно.

Чому це ще й нестабільно
Навіть якщо відкласти все сказане вище, таке рішення живе недовго. Позначка фіктивного джерела змінювалася разом із версіями Android: до Android 12 застосунки читали одне поле, з Android 12 — інше, і старі обхідні шляхи перестали працювати. Атестація платформи оновлюється на боці сервісу, а не пристрою — тож ламається без вашої участі й у довільний момент.
На практиці це означає постійне латання: після кожного оновлення системи, застосунку чи самої атестації доводиться перевіряти, чи ще працює обхід, і знову щось переналаштовувати. Ми не вважаємо це прийнятним і нікому не радимо — саме тому Mock Location не приховує позначку й не приховуватиме.
Чим це закінчується для акаунта
Сервіси, що перевіряють геолокацію, роблять це не зі шкідливості: для них місцезнаходження — доказ факту. Кур’єр позначив доставку, співробітник відмітився на об’єкті, користувач підтвердив регіон для тарифу. Підробка такого доказу порушує правила сервісу, а часто й договір.
Наслідки передбачувані: блокування акаунта без повернення коштів і без розгляду, у робочих сценаріях — розмова з роботодавцем, а в окремих випадках і юридичні претензії. Наша позиція щодо законності підміни як такої — в окремій відповіді: змінювати власне місцезнаходження ви маєте право, а вводити в оману сервіс, який на це місцезнаходження спирається, — зовсім інша історія.
Що робити, якщо підміна потрібна для легітимного завдання
Добра новина: переважна більшість сценаріїв працює без жодного приховування, бо застосунки там просто не читають позначку.
Мапи й навігація, погода, пошук поруч, місцеві оголошення й ціни, тестування сценаріїв із геолокацією — усе це приймає підмінені координати як є. Чи належить потрібний вам застосунок до цієї групи, можна перевірити за хвилину: увімкніть підміну й подивіться, що він покаже (як перевірити).
Якщо застосунок виявився з тих, що читають позначку, єдиний робочий варіант — не обходити перевірку, а розв’язати завдання інакше. Для регіонального вмісту частіше потрібна мережа, а не GPS: підміна геолокації чи VPN. Для тестування власного застосунку — емулятор і налагоджувальні збірки, де підміна вбудована й нікого не обманює (розбір для QA).
Коротко
Виявлення підміни неможливо виключити повністю: рівнів перевірки чотири, і модифікація системи закриває один із них, водночас піднімаючи позначку «пристрій модифіковано», через яку ті самі застосунки відмовляють ще раніше.
Mock Location працює строго в межах вбудованого механізму Android: що це за механізм, чому не потрібен root і чому застосунок бачить справжні координати, розібрано окремо. Інструкцій з обходу перевірок ми не публікуємо — не з обережності, а тому, що вони не розв’язують завдання й створюють користувачеві проблеми більші за початкову.