Фиктивный адрес. Как подменить геолокацию на Android, чтобы обманывать приложения

Идея родилась у меня в процессе написания статьи «Мониторим мониторинг. Что внутри у приложения для изоляции на дому» — именно тогда я обнаружил возможность менять поставщика координат в операционной системе, что открывает для пользователей много интересных возможностей.
С точки зрения юзера все очень просто: нужно лишь установить специальное приложение, затем включить в настройках режим разработчика и выбрать установленное приложение в качестве поставщика фиктивного местоположения. Таких программ великое множество — от простеньких до довольно развесистых, умеющих не только подменять координаты на заданные, но и менять их по расписанию или проигрывать заранее записанные треки, чтобы имитировать движение телефона по какому-то маршруту. В общем, вбивай запрос «Fake GPS» и выбирай по вкусу.
Сразу предупреждаю: надежность этого метода не очень высокая. При желании можно программно отследить наличие на телефоне такой программы-поставщика, и если программа серьезная, то просто так обдурить ее может не получиться.
Я же захотел разобраться, как именно работает этот механизм, и создать собственное приложение для спуфинга. А начал я с того, что посмотрел, как этот алгоритм реализован в одном из бесплатных приложений. Не читать же документацию, верно?
Реверсим FakeGPS
В качестве подопытного кролика было взято приложение FakeGPS 5.0.0. Внешне приложение представляет собой карту, на которой можно установить маркер в произвольную точку и с помощью кнопок «Старт» и «Стоп» запускать или останавливать трансляцию координат выбранной точки.
Вооружившись JEB Decompiler, открываем и смотрим. Первое, что бросается в глаза, — это наличие в манифесте пермишена android.permission.ACCESS_MOCK_LOCATION .
В основной активити ничего интересного не обнаружено, обычная инициализация и настройка, но есть сервис с говорящим названием FakeGPSService .
Попытаемся прорваться сквозь дебри обфускации и посмотреть, что в нем есть интересного.
В методе onCreate имеется такой код:
Если проще, то инициализируем LocationManager значением this.getSystemService(«location») , затем удаляем тестового провайдера «gps» функцией removeTestProvider и добавляем заново с помощью функции addTestProvider , не забывая после этого включить его функцией setTestProviderEnabled(«gps», true) . Всё, тестовый провайдер добавлен и включен. А далее при изменении пользователем координат создаем и устанавливаем новое местоположение в функции onEventMainThread :
Вроде бы все более-менее ясно, можно приступать к написанию своего провайдера фиктивных местоположений.
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Как настроить fake gps location на андроид
Fake GPS Location Spoofer
версия: 5.6.1
Последнее обновление программы в шапке: 26.01.2022






Краткое описание:
Фальшивые координаты + обрабатывает «share -> geo» других программ
Описание:
Позволяет указать любые координаты в качестве текущих, которые будут отображаться в других программах. Pro-версия позволяет вести «избранное» точек, автоматически запускаться при загрузке и пр.
Особенности:
— лайт-версия прекрасно работает в паре с OsmAnd даже без интернета
— не требует наличия Google Services
Из всех найденных на Маркете бесплатных программ только эта работала с OsmAnd через меню Share: достаточно указать точку на карте, выбрать «поделиться», «geo» — и в запустившейся программе нажать на кнопку справа (play) — и вот OsmAnd и другие программы считают, что вы находитесь сейчас именно в этой точке.
Free-версия (если у вас нет root-доступа на устройстве):
Если меню разработчика у вас не включено — активировать его. Обычно для этого надо зайти в раздел «О телефоне» и несколько раз нажать на строке «Номер сборки».
В параметрах для разработчиков включить «Фиктивные местоположения».
Включить GPS, режим должен быть «только по спутникам».
Открыть приложение FakeGPS, выбрать желаемое местоположение, дважды нажав на экран.
Нажать на кнопку «старт».
Теперь все приложения, что запрашивают местоположение, будут считать, что вы находитесь именно в этой точке. Выключить можно, нажав, соответственно, на «стоп».
(!) Некоторые приложения не дают себя обманывать (проверяют, стоит ли галочка «фиктивные местоположения» в настройках), тут понадобится полная версия и root-доступ.
Full-версия (нужен root):
Если на устройстве нет root-доступа и вы честно купили приложение в маркете — работать будет так же, как и free-версия, за исключением некоторых дополнительных плюшек (вроде списка избранных точек).
Если приложение не взломано — будет запрашивать лицензию. Лечится Lucky Patcher в автоматическом режиме, модифицированным маркетом или покупкой программы 🙂
Чтобы приложение работало без включения «Фиктивных местоположений» — перенесите программу в раздел system. Если не знаете, как — скачайте Link2SD (бесплатной версии хватит), там в списке найдите приложение («FakeGPS»), долгий тап -> «преобразовать в системное». Затем перезагрузитесь.
Дальнейшее использование — как и во free-версии, только меню разработчика и «фиктивные местоположения» активировать не нужно: включить GPS, выбрать точку, нажать «старт».
Или прочесть тут
Требуется Android: 4.0.3 или более поздняя
Русский интерфейс: Нет
Fake GPS location на Андроид

