Làm cách nào để giải mã thẻ SD bị hỏng được định dạng là bộ nhớ trong?


10

Vì vậy, tôi đang sử dụng Marshmallow và đã định dạng thẻ SD của mình làm bộ nhớ trong. Hệ thống tập tin của nó đã bị hỏng hai tuần sau đó vì một số lý do.

Cắm nó vào GParted, tôi thấy 16 MB của FAT32 và phần còn lại là một hệ thống tệp không được nhận dạng. Nó không được định dạng, chỉ không được nhận dạng.

GParted đang đưa ra "Không thể đọc nội dung của hệ thống tệp." lỗi cho cả hai phân vùng, mặc dù phân vùng FAT32 có thể truy cập hoàn hảo từ Trình duyệt tệp.

Đó là Samsung i9505 chạy trên Cyanogenmod 13 được chế tạo hàng đêm.

EDIT: Tôi phát hiện ra các phân vùng không được nhận dạng là một ext4 mã hóa AES-128 bit tĩnh. Bây giờ tôi sẽ cố gắng giải mã nó và phục hồi bất cứ điều gì.

EDIT2: Tôi đã thay đổi ý định và sẽ không làm phiền. Định dạng như lưu trữ bên ngoài lần này.


Làm thế nào phổ biến là điều này?
William

Câu trả lời:


9

Ngay cả khi nó không trả lời đầy đủ câu hỏi, đây là hướng dẫn để giải mã bộ nhớ ngoài được định dạng là nội bộ. Bạn cần phải root trên điện thoại của bạn, tuy nhiên.

Các ý chính là chúng ta tìm kiếm chuỗi bao gồm các từ khóa expandvà kết thúc với .keytrong voldsử dụng:

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

Nó trả về khóa 16 byte.

expand_8838e738a18746b6e435bb0d04c15ccd.key

Sau đó, bạn chuyển chìa khóa vào cậu bé xấu số này:

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

Và gắn kết nó vào:

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

Bây giờ bạn có thể cpmọi thứ ở nơi khác và hy vọng lưu một số dữ liệu. Hãy nhớ loại trừ bất kỳ dữ liệu nào liên quan đến khóa ( grep) khi làm như vậy, trong trường hợp bạn muốn định dạng lại như là một lần nữa và đưa công cụ của bạn trở lại.


3
Bạn có thể sử dụng hexdump -e '1/1 "%.2x"' expand_8838e738a18746b6e435bb0d04c15ccd.keyđể chuyển đổi nhị phân sang hex.
Dzwiedziu-nkg

Chính xác thì bạn chạy những lệnh đó ở đâu?
Royi

@Royi Bạn cắm thẻ SD của bạn vào máy tính Linux.
Doruk Karınca

Để chính xác, khóa lưu trữ mở rộng có tên expand_8838e738a18746b6e435bb0d04c15ccd.key(số hex thực tế phụ thuộc vào thiết bị lưu trữ mở rộng của bạn) cần phải được tìm nạp hoặc đọc từ điện thoại. Tệp thường nằm trong thư mục /data/misc/voldvà thư mục có thể chứa nhiều khóa nếu nhiều thẻ SD đã được sử dụng. Lưu ý rằng bạn phải có rootquyền truy cập vào điện thoại của mình để xem nội dung của các tệp chính và trích xuất khóa mã hóa cần thiết.
Mikko Rantalainen
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.