[ Pokémon GO ] Attrapez-les tous... depuis votre canapé !

android 31 juil. 2016

Aaah, Pokémon GO, ce phénomène de mode… Après un rapide test de cette appli que je ne trouve clairement pas sensationnelle, voire daubée (pas seulement sur le business model ou les données utilisateur, mais sur le gameplay quasi inexistant, le faux sentiment de socialisation que ça apporte –suffit de regarder les pokéstops de Troyes : ça cause pas, ça regarde son écran– et surtout le net avantage que confère la triche : pokécoins gratuits, les gens avantagés parce qu’ayant installé l’appli avant sa sortie… et… cette astuce 😉 ), je me suis posé une question bête : enregistrer une trace GPS, on sait faire, la lire et la modifier aussi. Modifier sa position à la volée, idem : les positions fictives sous Android, c’est aussi vieux que l’application elle-même, ça aide les développeurs à tester leurs applications utilisant la géolocalisation sans sortir du bureau et choper des mollets de 35cm de circonférence.

Et si on utilisait ces positions fictives pour choper du Pokémon sans bouger ? (pour les jours pluvieux, on est d’accord !)

 

Android, c’est quand même bien fichu. Quelques options de développement pratiques, un « framework » XPosed des plus puissants… et des développeurs intelligents. Oui, ce « tutoriel » n’est valable que pour Android, pour (au moins) 2 raisons : iOS est verrouillé comme pas permis (façon ceinture de chasteté pour smartphone), et surtout je ne connais pas les applications équivalentes sur cet OS. Et 3e raison bonus : je supporte pas les iPhone, pour tout un tas de raisons, donc je ne m’y attarde pas au risque d’en vexer certains.

Tout ça pour dire qu’il va nous falloir peu de choses, finalement :

  • un smartphone sous Android
  • que cet Android soit « rooté »
  • un recovery custom, type Cyanogen, TWRP ou ClockWorkMod (ma préférence va à TWRP)
  • le framework XPosed, de rovio89
  • un module bien pratique pour XPosed, « Mock Mock Location »
  • une application pour simuler une position GPS ou un itinéraire de votre choix, ici on verra Lockito

Oh, précision indispensable à ce genre d’articles : la procédure qui suit est relativement simple, je peux éventuellement répondre aux questions, mais : 1/ ce n’est pas un forum, les questions liées au root, au recovery ou aux soucis rencontrés avec XPosed n’ont pas leur place ici étant donné que vous trouverez toutes vos réponses sur les forums spécialisés que je cite plus bas, et 2/ vous faites ces manipulations à vos risques et périls, sachant que ces risques peuvent (rarement, but still) inclure des pertes de données, téléphone bloqué ou guerre thermonucléaire. Dans tous les cas, vous comprenez bien que je ne saurai être tenu responsable d’aucun de ces ennuis, et j’y ajoute également l’éventualité que ce guide enfreigne les règles de Niantic sur l’utilisation de PokémonGO. S’ils suppriment votre Pikachu niveau 80, c’est pas ma faute.

 

pokemon-go-169

 

Pré-requis

Si vous êtes un utilisateur « standard » d’Android, il y a peu de chances que votre téléphone soit « rooté » : c’est-à-dire que l’utilisateur « root », genre de super-admin tout puissant sur les systèmes Unix, soit utilisable (les fabricants le désactivent pour des raisons évidentes de sécurité). La procédure pour rooter est souvent propre au modèle de téléphone utilisé : je vous renvoie donc aux forums spécialisés comme XDA, ou éventuellement FRAndroid / PhonAndroid. C’est généralement pas bien méchant, mais ce n’est pas l’objet de cet article, le web est déjà rempli de tutoriels.