Программа Fake GPS location 2019 на Андроид разработана для того, чтобы показывать приложениям, установленным на вашем смартфоне, координаты, которые отличаются от ваших реальных. Особую популярность программа получила после того, как в свет вышла игра Pokemon GO и за счет подмены координат GPS программой Faek GPS пользователи смогли ловить более редких покемонов.
Также приложение часто используется пользователями, которые не хотят показывать свое реальное местоположение социальным сетям. Все знают, что EXIF фотографий часто содержат информацию о местонахождении, которая записывается в случае, если ваша служба GPS включена. С приложением Fake GPS location вы легко можете сделать фото и все будут видеть, что вы находитесь в Дубае или в Испании.

В последнее время приложение стало популярным у водителей Яндекс-Такси, Убер и Сити мобил. Но надо заметить, что в случае, если ваши службы Google Play включены — таксопарки могут вычислить, что вы используете поддельные координаты GPS и наказать вас. Будьте осторожны, товарищи таксисты, это приложение подходит для обмана Яндекс Таксометра только при правильной настройке.
Fake GPS location — как пользоваться программой?
Скачивайте один из двух прилагаемых ниже вариантов .apk файла на свой смартфон и установите его. Далее нажимаете на вкладку Open Settings. Переходите после того в меню «О телефоне». Надо включить режим разработчика. На многих телефонах надо несколько раз нажать на пункт «Номер сборки». Появится надпись, что вы получили режим разработчика.Далее открываем появившийся в списке пункт «Для разработчиков» и открываем пункт «Выбрать приложение для фиктивных местоположений». Далее выбираете город и место, которое вам по нраву. Все просто.Если из описания не все так понятно или в вашем случае все выглядит немного по-другому — посмотрите это видео про то, как правильно пользоваться программой Фейк Джи Пи Эс локейшн. Автор старался, поставьте ему лайк, не поленитесь.
Как настроить fake gps location на андроид
Инструмент, который позволяет нам обмануть GPS (Global Positioning System) приемник и установить любое место на планете земля.
Сперва переходим в Google Play Маркет на своем смартфоне и находим приложение «Fake GPS location», затем нажимаем на кнопку «Установить», чтобы продолжить. После установки Fake GPS запросит разрешение на доступ к хранилищу, даем разрешение.
Для использования приложения необходимо активировать режим разработчика и добавить приложение в настройке фиктивных местоположений. Для этого переходим в настройки Android, нажимаем в меню на пункт «О телефоне» тапаем несколько раз по пункту «Версия MIUI», чтобы активировать режим разработчика.
Возвращаемся в главное меню настроек и переходим в «Расширенные настройки». Прокручиваем окно вниз и тапаем по пункту «Для разработчиков».
Находим настройку «Приложение для фиктивных местоположений» и выбираем приложение «Fake GPS», теперь наш смартфон будет получать данные не с приемника GPS, а из приложение, координаты в котором мы зададим вручную.
Теперь остается только зайти в само приложение Fake GPS и выбрать на карте любую желаемую точку, для активации фейковых координат нажимаем на круглую кнопку в правой нижней части экрана.
Все готово! Для проверки заходим в любой навигатор и смотрим текущее местоположение.