Цифровой роуминг

Как работает GPS-спуфинг и почему приложения его обнаруживают

Как на самом деле работают местоположение, программный fake-GPS и флаг mock-location, и почему настоящий RF-сигнал даёт подлинное определение без mock-маркера.

Обновлено 2026-07-10
Два пути к местоположению: программная инъекция ставит флаг mock-location и блокируется; RF-сигнал вычисляется в подлинное определение

«GPS-спуфинг» — термин, которым называют две совершенно разные вещи, и именно в этом различии кроется причина, почему одни методы вас выдают, а другие — нет. Один подменяет координату программно, другой — излучает настоящий сигнал. Вот как работает каждый из них и что на самом деле проверяют приложения.

Как телефон узнаёт, где он находится

GNSS-приёмник (GPS плюс его собратья Galileo, ГЛОНАСС и BeiDou) слушает слабые радиосигналы спутников над головой. Каждый спутник передаёт время отправки своего сообщения; приёмник измеряет, сколько времени занял путь каждого сигнала, переводит это в расстояние и вычисляет единственную точку на Земле, согласующуюся со всеми измерениями. Эта вычисленная точка и есть ваше местоопределение. На нём строится всё, что связано с местоположением на телефоне: карты, геозоны, «поблизости», игры.

Программный fake-GPS: подмена координаты

Приложение для подмены GPS не трогает радиотракт. Оно использует отладочный программный интерфейс операционной системы, чтобы передать системе координату и сказать «докладывай вот это». Это просто и бесплатно, но оставляет след. На Android любое местоположение, полученное таким способом, несёт флаг isFromMockProvider, а для его включения нужны «Параметры разработчика» и настройка «Фиктивные местоположения». На iOS Apple просто запрещает такие приложения, поэтому программный путь требует компьютера, джейлбрейка или неофициально установленного приложения с короткоживущим сертификатом.

Почему приложения это ловят

Обнаружение в основном дёшево, потому что программный путь слишком заметен:

  • Флаг фиктивного источника. Одна строка читает isFromMockProvider; помеченное местоопределение отбрасывается. Этого одного достаточно, чтобы отсеять подавляющее большинство любителей.
  • Аттестация целостности. Play Integrity (Android) и проверки на джейлбрейк/режим разработчика (iOS) замечают модифицированное окружение, необходимое для программного пути.
  • Перекрёстные проверки. Серьёзное приложение может сравнить ваше GPS-местоопределение с вашим сетевым IP, с видимыми телефоном точками Wi-Fi и вышками сотовой связи, а также с данными датчиков движения — и пометить GPS-позицию, которая противоречит всем им или перемещается быстрее, чем способен человек.

Радиочастотная симуляция: настоящий сигнал, подлинное местоопределение

AnyLocate работает на уровень ниже. Вместо подмены координаты он излучает аутентичный спутниковый сигнал прямо в приёмник устройства, которое захватывает его и вычисляет местоопределение обычным путём. На уровне фиктивных местоположений результат неотличим от реальной позиции: нет подставленной координаты, а значит, нет флага isFromMockProvider, нет настройки фиктивных местоположений, нет root или джейлбрейка — ничего из того, на что рассчитаны типовые детекторы. Позиция ложится на реальные дороги и обновляется плавно, потому что её выработал сам приёмник.

VPN ≠ GPS

Частый тупик: VPN меняет ваш IP-адрес, но не ваше GPS-местоопределение. Snap Map, Pokémon GO и большинство картографических функций игнорируют IP и считывают спутниковую позицию, поэтому VPN ничего не сдвигает на карте. Чтобы сдвинуть местоположение на карте, нужно сдвинуть местоопределение — а это уровень GPS, а не сети.

Где проходит граница

Честно обозначить границу — в этом и суть. Управляя спутниковым сигналом, вы задаёте всё, что выводится из GPS-местоопределения. Это не меняет ваш сетевой IP, вашу учётную запись или платёжный регион, видимое телефоном окружение Wi-Fi и сотовой связи, а также ваши датчики движения. Поэтому всё, что привязано к ним (региональные блокировки, завязанные на логин, IP-проверки, fused-определение по Wi-Fi, перекрёстный контроль по шагомеру), — это отдельная тема. Спутниковый уровень — тот самый, которым AnyLocate управляет чисто и полноценно; на остальные он не претендует.

Часто задаваемые вопросы

Что такое флаг mock-location (isFromMockProvider)?
Когда приложение задаёт ваше местоположение через путь разработчика Android 'mock location', операционная система добавляет флаг isFromMockProvider к каждому определению. Любое приложение может прочитать этот флаг одной строкой кода и отказаться доверять позиции. Это самый дешёвый и распространённый способ, которым fake-GPS попадается.
Почему VPN не меняет моё местоположение в приложениях вроде Snapchat или Pokémon GO?
VPN меняет только ваш IP-адрес. Карты, игры и функции 'рядом' считывают GPS-чип, а не IP, поэтому телефон продолжает сообщать своё истинное спутниковое положение под VPN, и приложение следует за GPS, а не за сетью. Чтобы изменить местоположение на карте, нужно изменить само GPS-определение.
Если AnyLocate передаёт реальный сигнал, является ли определение необнаружимым?
На уровне mock-location — да: флага isFromMockProvider нет, потому что ничего не было внедрено программно; собственный приёмник телефона вычислил определение. Но 'нет mock-флага' не значит 'нет возможных признаков': телефон также объединяет данные Wi-Fi и сотовой сети, и защищённые приложения могут сверять GPS с ними, с вашим IP или с датчиками движения. AnyLocate чисто контролирует спутниковый уровень; эти другие уровни — отдельная задача.

Похожие сценарии применения

Поместите телефон в любую точку Земли: тестируйте любые геолокационные приложения
Спуфинг в Pokémon GO без флага mock-location
Конфиденциальность геолокации: показывайте только то место, которое выбрали
Попробуйте на своих сигналах
Запустите этот сценарий — и свои собственные — на программно-определяемом GNSS-симуляторе, который вы действительно можете себе позволить.
Смотреть цены →