Comment décrypter la carte SD corrompue formatée en stockage interne?

10

Je suis donc sur Marshmallow et j'ai formaté ma carte SD en tant que stockage interne. Son système de fichiers s'est corrompu deux semaines plus tard pour une raison quelconque.

En le branchant sur GParted, je vois 16 Mo de FAT32 et le reste est un système de fichiers non reconnu. Ce n'est pas non formaté, juste non reconnu.

GParted donne le "Impossible de lire le contenu du système de fichiers." erreur pour les deux partitions, bien que la partition FAT32 soit parfaitement accessible à partir du navigateur de fichiers.

Il s'agit d'un Samsung i9505 fonctionnant sur Cyanogenmod 13 de nuit.

EDIT: J'ai découvert que les partitions non reconnues sont un ext4 crypté AES-128 bits statique. Maintenant, je vais essayer de le décrypter et de récupérer quoi que ce soit.

EDIT2: J'ai changé d'avis et ne me dérange pas. Formatage en tant que stockage externe cette fois.

Doruk Karınca
la source
Est-ce courant?
William

Réponses:

9

Même si cela ne répond pas complètement à la question, voici un guide pour décrypter le stockage externe formaté en interne. Cependant, vous devez être root sur votre téléphone.

L'essentiel est que nous recherchons des chaînes comprenant le mot-clé expandet se terminant par .keydedans en voldutilisant:

$ strings vold|grep -i expand
--change-name=0:android_expand
%s/expand_%s.key
/mnt/expand/%s

Il renvoie une clé de 16 octets.

expand_8838e738a18746b6e435bb0d04c15ccd.key

Ensuite, vous passez la clé à ce mauvais garçon:

# dmsetup create crypt1 --table "0 `blockdev --getsize /dev/sdb2` crypt \
aes-cbc-essiv:sha256 00010203040506070809010a0b0c0d0e0f 0 /dev/sdb2 0"

Et montez cela dans:

# mount -t ext4 /dev/mapper/crypt1 /mnt/1/
# cd /mnt/1
# find ./ -type d

Maintenant, vous pouvez cptout ailleurs et, espérons-le, enregistrer certaines données. N'oubliez pas d'exclure toutes les données liées aux clés ( grep) lorsque vous le faites, au cas où vous voudriez reformater à nouveau en tant qu'interne et remettre vos données dedans.

Doruk Karınca
la source
3
Vous pouvez utiliser hexdump -e '1/1 "%.2x"' expand_8838e738a18746b6e435bb0d04c15ccd.keypour convertir le binaire en hexadécimal.
Dzwiedziu-nkg
Où exécutez-vous exactement ces commandes?
Royi
@Royi Vous branchez votre carte SD sur un ordinateur Linux.
Doruk Karınca
Pour être exact, la clé de stockage étendue de named expand_8838e738a18746b6e435bb0d04c15ccd.key(le nombre hexadécimal réel dépend de votre périphérique de stockage étendu) doit être récupérée ou lue sur le téléphone. Le fichier est généralement situé dans le répertoire /data/misc/voldet le répertoire peut contenir plusieurs clés si plusieurs cartes SD ont été utilisées. Notez que vous devez avoir rootaccès à votre téléphone pour voir le contenu des fichiers de clés et extraire la clé de cryptage requise.
Mikko Rantalainen