9 votes

Comment réparer le bootloop ou décrypter /data dans TWRP ?

J'essaie de récupérer les données à partir d'un défaut/usine crypté Samsung Galaxy S7 Edge coincé dans un boucle de démarrage (par exemple : redémarrage sans fin lors du démarrage du système). Il utilise la rom stock. Seul le recovery (twrp) et le mode téléchargement fonctionnent. J'ai besoin soit de réparer le bootloop ou de décrypter à au moins le partition de données dans twrp (je connais le schéma de verrouillage). Note : I Je sais que le bootloop peut être résolu par une réinitialisation d'usine, mais cela entraînerait perte de données.

Informations générales :

Model: SM-G935F
Codename: hero2lte
Android version: Stock 7.1.x (almost sure)
TWRP: 3.2.3-0

Installer

J'ai suivi le Guide adb et le guide de montage (seulement jusqu'à et y compris l'installation de twrp ; LineageOS n'a pas été installé).

Après avoir installé adb y heimdall sur le pc, c'est ce qui a été fait sur le téléphone :

  • Entrer en mode téléchargement
  • heimdall flash --RECOVERY twrp-3.2.3-0-hero2lte.img
  • Redémarrer en mode de récupération

Il a continué à dire qu'il ne pouvait pas monter /système ni /données mais il jamais demandé à (et ne le fait toujours pas) pour le mot de passe de cryptage ou autre. Quand essayant de faire une sauvegarde nandroid, le stockage interne s'est affiché comme 0 MB et il a erré out.

Le démarrage du système a fonctionné sans problème.

