Итак, я на Marshmallow и отформатировал свою SD-карту как внутреннюю память. Через две недели его файловая система по какой-то причине была повреждена.
Подключив его к GParted, я вижу 16 МБ FAT32, а остальное — нераспознанная файловая система. Он не отформатирован, просто не распознан.
GParted выдает "Невозможно прочитать содержимое файловой системы". ошибка для обоих разделов, хотя раздел FAT32 безупречно доступен из файлового браузера.
Это Samsung i9505, работающий на ночной сборке Cyanogenmod 13.
РЕДАКТИРОВАТЬ: я обнаружил, что нераспознанные разделы представляют собой статический зашифрованный AES-128 бит ext4. Сейчас попробую расшифровать и восстановить.
EDIT2: я передумал и не буду беспокоиться. На этот раз форматирование как внешнее хранилище.
Даже это не полностью отвечает на вопрос, вот инструкция по расшифровке внешнего хранилища, отформатированного как внутреннее. Однако вам нужно быть root на вашем телефоне.
Суть в том, что мы ищем строки, включающие ключевое слово expand
и заканчивающиеся .key
внутри , vold
используя:
$ strings vold|grep -i expand
--change-name=0:android_expand
%s/expand_%s.key
/mnt/expand/%s
Он возвращает 16-байтовый ключ.
expand_8838e738a18746b6e435bb0d04c15ccd.key
Затем вы передаете ключ этому плохому мальчику:
# dmsetup create crypt1 --table "0 `blockdev --getsize /dev/sdb2` crypt \
aes-cbc-essiv:sha256 00010203040506070809010a0b0c0d0e0f 0 /dev/sdb2 0"
И смонтируйте это в:
# mount -t ext4 /dev/mapper/crypt1 /mnt/1/
# cd /mnt/1
# find ./ -type d
Теперь вы можете cp
все в другом месте и, надеюсь, сохранить некоторые данные. Не забудьте при этом исключить любые данные, связанные с ключом ( grep
), на случай, если вы захотите снова переформатировать как внутренний и вернуть свои данные.
hexdump -e '1/1 "%.2x"' expand_8838e738a18746b6e435bb0d04c15ccd.key
для преобразования двоичного в шестнадцатеричный.expand_8838e738a18746b6e435bb0d04c15ccd.key
(фактическое шестнадцатеричное число зависит от вашего расширенного запоминающего устройства) необходимо получить или прочитать с телефона. Файл обычно находится в каталоге /data/misc/vold
, и каталог может содержать несколько ключей, если использовалось несколько SD-карт. Обратите внимание, что у вас должен быть root
доступ к вашему телефону, чтобы увидеть содержимое файлов ключей и извлечь необходимый ключ шифрования.
Уильям
Ирфан Латиф