5 votes

Déverrouillage du chargeur de démarrage Huawei : qu'est-ce que le "verrou FB" et comment le déverrouiller ?

J'ai joué avec mon téléphone Huawei de secours en essayant de contourner la sécurité sans effacer les données et je suis tombé sur cet article: https://blog.salvationdata.com/2018/09/07/case-study-mobile-forensics-a-practical-solution-to-unlock-huawei-bootloader/

À l'étape 3, vous devriez "désactiver temporairement le verrouillage de FB". Que cela signifie-t-il et comment le déverrouiller en utilisant fastboot? Je suppose que je ne peux pas le faire en utilisant la commande standard fastboot oem unlock, mais je n'ai rien trouvé d'autre dans la documentation fastboot. entrer la description de l'image ici

ÉDITER : Résultat de la commande fastboot help comme demandé : https://pastebin.com/2rhr1PTT

platform-tools$ ./fastboot help
usage: fastboot [OPTION...] COMMAND...

flashing:
 update ZIP                 Flashe toutes les partitions à partir d'un package update.zip.
 flashall                   Flashe toutes les partitions à partir de $ANDROID_PRODUCT_OUT.
                            Sur les appareils A/B, la partition flashée est définie comme active.
                            Les images secondaires peuvent être flashées sur la partition inactive.
 flash PARTITION [FILENAME] Flashe la partition donnée, en utilisant l'image de
                            $ANDROID_PRODUCT_OUT si aucun nom de fichier n'est donné.

bases:
 devices [-l]               Liste les appareils en mode bootloader (-l: avec les chemins des appareils).
 getvar NAME                Affiche la variable du bootloader donnée.
 reboot [bootloader]        Redémarre l'appareil.

verrouillage/déverrouillage:
 flashing lock|unlock       Verrouille/déverrouille les partitions pour le flashage
 flashing lock_critical|unlock_critical
                            Verrouille/déverrouille les partitions du bootloader "critiques".
 flashing get_unlock_ability
                            Vérifie si le déverrouillage est autorisé (1) ou non (0).

avancé:
 erase PARTITION            Efface une partition flash.
 format[:FS_TYPE[:SIZE]] PARTITION
                            Formate une partition flash.
 set_active SLOT            Définit la partition active.
 oem [COMMAND...]           Exécute une commande spécifique à l'OEM.

image de démarrage:
 boot KERNEL [RAMDISK [SECOND]]
                            Télécharge et démarre le noyau depuis la RAM.
 flash:raw PARTITION KERNEL [RAMDISK [SECOND]]
                            Crée une image de démarrage et la flashe.
 --cmdline CMDLINE          Remplace la ligne de commande du noyau.
 --base ADDRESS             Définit l'adresse de base du noyau (par défaut: 0x10000000).
 --kernel-offset            Définit le décalage du noyau (par défaut: 0x00008000).
 --ramdisk-offset           Définit le décalage du ramdisk (par défaut: 0x01000000).
 --tags-offset              Définit le décalage des balises (par défaut: 0x00000100).
 --page-size BYTES          Définit la taille de la page flash (par défaut: 2048).
 --header-version VERSION   Définit la version de l'en-tête de l'image de démarrage.
 --os-version MAJOR[.MINOR[.PATCH]]
                            Définit la version du système d'exploitation de l'image de démarrage (par défaut: 0.0.0).
 --os-patch-level YYYY-MM-DD
                            Définit le niveau de sécurité du système d'exploitation de l'image de démarrage.

Android Things:
 stage IN_FILE              Envoie le fichier donné à la mise en attente pour la prochaine commande.
 get_staged OUT_FILE        Écrit les données mises en attente par la dernière commande dans un fichier.