Ensuite, j'ai essayé d'installer (LineageOS' ) su pour pouvoir sauvegarder les choses correctement en utilisant quelque chose comme oandbackup ou TitaniumBackup :

  • Démarrer en mode de récupération
  • adb push addonsu-15.1-arm64-signed.zip
  • Installer -> addonsu-15.1-arm64-signed.zip

Je pensais que l'une des choses suivantes allait se produire :

  1. L'écriture fonctionnerait, et su serait disponible.
  2. L'écriture fonctionnerait, et la mémoire vive l'ignorerait.
  3. L'écriture échouerait, rien ne se passerait

Il a montré quelques erreurs sur les partitions à nouveau (jusqu'à ce point, je pensais que seulement les données a été chiffrée, pas celle du système).

J'ai essayé de redémarrer -> système, et ce qui s'est passé c'est que :

  1. L'appareil était (et est toujours) coincé dans une boucle de démarrage

J'ai donc essayé d'utiliser le système LineageOS su-démontage :

  • Démarrer en mode de récupération
  • adb push addonsu-remove-15.1-arm64-signed.zip
  • Installer -> addonsu-remove-15.1-arm64-signed.zip

Pourtant, rien ne semble avoir changé. Journal à l'écran de TWRP :

Could not mount /data and unable to find crypto footer.
Failed to mount '/data' (Invalid argument)
Updating partition details...
Failed to mount /data (Invaild argument)
...done
Unable to mount storage
Failed to mount /data (Invaild argument)
Full SELinux support is present.
Unable to mount /data/media/TWRP/.twrps
MTP Enabled

Regarder /cache/recovery/log il ne montre pas /system comme vide :

/system | /dev/block/sda14 | Size: 4132MB Used: 3987MB Free: 145MB Backup Size: 3987MB
   Flags: Can_Be_Mounted Can_Be_Wiped Can_Be_Backed_Up Wipe_Available_in_GUI IsPresent Mount_Read_Only
   Primary_Block_Device: /dev/block/sda14
   Display_Name: System
   Storage_Name: System
   Backup_Path: /system
   Backup_Name: system
   Backup_Display_Name: System
   Storage_Path: /system
   Current_File_System: ext4
   Fstab_File_System: ext4
   Backup_Method: files

/data | /dev/block/sda18 | Size: 0MB Used: 0MB Free: 0MB Backup Size: 0MB
   Flags: Can_Be_Mounted Can_Be_Wiped Can_Be_Backed_Up Wipe_During_Factory_Reset Wipe_Available_in_GUI IsPresent Can_Be_Encrypted Has_Data_Media Can_Encrypt_Backup Use_Userdata_Encryption Is_Storage Is_Settings_Storage
   Symlink_Path: /data/media
   Symlink_Mount_Point: /sdcard
   Primary_Block_Device: /dev/block/sda18
   Length: -20480
   Display_Name: Data
   Storage_Name: Internal Storage
   Backup_Path: /data
   Backup_Name: data
   Backup_Display_Name: Data
   Storage_Path: /data/media
   Current_File_System: ext4
   Fstab_File_System: ext4
   Backup_Method: files
   MTP_Storage_ID: 65537

Mais rien n'apparaît lorsqu'on essaie d'y accéder :

~ # ls -lah /system
__bionic_open_tzdata: couldn't find any tzdata when looking for localtime!
__bionic_open_tzdata: couldn't find any tzdata when looking for GMT!
__bionic_open_tzdata: couldn't find any tzdata when looking for posixrules!
drwxr-xr-x    2 root     root          40 Jan  1  1970 .
drwxrwxrwt   24 root     root         840 Sep 10 02:15 ..

Également dans /cache/recovery/log :

I:Done processing fstab files
I:Setting up '/data' as data/media emulated storage.
I:Created '/sdcard' folder.
I:Can't probe device /dev/block/sda18
I:Unable to mount '/data'
I:Actual block device: '/dev/block/sda18', current file system: 'ext4'
I:Can't probe device /dev/block/sda18
I:Unable to mount '/data'
I:Actual block device: '/dev/block/sda18', current file system: 'ext4'
get_crypt_ftr_info crypto key location: 'footer'
Bad magic for real block device /dev/block/sda18
Could not mount /data and unable to find crypto footer.
I:Setting up '/data' as data/media emulated storage.
I:Can't probe device /dev/block/sda18
I:Unable to mount '/data'
# ...

Questions :

  • S'il n'a même pas pu monter la partition, comment a-t-il pu se bloquer ?

  • Est-ce que "Install" écrit quelque chose ailleurs (à l'exception des entrées de journal, etc.) ?

  • Peut-il réellement écraser/endommager la partition (ou le périphérique de bloc directement) ? même s'il ne peut pas la monter ?

  • Y a-t-il un moyen de déboguer le bootloop

  • Comment réparer le bootloop ?

Décryptage

J'ai donc essayé de décrypter les partitions de données pour voir si je pouvais au moins y accéder. depuis twrp, en utilisant ces étapes .

C'est le modèle :

[_   1   6]
[2   7   5]
[3   4   _]

Ce qui signifie que le code utilisé par twrp (de 1 à 9) devrait être le suivant : 2478635. J'ai donc essayé :

~ # twrp decrypt 2478635
Attempting to decrypt data partition via command line.
Failed to decrypt data.

J'ai également essayé d'utiliser le code "natif" (de 0 à 8), sans succès :

~ # twrp decrypt 1367524
Attempting to decrypt data partition via command line.
Failed to decrypt data.

Recherche aux partitions :

~ # ls -l /dev/block/platform/155a0000.ufs/by-name/
__bionic_open_tzdata: couldn't find any tzdata when looking for localtime!
__bionic_open_tzdata: couldn't find any tzdata when looking for GMT!
__bionic_open_tzdata: couldn't find any tzdata when looking for posixrules!
lrwxrwxrwx    1 root     root            15 Sep 10 02:15 BOOT -> /dev/block/sda5
lrwxrwxrwx    1 root     root            15 Sep 10 02:15 BOTA0 -> /dev/block/sda1
lrwxrwxrwx    1 root     root            15 Sep 10 02:15 BOTA1 -> /dev/block/sda2
lrwxrwxrwx    1 root     root            16 Sep 10 02:15 CACHE -> /dev/block/sda15
lrwxrwxrwx    1 root     root            15 Sep 10 02:15 CPEFS -> /dev/block/sdd1
lrwxrwxrwx    1 root     root            16 Sep 10 02:15 CP_DEBUG -> /dev/block/sda17
lrwxrwxrwx    1 root     root            16 Sep 10 02:15 DNT -> /dev/block/sda10
lrwxrwxrwx    1 root     root            15 Sep 10 02:15 EFS -> /dev/block/sda3
lrwxrwxrwx    1 root     root            16 Sep 10 02:15 HIDDEN -> /dev/block/sda16
lrwxrwxrwx    1 root     root            15 Sep 10 02:15 OTA -> /dev/block/sda7
lrwxrwxrwx    1 root     root            15 Sep 10 02:15 PARAM -> /dev/block/sda4
lrwxrwxrwx    1 root     root            16 Sep 10 02:15 PERSDATA -> /dev/block/sda13
lrwxrwxrwx    1 root     root            16 Sep 10 02:15 PERSISTENT -> /dev/block/sda11
lrwxrwxrwx    1 root     root            15 Sep 10 02:15 RADIO -> /dev/block/sda8
lrwxrwxrwx    1 root     root            15 Sep 10 02:15 RECOVERY -> /dev/block/sda6
lrwxrwxrwx    1 root     root            16 Sep 10 02:15 STEADY -> /dev/block/sda12
lrwxrwxrwx    1 root     root            16 Sep 10 02:15 SYSTEM -> /dev/block/sda14
lrwxrwxrwx    1 root     root            15 Sep 10 02:15 TOMBSTONES -> /dev/block/sda9
lrwxrwxrwx    1 root     root            16 Sep 10 02:15 USERDATA -> /dev/block/sda18

Montre que sda14 est le système et que sda18 est la partition données partition. Donc j'ai réussi à tirer /dev/block/sda14 y /dev/block/sda18 :

adb pull /dev/block/sda14 sda14.img
# ...

adb pull /dev/block/sda18 sda18.img
/dev/block/sda18: 1 file pulled. 3.7 MB/s (26843545600 bytes in 6961.803s)

J'ai vérifié que les hachages SHA-1 du périphérique de bloc et du .img correspondent, mais je ne sais pas comment les décrypter sur le PC.

Question :

Comment pourrais-je les décrypter sur Android/Linux/Windows ?


Note : Si cette question est trop spécifique pour ce site, veuillez indiquer le forum approprié. forum approprié. Je connais le xda spécifique aux téléphones, mais cela semble trop générique. Toute aide est appréciée.

2voto

M Shiraz Baig Points 21

J'ai eu le même problème et je vais écrire des conseils sur la façon dont j'ai résolu cette situation.

Vous pouvez le réparer en flashant n'importe quelle rom.

Flashez n'importe quelle rom en utilisant un stockage externe ou par adb sideload(Advanced -> ADB Sideload -> Exécuter "adb sideload ROM-FILENAME.zip") Vous verrez l'écran de verrouillage après le redémarrage. Après la connexion, vous pouvez décrypter les données dans TWRP.

_Si vous voyez une erreur/un crash après le démarrage d'Android en raison d'un flash sale, installez magisk et créez une sauvegarde en Migrer et le restaurer après avoir effacé les données._

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