# Como montar um microSD cifrado pelo Android

Autor: João Moreno Rodrigues Falcão
Publicado em: 2019-05-04
Tema: Hacking
URL canônica: https://www.falcaomoreno.com.br/post/2019-05-04-mount-android-ciphered-microsd/

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](https://android.stackexchange.com/questions/145443/how-to-decrypt-adopted-storage) 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](https://play.google.com/store/apps/details?id=com.file.manager.filebrowser), 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.
```bash
hexdump -e '1/1 "%.2x"' chave_da_particao.key
```

Depois insira o microSD no seu computador e execute:
```bash
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:
```bash
mount -t ext4 /dev/mapper/crypt1 /mnt/1/
```
Os arquivos estarão no caminho `/mnt/1/`.
