12 votes

Suppression du cryptage de la récupération

J'exécute CyanogenMod 12 nightly sur mon G900T (klte). Tout fonctionne très bien, sauf le mot de passe de cryptage par défaut, qui provoque une boucle de démarrage de mon téléphone.

J'ai formaté les données et fait des réinitialisations d'usine, mais /data est toujours crypté et apparaît comme /dev/dm-0 .

Y a-t-il une commande que je peux faire pour supprimer le cryptage ? Je ne me soucie pas des données, je veux qu'elles disparaissent toutes. Je veux juste revenir à avoir /data et le stockage interne étant stocké en clair sur le disque pour pouvoir démarrer dans CyanogenMod.

Comment puis-je utiliser adb shell pour supprimer le cryptage sur ces partitions ?

0 votes

Quelle récupération avez-vous flashé ?

1 votes

Projet de récupération Team Win (TWRP)

0 votes

J'ai lu aquí que vous pouvez vous débarrasser du cryptage en flashant une nouvelle ROM, pas sûr que cela fonctionne dans votre cas mais cela vaut la peine d'essayer.

14voto

mjlee Points 949

La réponse pour moi impliquait un certain nombre de choses, mais je pense que l'une d'entre elles est vraiment la clé.

Utilisez la commande "récupération", bro

Cela utilise le logiciel CyanogenMod's/AOSP's recovery pour effacer les données de l'utilisateur et désactiver le cryptage. (trouvé dans cette réponse sur Stack Overflow ) Démarrez votre système de récupération, puis, à partir de votre ordinateur, exécutez les commandes suivantes

adb shell recovery --wipe_data --set_filesystem_encryption=off

Votre téléphone va redémarrer dans le système et tout devrait fonctionner comme prévu.

Si vous devez l'exécuter à partir du téléphone lui-même (c'est-à-dire si vous n'avez pas d'ordinateur à proximité pour le faire fonctionner), vous pouvez le faire à partir du téléphone. adb avec) :

recovery --wipe_data --set_filesystem_encryption=off

Il devrait effacer, désactiver le cryptage, et redémarrer le système.

Si tout le reste échoue

N'utilisez pas cette méthode, sauf si ce qui précède ne fonctionne pas ou ne s'applique pas à votre scénario.

