🥞Checar Localização Falsa no App

Como podemos detectar se a localização do dispositivo era real ou estava sendo manipulada de alguma forma?

Biblioteca utilizada

https://pub.dev/packages/detect_fake_location

Configuração necessária

iOS

<key>NSLocationAlwaysUsageDescription</key>
<string>App needs access to location when in the background.</string>
<key>NSLocationWhenInUseUsageDescription</key>
<string>App requires access to location when open.</string>

Adicionar no Podfile:

post_install do |installer|
  installer.pods_project.targets.each do |target|
    flutter_additional_ios_build_settings(target)
    # Start of the permission_handler configuration
    target.build_configurations.each do |config|
      config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
        '$(inherited)',
      # dart: [PermissionGroup.location, PermissionGroup.locationAlways, PermissionGroup.locationWhenInUse]
        'PERMISSION_LOCATION=1'
    ]
    end
  end
end

Android

Adicionar no android manifest:

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />

Rodar

Basta chamar a função disponível no package

bool isFakeLocation = await DetectFakeLocation().detectFakeLocation();

Testar

Android

  • Aplicativos na Play Store que fazem distorção de localização:

    • Fake GPS Location – GPS Joystick

    • Fake GPS Location by Lexa

    • GPS Emulator

  • Pode-se usar qualquer VPN disponível

    • Surfshark (alguns modos de spoofing)

    • iMyFone AnyTo

    • Dr.Fone Virtual Location

  • Através do ADB

    adb shell appops set com.seuapp.favorito android:mock_location allow
    adb shell am start -a android.intent.action.VIEW -d "geo:LATITUDE,LONGITUDE"

iOS No iOS é bem mais restritivo e complexo pra fazer o faking, é necessário um dispositivo físico visto que no emulado ele sempre apresenta uma localização falsa. Existem alguns softwares que podem ser instalados no PC e que podem fazer a alteração de localização ao conectar o celular por cabo.

Exemplos de softwares (normalmente pagos)

  • iTools (ThinkSky) — função "Virtual Location"

  • iMyFone AnyTo

  • Dr.Fone – Virtual Location

  • Tenorshare iAnyGo

Existe também a opção de se utilizar jailbreaks:

Exemplos de ferramentas**:**

  • LocationFaker

  • Relocate / Relocate Reborn (mais moderno)

  • Anywhere!

  • iSpoofer (descontinuado, mas ainda usado em versões antigas)

Essas ferramentas permitem:

  • Simular localizações com precisão.

  • Definir rotas falsas.

  • Burlar sistemas anticheat (em alguns casos).

Prós: Mais controle e personalização.

Contras: Jailbreak pode deixar o dispositivo vulnerável, apps bancários ou de saúde podem recusar funcionar.

Last updated