Así que estoy en Marshmallow y he formateado mi tarjeta SD como almacenamiento interno. Su sistema de archivos se corrompió dos semanas después por alguna razón.
Al conectarlo a GParted, veo 16 MB de FAT32 y el resto es un sistema de archivos no reconocido. No está sin formato, simplemente no reconocido.
GParted está dando el mensaje "No se puede leer el contenido del sistema de archivos". error para ambas particiones, aunque se puede acceder a la partición FAT32 desde el Explorador de archivos sin problemas.
Es un Samsung i9505 que se ejecuta en Cyanogenmod 13 de construcción nocturna.
EDITAR: descubrí que las particiones no reconocidas son un ext4 cifrado AES-128 bit estático. Ahora intentaré descifrarlo y recuperar lo que sea.
EDIT2: Cambié de opinión y no me molestaré. Formateando como almacenamiento externo esta vez.
Incluso si no responde completamente la pregunta, aquí hay una guía para descifrar el almacenamiento externo formateado como interno. Sin embargo, debe ser root en su teléfono.
La esencia es que buscamos cadenas que incluyan la palabra clave expand
y que terminen .key
dentro vold
usando:
$ strings vold|grep -i expand
--change-name=0:android_expand
%s/expand_%s.key
/mnt/expand/%s
Devuelve una clave de 16 bytes.
expand_8838e738a18746b6e435bb0d04c15ccd.key
Luego le pasas la llave a este chico malo:
# dmsetup create crypt1 --table "0 `blockdev --getsize /dev/sdb2` crypt \
aes-cbc-essiv:sha256 00010203040506070809010a0b0c0d0e0f 0 /dev/sdb2 0"
Y monta eso en:
# mount -t ext4 /dev/mapper/crypt1 /mnt/1/
# cd /mnt/1
# find ./ -type d
Ahora puede hacer cp
todo en otro lugar y, con suerte, guardar algunos datos. Recuerde excluir cualquier dato relacionado con la clave ( grep
) al hacerlo, en caso de que desee volver a formatear como interno y volver a colocar sus cosas.
hexdump -e '1/1 "%.2x"' expand_8838e738a18746b6e435bb0d04c15ccd.key
para convertir binario a hexadecimal.expand_8838e738a18746b6e435bb0d04c15ccd.key
(el número hexadecimal real depende de su dispositivo de almacenamiento expandido) debe obtenerse o leerse desde el teléfono. El archivo generalmente se encuentra en el directorio /data/misc/vold
y el directorio puede contener varias claves si se han utilizado varias tarjetas SD. Tenga en cuenta que debe tener root
acceso a su teléfono para ver el contenido de los archivos clave y extraer la clave de cifrado requerida.
Guillermo
Irfan Latif