Mise à jour : LineageOs 17/18 - Android 10/11
Le support de l'usurpation de signature (signature spoofing) est nécessaire à l'utilisation de microG (remplacement des services google contenus dans opengapps par les services microG)
Ce document décrit comment mettre en place l'usurpation de signature sur une ROM LineageOS. Trois méthodes sont décrites, à sélectionner en fonction de la version de Android et la disponibilité des outils. A ce jour (Septembre 2021) :
Android 8, 9 et 10 : NanoDroid-patcher du projet NanoDroid
Référence
Sommaire
Les services google ne doivent pas avoir été installés, ce qui est le cas de des ROMS lineageOS sans les googleapps.
En cas de doute, vérifier que les applications ne sont pas présentes :
$ cat <<EOF> googleplayservices
GmsCore
GoogleBackupTransport
GoogleFeedback GoogleLoginService
GoogleOneTimeInitializer GooglePartnerSetup
GoogleServicesFramework
Phonesky, SetupWizard
Velvet
EOF
$ for i in $(cat googleplayservices); do { echo $i; adb shell pm list packages $i; };done
Installer l'application FakeGapps via F-Droid
Lancer Xposed, installer et cocher le module FakeGapps
Redémarrer pour faire prendre en compte le module
Depuis la page https://downloads.nanolx.org/NanoDroid/stable,
$ wget https://downloads.nanolx.org/NanoDroid/Stable/NanoDroid-patcher-23.1.2.20210117.zip
$ wget https://downloads.nanolx.org/NanoDroid/Stable/NanoDroid-microG-23.1.2.20210117.zip.sha256
$ wget https://downloads.nanolx.org/NanoDroid/Stable/NanoDroid-patcher-23.1.2.20210117.zip.sha256.sig
$ sha256sum -c NanoDroid-patcher-23.1.2.20210117.zip.sha256
NanoDroid-patcher-23.1.2.20210117.zip: Réussi
$ wget https://downloads.nanolx.org/NanoDroid/Stable/photonic.asc
$ gpg --import photonic.asc
gpg: clef 340FD70EFFC52B26 : clef publique « Christopher Roy Bratusek <nano@jpberlin.de> » importée
gpg: Quantité totale traitée : 1
gpg: importées : 1
$ gpg --list-keys
.....
pub rsa2048 2016-12-02 [SCEA]
B0ABCE622A077B584B81339E340FD70EFFC52B26
uid [ inconnue] Christopher Roy Bratusek <nano@jpberlin.de>
sub rsa2048 2016-12-02 [SEA]
$ gpg --keyserver pgp.mit.edu --recv B0ABCE622A077B584B81339E340FD70EFFC52B26
.....
gpg: échec de réception depuis le serveur de clefs: No keyserver available
$ gpg --keyserver pgp.mit.edu --search-keys nano@jpberlin.de
....
gpg: error searching keyserver: No keyserver available
gpg: échec de recherche au sein du serveur de clefs : No keyserver available
$ gpg --verify NanoDroid-patcher-23.1.2.20210117.zip.sha256.sig
gpg: les données signées sont supposées être dans «NanoDroid-patcher-23.1.2.20210117.zip.sha256 »
gpg: Signature faite le dim. 17 janv. 2021 15:32:34 CET
gpg: avec la clef RSA 7EBB4D381A07C3F8000E1A235871E54A5634A9E9
gpg: Bonne signature de « Christopher Roy Bratusek <nano@jpberlin.de> » [inconnu]
gpg: Attention : cette clef n'est pas certifiée avec une signature de confiance.
gpg: Rien n'indique que la signature appartient à son propriétaire.
Empreinte de clef principale : B0AB CE62 2A07 7B58 4B81 339E 340F D70E FFC5 2B26
Empreinte de la sous-clef : 7EBB 4D38 1A07 C3F8 000E 1A23 5871 E54A 5634 A9E9
Récupérer le fichier archive /system/framework/services.jar
$ adb pull /system/framework/services.jar
Vérifier qu'il contient un fichier classes.dex
$ unzip -l services.jar |grep classes.dex
2749064 2018-10-10 15:14 classes.dex
Si ce n'est pas le cas, il est nécessaire de déodexer la ROM : voir Deodex services.jar
En mode système, recopier le fichier NanoDroid-patcher sur le périphérique
$ adb push NanoDroid-patcher-23.1.2.20210117.zip /sdcard/Download
Depuis Magisk, flasher le module en utilisant l'option "Installer depuis le stockage"
Rechercher le module (Carte SD > Répertoire Donwload)
L'installer et redémarrer
L'application Signature Spoofing Checker doit indique que l'usurpation de signature est active
Lancer l'application LSPosed, activer le framework, activer le module FakeGApps, s'assurer que les applications recommandées sont cochées
Redémarrer