Meu Android parou de reconhecer meu microSD cifrado e muitas informações minhas só existiam dentro dele. Rodei a Internet inteira tentando encontrar uma solução e encontrei no StackExchange como fazer. Testei esse tutorial usando Debian e funcionou perfeitamente! Aí vai a tradução:
Primeiro de tudo, o seu celular deve ter root, sinto muito aos que não tem… :(
Ele é necessário pois temos que abrir uma pasta que só o root pode acessar.
Usando um navegador de arquivos como o ES Explorer, precisa ser um que permita acessar pastas protegidas.
Vá até a pasta /data/misc/vold
.
O arquivo .key
guarda a chave do seu armazenamento, ela tem 16B.
Abra o conteúdo do arquivo com algum visualizador de hexa, como o hexdump e copie o conteúdo.
hexdump -e '1/1 "%.2x"' chave_da_particao.key
Depois insira o microSD no seu computador e execute:
dmsetup create crypt1 --table "0 'blockdev --getsize /caminho/ate/a/particao/cifrada' crypt aes-cbc-essiv:sha256 <Os_16B_da_chave_hexa> 0 /caminho/ate/a/particao/cifrada 0"
Alguns dos erros e avisos podem ser ignorados
Depois de decriptar você pode montar a partição usando o comando:
mount -t ext4 /dev/mapper/crypt1 /mnt/1/
Os arquivos estarão no caminho /mnt/1/
.