De la même façon, il vous faut un « recovery » (comprenez un mode de démarrage du téléphone permettant d’effectuer des opérations de récupération/maintenance/mise à jour, comme pour le fabricant, mais en plus complet. C’est ce qui vous permet, entre autres, d’installer des systèmes Android personnalisés comme l’excellent CyanogenMod, qui est installé sur les 2 smartphones ayant servi à ce test (mon LG G4, et mon ancien Nexus 4 utilisé par madame, dresseuse invétérée). Ma préférence va ici à TWRP, à mon sens le plus complet et simple d’utilisation. Le site officiel indique pour beaucoup de téléphones la procédure à suivre pour l’installer.

 

Installation de XPosed + Mock Mock Location

Très connu des utilisateurs avancés d’Android, XPosed est un ensemble de fonctions permettant aux développeurs tiers de personnaliser leur Android en profondeur, voire de contourner certains mécanismes de fonctionnement ou de protection. Il peut être très utile pour, entre autres, forcer l’activation de Doze quand vous éteignez l’écran, afin de réduire votre consommation de batterie. Ici il va également nous servir, mais pour contrer une vérification faire par l’application PokémonGO : en effet, à son lancement, elle vérifie si l’option « Position fictives » est activée. Si oui, la triche est repérée, et l’application indiquera un laconique « Signal GPS introuvable », sorte de « Go Fuck Yourself » poli, vu le contexte.

C’est là qu’intervient Mock Mock Location, qui va « forcer » le système à répondre à l’appli que non, les positions fictives ne sont pas activées. Même si vous et moi savons que c’est bien le cas. 😛

 

Pour installer XPosed, il faut se rendre sur le thread officiel de rovio89 sur XDA, et charger 3 fichiers : l’installateur, à flasher via le recovery (TWRP), le désinstallateur au cas où les choses tourneraient mal, et le fichier APK pour gérer les modules. Choisissez bien l’architecture qui va bien (par exemple sur le G4 c’est de l’arm64 alors que le Nexus 4 est simplement en arm), et la version du SDK qui vous correspond (sdk23 c’est pour Android 6.0 « Marshmallow », sdk22 pour Android 5.1 « Lollipop » et ainsi de suite).

Surtout : faites une sauvegarde type NANDROID, par pitié. XPosed est stable, mais sur certains téléphones ou ROM, c’est potentiellement foireux…

Du coup, la procédure est simple :

  1. démarrez en recovery, avec votre batterie chargée
  2. flashez le zip d’installation de XPosed
  3. effacez le cache et le cache Dalvik/ART
  4. redémarrez normalement (ça prend un peu de temps, optimisation des applications tout ça, d’où la nécessité d’avoir la batterie chargée)
  5. installez l’APK du Xposed Installer, lancez cette application
  6. dans « Framework », lisez l’avertissement, puis vérifiez bien qu’apparaît en haut et en vert une mention type « Xposed framework version 86 is active ». Dans le cas contraire, un truc s’est mal passé, à revoir 😉
  7. dans « Téléchargements », faites une recherche sur « mock mock locations », et installez-le (version 1.4 à ce jour)
  8. dans « Modules », activez celui que vous venez d’installer
  9. redémarrez le téléphone, et croisez les doigts

Si tout s’est bien passé, vous voilà prêts à installer une application pour émuler votre position 😀

 

Sélection_001

 

Installer Lockito et le paramétrer

Direction le Play Store si vous y avez accès, ou APKMirror sinon. Installez « Lockito — Fake GPS itinerary » qui porte bien son nom. Lancez l’appli. Direction les paramètres, tout en bas, section « Provider Type » qu’il convient de passer à « Hybride » pour que l’illusion soit complète.

Maintenant, on va activer les « Options pour les développeurs ». Pour cela (elles sont cachées), allez dans les paramètres de votre téléphone, section « À propos » ou un truc dans ce goût là, là où vous trouverez le « Numéro de build ». Tapotez rapidement dessus (il faut 7 taps, il vous le dit), jusqu’à ce qu’un message de félicitations vous indique que vous avez activé ces options :mrgreen:

Dans les paramètres du téléphone, vous trouverez donc un nouvel item, les options développeur. Cherchez dans celles-ci le paramètre « Sélectionner l’application de position fictive » et choisissez Lockito.

Vous êtes prêts !!

 

Création d’un itinéraire, lancement de PokémonGO

Dans Lockito, c’est tout simple : tapez sur le « + », donnez un nom à votre itinéraire, et si on vous le demande autorisez évidemment l’appli à accéder à la localisation…

Vous devez donc : changer la vitesse pour vous rapprocher d’une marche normale ou d’un tour à vélo, puis poser votre petit doigt boudiné sur l’écran pour placer le point de départ, et faire de même pour l’arrivée. L’itinéraire se trace sous vos yeux ébahis. Enregistrez l’itinéraire, activez la localisation sur le téléphone, lancez l’itinéraire dans Lockito et ouvrez PokémonGO. C’est parti pour la chasse ! 😀

 

Note : vous pouvez évidemment importer une trace GPX de votre choix, faite depuis un ordinateur ou enregistrée au cours d’une rando, pour faire votre « parcours quotidien » ! C’est génial ça, non ?

Note 2 : il y a d’autres applications et/ou modules XPosed « dédiés » à PokémonGO. Faites attention cependant, certains demandent des privilèges élevés, voire à être installés comme application système. Clairement, là encore pour des raisons évidentes de sécurité, je ne le recommande pas.

 

Une petite vidéo de démonstration, c’est plus parlant 😛

Et évidemment, rien ne vous empêche de combiner ça avec certains cartes collaboratives en ligne… 😉

(tout ça pour des pokémons, oui…)

Mots clés