Я пытаюсь восстановить данные со стандартного/заводского шифрованного устройства. Samsung Galaxy S7 Edge, застрявшего в загрузке (т.е.: бесконечный перезапуск при при загрузке системы). Используется стоковый ром. Работают только recovery (twrp) и режим загрузки работают. Мне нужно либо исправить зацикливание, либо расшифровать хотя бы хотя бы раздел данных в twrp (я знаю шаблон блокировки). Примечание: I знаю, что загрузку можно исправить сбросом к заводским настройкам, но это приведет к к потере данных.
Общая информация:
Model: SM-G935F
Codename: hero2lte
Android version: Stock 7.1.x (almost sure)
TWRP: 3.2.3-0
Я следовал руководству adb guide и install guide (только до и включая установку twrp; LineageOS не была установлена).
После установки adb и heimdall на ПК, вот что было сделано на телефоне:
heimdall flash --RECOVERY twrp-3.2.3-0-hero2lte.img
.Он продолжал говорить, что не может смонтировать /system или /data, но он **никогда не спрашивает (и до сих пор не спрашивает) пароль шифрования или что-либо еще. Когда при попытке сделать резервную копию nandroid, внутреннее хранилище показало 0 МБ и вышло сообщение об ошибке. не работает.
Загрузка в систему прошла без проблем.
Затем я попробовал установить (LineageOS') su, чтобы иметь возможность делать резервные копии вещей используя что-то вроде oandbackup или TitaniumBackup:
adb push addonsu-15.1-arm64-signed.zip
.Я думал, что произойдет одно из следующих событий:
Снова появились ошибки с разделами (до этого момента я думал, что что зашифрован только раздел данные, а не системный).
Я попробовал Reboot -> System, и вот что произошло:
Поэтому я попробовал использовать LineageOS' su-removal:
adb push addonsu-remove-15.1-arm64-signed.zip
Тем не менее, кажется, что ничего не изменилось. Экранный журнал TWRP:
Could not mount /data and unable to find crypto footer.
Failed to mount '/data' (Invalid argument)
Updating partition details...
Failed to mount /data (Invaild argument)
...done
Unable to mount storage
Failed to mount /data (Invaild argument)
Full SELinux support is present.
Unable to mount /data/media/TWRP/.twrps
MTP Enabled
Если посмотреть на /cache/recovery/log
, он не показывает /system как пустой:
/system | /dev/block/sda14 | Size: 4132MB Used: 3987MB Free: 145MB Backup Size: 3987MB
Flags: Can_Be_Mounted Can_Be_Wiped Can_Be_Backed_Up Wipe_Available_in_GUI IsPresent Mount_Read_Only
Primary_Block_Device: /dev/block/sda14
Display_Name: System
Storage_Name: System
Backup_Path: /system
Backup_Name: system
Backup_Display_Name: System
Storage_Path: /system
Current_File_System: ext4
Fstab_File_System: ext4
Backup_Method: files
/data | /dev/block/sda18 | Size: 0MB Used: 0MB Free: 0MB Backup Size: 0MB
Flags: Can_Be_Mounted Can_Be_Wiped Can_Be_Backed_Up Wipe_During_Factory_Reset Wipe_Available_in_GUI IsPresent Can_Be_Encrypted Has_Data_Media Can_Encrypt_Backup Use_Userdata_Encryption Is_Storage Is_Settings_Storage
Symlink_Path: /data/media
Symlink_Mount_Point: /sdcard
Primary_Block_Device: /dev/block/sda18
Length: -20480
Display_Name: Data
Storage_Name: Internal Storage
Backup_Path: /data
Backup_Name: data
Backup_Display_Name: Data
Storage_Path: /data/media
Current_File_System: ext4
Fstab_File_System: ext4
Backup_Method: files
MTP_Storage_ID: 65537
Но он ничего не показывает при попытке доступа к нему:
~ # ls -lah /system
__bionic_open_tzdata: couldn't find any tzdata when looking for localtime!
__bionic_open_tzdata: couldn't find any tzdata when looking for GMT!
__bionic_open_tzdata: couldn't find any tzdata when looking for posixrules!
drwxr-xr-x 2 root root 40 Jan 1 1970 .
drwxrwxrwt 24 root root 840 Sep 10 02:15 ..
Также в /cache/recovery/log
:
I:Done processing fstab files
I:Setting up '/data' as data/media emulated storage.
I:Created '/sdcard' folder.
I:Can't probe device /dev/block/sda18
I:Unable to mount '/data'
I:Actual block device: '/dev/block/sda18', current file system: 'ext4'
I:Can't probe device /dev/block/sda18
I:Unable to mount '/data'
I:Actual block device: '/dev/block/sda18', current file system: 'ext4'
get_crypt_ftr_info crypto key location: 'footer'
Bad magic for real block device /dev/block/sda18
Could not mount /data and unable to find crypto footer.
I:Setting up '/data' as data/media emulated storage.
I:Can't probe device /dev/block/sda18
I:Unable to mount '/data'
# ...
Вопросы:
Если он даже не смог смонтировать раздел, как он стал soft bricked?
Пишет ли "Install" что-нибудь еще где-нибудь (за исключением записей журнала и т.д.)?
Может ли он на самом деле перезаписать/повредить раздел (или непосредственно блочное устройство). даже если он не может его смонтировать?
Есть ли способ отладить цикл загрузки?
Как можно исправить зацикливание?
Поэтому я попробовал расшифровать разделы данных, чтобы посмотреть, смогу ли я хотя бы получить к ним доступ из twrp, используя эти шаги.
Получилась следующая картина:
[_ 1 6]
[2 7 5]
[3 4 _]
Это означает, что код, который использует twrp (от 1 до 9), должен быть таким: 2478635. Поэтому я попробовал:
~ # twrp decrypt 2478635
Attempting to decrypt data partition via command line.
Failed to decrypt data.
Я также попробовал использовать "родной" код (от 0 до 8), безрезультатно:
~ # twrp decrypt 1367524
Attempting to decrypt data partition via command line.
Failed to decrypt data.
Смотрит на разделы:
~ # ls -l /dev/block/platform/155a0000.ufs/by-name/
__bionic_open_tzdata: couldn't find any tzdata when looking for localtime!
__bionic_open_tzdata: couldn't find any tzdata when looking for GMT!
__bionic_open_tzdata: couldn't find any tzdata when looking for posixrules!
lrwxrwxrwx 1 root root 15 Sep 10 02:15 BOOT -> /dev/block/sda5
lrwxrwxrwx 1 root root 15 Sep 10 02:15 BOTA0 -> /dev/block/sda1
lrwxrwxrwx 1 root root 15 Sep 10 02:15 BOTA1 -> /dev/block/sda2
lrwxrwxrwx 1 root root 16 Sep 10 02:15 CACHE -> /dev/block/sda15
lrwxrwxrwx 1 root root 15 Sep 10 02:15 CPEFS -> /dev/block/sdd1
lrwxrwxrwx 1 root root 16 Sep 10 02:15 CP_DEBUG -> /dev/block/sda17
lrwxrwxrwx 1 root root 16 Sep 10 02:15 DNT -> /dev/block/sda10
lrwxrwxrwx 1 root root 15 Sep 10 02:15 EFS -> /dev/block/sda3
lrwxrwxrwx 1 root root 16 Sep 10 02:15 HIDDEN -> /dev/block/sda16
lrwxrwxrwx 1 root root 15 Sep 10 02:15 OTA -> /dev/block/sda7
lrwxrwxrwx 1 root root 15 Sep 10 02:15 PARAM -> /dev/block/sda4
lrwxrwxrwx 1 root root 16 Sep 10 02:15 PERSDATA -> /dev/block/sda13
lrwxrwxrwx 1 root root 16 Sep 10 02:15 PERSISTENT -> /dev/block/sda11
lrwxrwxrwx 1 root root 15 Sep 10 02:15 RADIO -> /dev/block/sda8
lrwxrwxrwx 1 root root 15 Sep 10 02:15 RECOVERY -> /dev/block/sda6
lrwxrwxrwx 1 root root 16 Sep 10 02:15 STEADY -> /dev/block/sda12
lrwxrwxrwx 1 root root 16 Sep 10 02:15 SYSTEM -> /dev/block/sda14
lrwxrwxrwx 1 root root 15 Sep 10 02:15 TOMBSTONES -> /dev/block/sda9
lrwxrwxrwx 1 root root 16 Sep 10 02:15 USERDATA -> /dev/block/sda18
Показывает, что sda14 - это системный раздел, а sda18 - это данные.
раздел. Поэтому мне удалось вытащить /dev/block/sda14
и /dev/block/sda18
:
adb pull /dev/block/sda14 sda14.img
# ...
adb pull /dev/block/sda18 sda18.img
/dev/block/sda18: 1 file pulled. 3.7 MB/s (26843545600 bytes in 6961.803s)
Я проверил, что SHA-1 хэши блочного устройства и .img совпадают, но но я в растерянности, как расшифровать их на компьютере.
Вопрос:
Как я могу расшифровать их на Android/Linux/Windows?
Примечание: Если это слишком специфично для этого сайта, пожалуйста, прокомментируйте, где находится соответствующий подходящий форум. Я знаю о специфическом для телефонов xda, но это кажется слишком общим. Любая помощь будет принята с благодарностью.