Bagaimana cara mendekripsi kartu SD yang rusak yang diformat sebagai penyimpanan internal?

10

Jadi saya menggunakan Marshmallow dan telah memformat kartu SD saya sebagai penyimpanan internal. Sistem file-nya rusak dua minggu kemudian karena suatu alasan.

Memasukkannya ke GParted, saya melihat 16MB FAT32 dan sisanya adalah sistem file yang tidak dikenal. Itu tidak diformat, hanya tidak dikenali.

GParted memberikan "Tidak dapat membaca konten sistem file." kesalahan untuk kedua partisi, meskipun partisi FAT32 dapat diakses dari File Browser dengan sempurna.

Ini adalah Samsung i9505 yang berjalan pada Cyanogenmod 13 yang dibangun setiap malam.

EDIT: Saya menemukan partisi yang tidak dikenal adalah ext4 terenkripsi AES-128 bit statis. Sekarang saya akan mencoba mendekripsi dan memulihkan apa pun.

EDIT2: Saya berubah pikiran dan tidak mau repot. Memformat sebagai penyimpanan eksternal kali ini.

Doruk Karınca
sumber
Seberapa umum ini?
William

Jawaban:

9

Meskipun tidak sepenuhnya menjawab pertanyaan, berikut adalah panduan untuk mendekripsi penyimpanan eksternal yang diformat sebagai internal. Anda perlu melakukan root pada ponsel Anda.

Intinya adalah bahwa kita mencari string termasuk kata kunci expanddan berakhir dengan .keydalam voldmenggunakan:

$ strings vold|grep -i expand
--change-name=0:android_expand
%s/expand_%s.key
/mnt/expand/%s

Ini mengembalikan kunci 16-byte.

expand_8838e738a18746b6e435bb0d04c15ccd.key

Kemudian Anda memasukkan kunci ke bocah nakal ini:

# dmsetup create crypt1 --table "0 `blockdev --getsize /dev/sdb2` crypt \
aes-cbc-essiv:sha256 00010203040506070809010a0b0c0d0e0f 0 /dev/sdb2 0"

Dan pasang itu di:

# mount -t ext4 /dev/mapper/crypt1 /mnt/1/
# cd /mnt/1
# find ./ -type d

Sekarang Anda dapat cpsemuanya di tempat lain dan semoga menyimpan beberapa data. Ingatlah untuk mengecualikan semua data terkait kunci ( grep) ketika melakukannya, jika Anda ingin memformat ulang sebagai internal lagi dan memasukkan kembali barang-barang Anda.

Doruk Karınca
sumber
3
Anda dapat menggunakan hexdump -e '1/1 "%.2x"' expand_8838e738a18746b6e435bb0d04c15ccd.keyuntuk mengkonversi biner ke hex.
Dzwiedziu-nkg
Di mana tepatnya Anda menjalankan perintah itu?
Royi
@Royi Anda mencolokkan kartu SD Anda ke komputer Linux.
Doruk Karınca
Tepatnya, kunci penyimpanan yang diperluas dari nama expand_8838e738a18746b6e435bb0d04c15ccd.key(nomor hex sebenarnya tergantung pada perangkat penyimpanan Anda yang diperluas) perlu diambil atau dibaca dari telepon. File biasanya terletak di direktori /data/misc/volddan direktori mungkin berisi beberapa kunci jika beberapa kartu SD telah digunakan. Perhatikan bahwa Anda harus memiliki rootakses ke telepon Anda untuk melihat konten file kunci dan mengekstrak kunci enkripsi yang diperlukan.
Mikko Rantalainen