Как расшифровать принятое хранилище?

Использование SD-карты в качестве принятого хранилища шифрует ее. Как его можно расшифровать?

Я думаю, что текущие версии Android не используют термин Adopted Storage , они используют SD-карту, отформатированную как внутреннее хранилище .

Ответы (1)

Как расшифровать принятое хранилище.

  1. Ваше устройство должно быть рутировано.

  2. С помощью файлового браузера, такого как ES Explorer , перейдите к файлу /data/misc/vold.

  3. Этот .keyфайл является ключом шифрования вашего принятого хранилища. Вы можете прочитать его с помощью этой команды:hexdump -e '1/1 "%.2x"' the_key_file.key

  4. Откройте этот файл с помощью шестнадцатеричного редактора, чтобы просмотреть 16-байтовый ключ.

  5. В любом дистрибутиве GNU/Linux вы можете сначала смонтировать SD-карту, в моем случае SD-карта была смонтирована в /dev/sdb2.

  6. Затем запустите эту команду:

    dmsetup create crypt1 --table "0 `blockdev --getsize /dev/sdb2` crypt aes-cbc-essiv:sha256 <Put the 16-byte hex key here> 0 /dev/sdb2 0"
    

Некоторые типы ошибок/предупреждений можно игнорировать .

  1. Если ваш ключ правильный, вы можете смонтировать его с помощьюmount -t ext4 /dev/mapper/crypt1 /mnt/1/
  2. Наконец, вы можете запустить cd /mnt/1, чтобы просмотреть расшифрованное хранилище.
Вы уверены, что сами все это придумали? Я сомневаюсь, учитывая этот поисковый запрос: google.co.in/…
@Firelord это не сложно, если ты знаешь, где хранится ключ
В этом случае рассмотрите возможность подробного объяснения шага 5. Если возможно, предоставьте источники, подтверждающие ваше техническое утверждение. Спасибо!
@Firelord ясно, что Android любит использовать EXT4 для приложений, и после небольшого поиска я заметил, как это делается здесь source.android.com/security/encryption
Связано: повреждена SD-карта, отформатированная как внутренняя память . Ответ аналогичен, но дает альтернативный подход к поиску 16-байтового ключа.
Можно ли сгенерировать ключевой файл .key из известного пароля/пин-кода и доступа к устройству? Или ключ полностью случайный? В моем случае мое внутреннее хранилище стерто, поэтому у меня больше нет доступа к исходному ключевому файлу.
@zerwas правильно, что вы копируете свой ключ после того, как сделаете свой SD внутренним, но вы наверняка можете зашифровать свое хранилище так же, как это делает Android, и создать ключ, а затем поместить его туда, он будет работать, но если вы скопируете свой ключ после его завершения по телефону будет намного проще
Вы можете использовать hexdump -e '1/1 "%.2x"' the_key_file.keyдля преобразования двоичного в шестнадцатеричный.
Операция в 6 пишет что-нибудь на саму карту? Спасибо.
в полном руководстве есть правильный способ извлечения ключа с помощью od: nelenkov.blogspot.com.br/2015/06/…
@Royi, который просто расшифровывает диск, а затем вы можете его смонтировать, как я сказал на шаге 7.
У меня отключено зашифрованное устройство Android 10, и я не вижу ничего из упомянутого в п. 2-3. У меня нет ни /dataпапки в корневом хранилище, ни voldпапки, ни .keyфайла. Когда я ищу в своем корневом хранилище voldстроку, все, что я вижу, это vold.fstabи vold.rcфайлы. Когда я ищу .key, я получаю кучу файлов с .soрасширением, являющимся .keymasterчастью имени файла, и теперь файл с именем файла, заканчивающимся на .key. Это потому, что они доступны только на рутированном телефоне или потому, что этот ответ немного устарел и больше не действителен для Android 10?
@trejder требуется root-доступ для /data/misc/vold