Détruire l'en-tête LUKS pour le chiffrement des systèmes de fichiers

  1. Vous avez besoin d'une récupération qui vous permettra de descendre à une coquille comme root donc TWRP fonctionne dans mon cas.

  2. Localisez le userdata partition en regardant dans /dev/block/platform/*/by-name/userdata .

  3. Ecris une tonne de zéros au début de cette partition pour effacer l'en-tête LUKS :

    dd if=/dev/zero of=$PATH_TO_YOUR_USERDATA bs=4096 count=512

    Je ne revendique aucune responsabilité pour ce que vous faites avec cette commande. Si vous faites une erreur, vous pouvez détruire votre téléphone en écrasant votre chargeur de démarrage ou d'autres partitions critiques. Assurez-vous que $PATH_TO_YOUR_USERDATA pointe vers le réel userdata partition. Vérifiez la taille de cette partition pour vous assurer que vous effacez la bonne chose. J'ai un téléphone de 16Go et userdata est de 10,4 Go, le reste étant dédié à system mais votre téléphone sera différent.

  4. Reformatez cette partition en tant que ext4 en utilisant make_ext4fs $PATH_TO_YOUR_USERDATA .

    Il peut y avoir des erreurs, mais généralement elles concernent l'impossibilité de trouver la "sdcard" interne, ce qui est correct.

Après tout cela, redémarrez le système de récupération et exécutez une réinitialisation d'usine, juste pour être sûr.

Pourquoi cela fonctionne-t-il ?

Le simple fait de faire une réinitialisation d'usine n'a rien changé pour moi, le téléphone voyait toujours une partition LUKS. Je suppose que c'est parce que l'en-tête LUKS existait toujours au niveau du disque et que la partition ext4 était simplement superposée. Pour une raison quelconque, Android donne la priorité à la détection d'une partition LUKS par rapport à une partition ext4 et tente (et réussit) de la monter.

Où aller à partir de maintenant

(Si vous savez ce que vous faites, vous pourriez aussi vouloir essuyer system et installez votre ROM à partir de zéro. Encore une fois, je ne suis pas responsable de ce que vous faites avec les informations contenues dans ce message. )

Ça a marché pour moi sur un klte G900T (Samsung Galaxy S5 T-Mobile). Votre kilométrage peut varier.

0 votes

Ça a plutôt bien marché (l'option dd / make_ext4fs). -- Lorsque j'ai redémarré, il demandait toujours un mot de passe dans la récupération TWRP, et les options de formatage avancées ne fonctionnaient pas -- mais lorsque j'ai fait un formatage régulier de la partition de données, cela a fonctionné. -- J'ai pu redémarrer en récupération sans aucune demande de mot de passe :-)

1 votes

Naftuli, tu me sauves la vie ! J'ai mon S6 edge (SM-G925F) dans une boucle de démarrage morte, car il n'a pas été en mesure de crypter probablement à cause de la récupération personnalisée (TWRP), je pense que le cryptage est fait via la récupération stock. Il n'arrêtait pas de dire "le cryptage n'est pas terminé, réinitialisez et redémarrez". J'ai même essayé de flasher le stock recovery, il n'a pas démarré (probablement le mauvais mais étiqueté pour mon appareil). L'ensemble du stock rom n'était pas bon non plus (je n'ai pas pu en trouver un correct, celui que j'ai trouvé a été rejeté par odin). Finalement, j'ai fait tout ce que vous avez dit ici, et dd La commande a finalement fait l'affaire. Merci beaucoup !

0 votes

En recovery n'a pas semblé fonctionner pour moi. Je l'ai appelée depuis ADB Shell en TWRP récupération. Mon principal problème est que le débogage USB n'est pas activé et que /system est corrompu donc je ne peux pas démarrer et l'activer. De plus, le cryptage du disque est activé et semble m'empêcher d'exécuter les opérations suivantes fastboot flash system system.zip correctement.

11voto

Unispezi Points 111

Sur mon Moto G 3rd Gen (osprey), ni l'appel à la récupération ni l'effacement de l'en-tête LUKS (au début et à la fin de la partition) n'ont fonctionné - je devais toujours entrer le mot de passe de cryptage pendant le démarrage de Cyanogen Mod, puis j'étais bloqué avec un message "erreur de cryptage".

J'ai finalement trouvé que ma récupération TWRP 3.0.1 a une option "Format Data" dans la section "Wipe". Cela fait une réinitialisation d'usine complète qui désactive également le cryptage.

Ça a marché comme un charme. Si vous avez accès à une version TWRP décente (facilement flashée, par exemple avec Flashify), essayez d'abord ceci.

1 votes

Merci. Pourquoi opter pour une solution compliquée quand une solution simple fonctionne ?

0 votes

Mon seul problème avec cette option est que le texte implique qu'elle efface également votre carte SD. Si votre carte est facilement accessible, ce n'est pas un problème :-||.

1 votes

@pgmann : l'option 'format data' est apparue il y a peu dans TWRP, c'est pour cela. Pour sûr, elle n'était pas là en 2014 quand ces réponses ont été fournies. De plus, le dd Cette approche est utile pour nettoyer le cryptage dans les scripts, car l'option "formater les données" n'est pas disponible dans les commandes TWRP, alors que les commandes existantes ne peuvent pas effacer le cryptage. J'espère qu'ils ajouteront cette commande dans le futur...

5voto

ArtDeineka Points 171

A condition que vous utilisiez TWRP ou un programme similaire.

  • redémarrer en TWRP (entrer le mot de passe), et faire une sauvegarde de Data à une partition externe SD o OTG Drive
  • redémarrer en TWRP (annuler le mot de passe), et formater la partition Data en f2fs
  • restaurer la sauvegarde faite à l'étape 1 vers la nouvelle création Data partition
  • redémarrer le système
  • profiter d'Android avec toutes vos données sauvegardées, et le cryptage supprimé

4voto

lockheed Points 161

La solution consistant à effacer manuellement l'en-tête LUKS fournie par Naftuli Tzvi Kay fonctionne bien, sauf pour une chose. Je ne sais pas de quoi cela dépend, mais d'après mon expérience, Android conserve l'en-tête LUKS à la FIN de la partition. Et si c'est le cas avec votre appareil, alors exécuter

dd if=/dev/zero of=$PATH_TO_YOUR_USERDATA bs=4096 count=512

ne parviendra pas à supprimer l'en-tête (le pied de page ?) car il n'efface que le début de la partition. On pourrait bien sûr effacer toute la partition, mais cela prendrait inutilement du temps. Donc...

Pour effacer la fin de la partition (de n'importe quelle taille), après avoir exécuté la commande ci-dessus, exécutez également cette commande :

dd bs=512 if=/dev/zero of=$PATH_TO_YOUR_USERDATA count=22048 seek=$((`blockdev --getsz $PATH_TO_YOUR_USERDATA` - 22048))

0 votes

L'effacement de l'en-tête seulement a fonctionné correctement pour moi (peut-être parce que le cryptage n'était pas terminé - pas sûr). Mais je vote pour votre réponse en raison de votre faible karma ;))

4voto

Dougie Atfield Points 1

Utilisez-vous la récupération personnalisée ?

Si oui, faites-le après avoir démarré une restauration personnalisée ( TWRP dans mon cas) :

  1. Au démarrage de la récupération, NE PAS décrypter le dispositif . Il suffit d'appuyer sur Annuler quand on lui demande un mot de passe ou un modèle.

  2. Effacez la partition de données. (Sur TWRP après avoir glissé pour modifier le système : Wipe > Advanced > Check : Data)

Cela va bien sûr effacer tout ce qui se trouve dans le userdata partition. L'ensemble de la partition de données sera reformatée y compris les clés de cryptage .

1 votes

Le nettoyage de la partition de données supprime simplement l'en-tête du système de fichiers au début de la partition. Cela ne fonctionne pas parce que sur de nombreuses versions d'Android, l'en-tête LUKS/dm-crypt se trouve à l'endroit où se trouve la partition de données. fin du système de fichiers.

1 votes

L'avez-vous essayé ? Parce que ça vient de fonctionner dans ma Nexus 9.

1 votes

Je ne sais pas pourquoi quelqu'un a rétrogradé cette réponse, cela fonctionne et c'est le moyen le plus simple de se débarrasser du cryptage.

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