[Guide] How to fake your location with the "GPS Fake Location Toolkit"

I keep getting so many questions, asking about how to use my app - so i decided to give an overview on the different methods here and explain how they work.

There are a few ways to fake your location on android:

Developer Options

Developer Options with Xposed "Mock Mock Locations" Module

System App

Xposed

Root permissions

I will explain them in detail, so you can choose the right method.

If you don't already know that your smartphone uses different sources for location information i will give you a brief overview:

GPS: Information retrieved from satellites. They may contain your position, accuracy, speed, bearing, and some more information and are vers precise. In android there is also an nmea stream available, which contains the raw satellite data.Because it can take some time to get a valid gps position all devices use additional methods to locate the user.

WiFi Trilateration: Providers like "Google" and many other gathered information about WiFis and their position (Your device helps them to get those informations). So they can tell you where you are by the surrounding WiFi accesspoints.

GSM Positions: Works much like the WiFi Positioning, the only difference is that the connected and surrounding gsm towers are used for positioning.

Device sensors: Your device includes many sensors to track its movements. They can be used to get a very coarse location or they can at least tell if you are in a car, bycyle or walking.

IP Adress: Most ip adresses can be used to get a very coarse location, but it's not very reliable.

Alternatives: There are some rarely used alternatives.

Developer Options:This method includes hidden settings in your android device, to insert fake locations. Most of all Fake-GPS Apps (like 99,9%) use this method. This method is meant to be for developers to test their apps with fake locations. Summarized it works like this: If the option is checked an app can insert the fake location into the system. The system delivers this fake location to all other apps.This is 100% detectable and every app can check if the "developer option" is checked or can check the inserted locations, if they are real ones. But since it is the official way of inserting locations it's the most stable and performant. If you just want to test something this method might be good for you.

No root required

Easy setup

detectable

stable

Developer Options with Xposed "Mock Mock Locations" Module:Some people use the xposed module "mock mock locations" (http://repo.xposed.info/module/com.bran … klocations) to hide the developer option from other apps. This works totally fine, but the fake locations inserted into to system are easy to detect on their own.

Root required to install xposed framework

Easy setup if you are rooted

detectable but a bit safer

stable

System App:System apps in android usually come with your operating system and can't be deleted (like Google Play Store etc). They have extended permissions and are able to insert locations directly into the system, so the developer option is no longer needed. The system app locations are not detectable, but an system app can't block other locations on it's own. A simple example: You fake your location to america, but you are in germany and your gps get's a valid location in germany. Now there are 2 locations in the system that are very different and it can be detected if there is something wrong. So usually it is tried to block all real locations while "spamming" the fake locations into the system at a high speed. There are tools to convert an app to an system app and back, but they all require "root". Please google all the terms if you aren't sure what they mean.

Root required to convert the app (can be uninstalled afterwards)

Hard setup

detectable but a bit safer

stable

Xposed App (recommended method):

http://repo.xposed.info wrote:

Xposed is a framework for modules that can change the behavior of the system and apps without touching any APKs. That's great because it means that modules can work for different versions and even ROMs without any changes (as long as the original code was not changed too much). It's also easy to undo. As all changes are done in the memory, you just need to deactivate the module and reboot to get your original system back. There are many other advantages, but here is just one more: Multiple modules can do changes to the same part of the system or app. With modified APKs, you to decide for one. No way to combine them, unless the author builds multiple APKs with different combinations.

With the power of xposed it is possible to insert fake locations, block real locations, simulate nmea steams, hide an app, ... Long story short: everything is possible. Disadvantage: To have an completly safe and stealth location you need to perform deep modifications on the android system. And because every device and version works a bit different that can result in bugs or even device crashes. It's still pretty safe and every modification is gone after the app is deactivated in xposed and the device is rebooted.New versions can be found here: http://forum.xda-developers.com/showthr … ?t=3034811

Root required to install xposed framework

Easy setup if you are rooted

safest method

results may vary per device

Root permissions:Some fake gps apps support "root" when faking. This is no clear description and can mean anything, the most apps i analysed were using root to programmatically take control over the "Developer option". So they switch the developer option on and off very quick and insert a fake location while it is on. So if another application checks if fake locations are on it is "off" most of the time and because the android system isn't that fast there can be the fake location still cached. This method is very easy to detect and completly unsafe - be careful when using it.