options:
 -w                         Efface les données utilisateur.
 -s SERIAL                  Spécifie un appareil USB.
 -s tcp|udp:HOST[:PORT]     Spécifie un appareil réseau.
 -S SIZE[K|M|G]             Divise en fichiers épars d'une taille maximale de SIZE.
 --slot SLOT                Utilise SLOT ; 'all' pour les deux slots, 'other' pour
                            l'autre slot (défaut : slot actif actuel).
 --set-active[=SLOT]        Définit le slot actif avant de redémarrer.
 --skip-secondary           N'ayez pas à flasher les slots secondaires dans flashall/update.
 --skip-reboot              Ne pas redémarrer l'appareil après le flash.
 --disable-verity           Définit disable-verity lors du flashage de vbmeta.
 --disable-verification     Définit disable-verification lors du flashage de vbmeta.
 --wipe-and-use-fbe         Active le cryptage basé sur les fichiers, en effaçant les données utilisateur.
 --unbuffered               N'effectue pas de mise en mémoire tampon en entrée ou en sortie.
 --verbose, -v              Affichage détaillé.
 --version                  Affiche la version.
 --help, -h                 Affiche ce message.

5voto

jbjon Points 771

Il y a deux types de verrous de bootloader dans les appareils Huawei : le verrou FB et le verrou UTILISATEUR.

Le verrou UTILISATEUR restreint les partitions standard telles que le système, les données, la récupération, le noyau, etc., mais pas les partitions de bootloader critiques dont je ne me souviens pas des noms. (Donc, vous ne pouvez pas les éditer même si vous effectuez un déverrouillage UTILISATEUR) Le verrou UTILISATEUR nécessite le code de déverrouillage du bootloader pour être déverrouillé. De plus, il existe des commandes matérielles cachées utilisées pour un débogage sérieux comme JTAG, qui ne peuvent pas être accessibles avec un déverrouillage UTILISATEUR.

Le verrou FB est utilisé pour protéger ces fonctions restreintes. Un déverrouillage FB fonctionne comme une clé pour tout Fastboot. (Donc, si vous effectuez un déverrouillage FB, vous pouvez déverrouiller tout ce que le déverrouillage UTILISATEUR fait, ainsi que les autres fonctions restreintes) Le verrou FB est destiné à être utilisé par le personnel de Huawei pour les réparations. Il n'est PAS censé être déverrouillé par les utilisateurs, mais c'est possible de toute façon, comme je l'ai découvert après plusieurs recherches, mais cela ne fonctionne pas sur les versions de firmware très récentes comme EMUI 8.2 ou la mise à jour de sécurité de juillet/août. Il est utilisé depuis des années par des logiciels payants pour effectuer un déverrouillage FRP, une restauration complète du système, voire obtenir un code de déverrouillage de bootloader pour le déverrouillage UTILISATEUR. Un déverrouillage FB est généralement temporaire.

La méthode de déverrouillage FB est restée secrète pendant un certain temps, mais j'ai récemment vu qu'elle a été divulguée sur XDA. Vous pouvez y jeter un œil ici. Ce guide couvre également une méthode pour extraire la partition NVME pour un déverrouillage FB permanent. Si vous ne souhaitez pas un déverrouillage FB permanent, mais préféreriez simplement un déverrouillage UTILISATEUR normal, vous pouvez sauter les étapes après 3, mais au lieu de cela, lorsque vous démarrez TWRP, vous pouvez utiliser :

su -c "grep -m1 -aoE 'WVLOCK.{14}[0-9]{16}' /dev/block/mmcblk0p7 |grep -aoE '[0-9]{16}'"

Cela affichera le code de déverrouillage du bootloader que vous pouvez utiliser pour un déverrouillage UTILISATEUR standard. Bonne chance!

2 votes

Est-ce que le déverrouillage de FB provoquera une suppression des données de l'utilisateur? Selon l'article mentionné dans mon post, il ne devrait pas, mais je ne suis pas sûr. De plus, si le déverrouillage de FB est "plus puissant" que le déverrouillage de l'utilisateur, pourquoi se soucier encore du déverrouillage de l'utilisateur si vous parvenez à déverrouiller FB?

1 votes

FB Unlock ne provoquerait pas d'effacement des données utilisateur. J'ai ajouté cette partie car FB Unlock est tellement puissant que vous pouvez même rendre votre appareil totalement inutilisable, en exécutant une mauvaise commande. Si vous faites attention aux commandes que vous choisissez d'exécuter, alors le FB Unlock permanent ne devrait pas poser de problème.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X