Kullanıcı veri bölümünüzü şifrelemek için bir kabukta kullanılabilecek düşük (er) düzeyli komutlar vardır. Sorumluluk Reddi / Uyarı: aşağıdaki talimatlar verilerinizi siler, gerekirse bir yedekleme yaptığınızdan emin olun.
Bu adımları ardından, gerektiği veri bölümü silebilecekler ve daha sonradan (fabrika reset benzer) şifreli var:
- Telefonunuzu normal şekilde başlatın (kurtarma artık çalışmıyor veya farklı bir sorunla karşılaştım).
- USB hata ayıklama modunun (adb) ve ADB için Kök erişiminin etkinleştirildiğinden emin olun .
adb root
Ardından bir kök kabuk girin adb shell
.
- İsteğe bağlı:
adb logcat
Başka bir kabukta çağırarak günlükleri izleyin .
Bu komutu girin, şifrenizi yazın ve Enter tuşuna basın. Bu aslında şifrenizi ayarlayacaktır. Bu komut bir girdi ( head -1
) satırını okur , sondaki yeni satırı Enter ( tr -d '\n'
) öğesinden ayırır ve onu onaltılık bir temsile ( hexdump ...
) dönüştürür . Korkutucu görünüyorsa veya bu komutun ne yaptığından emin değilseniz, aşağıya bakın.
vdc cryptfs enablecrypto wipe password $(head -1 | tr -d '\n' | hexdump -ve '1/1 "%.2x"')
- Her şey yolunda giderse, cihazınız anahtarları ayarlayacak ve şifrelemeyi tamamlamak için yeniden başlatacaktır.
(Volume Daemon) vdc
ile iletişim kuran yukarıdaki komutun ("Volume Daemon Client") şifreleme vold
gibi bazı alt komutları vardır cryptfs
. Alt enablecrypto
komutun iki modu vardır: wipe
( /data
tamamen temizle ) ve inplace
(orijinalinizi /data
kabın içine kopyalarken şifreleme uygulayarak ).
Ardından, Android 5.0'dan başlayarak dört seçenek kullanılabilir, bunlardan biri password
anahtar olarak tek bir onaltılık diziyi kabul eder. Şifreniz ne nedenle olursa foo
, o zaman onaltılık temsilidir 666f6f
( f
olduğu 66
, hex o
edilir 6f
, bakınız http://www.asciitable.com/ ). Bunun komutu:
vdc cryptfs enablecrypto wipe password 666f6f
Bu, meta verileri depolamak için ayrı bir bölüme sahip bir Nexus 5 (kod adı çekiç kafası, çalışan cm-12.1-20150814) üzerinde test edildi. Kullanıcı verileri bölümünün işaret kümesi ve ardından bir bölüm yolu veya özel dize olması önemlidir . Dosyamdaki (kısaltılmış) bir satır :encryptable
footer
/fstab.hammerhead
/dev/block/platform/msm_sdcc.1/by-name/userdata / data ext4 ..., çek, şifrelenebilir = /dev/block/platform/msm_sdcc.1/by-name/metadata
Özel dize footer
( encryptable=footer
) mevcut olduğunda, veri bölümünün sonundaki 16 KiB, şifreleme meta verilerini depolamak için kullanılır.
Daha fazla okuma için bakınız:
Ek: şifreleme komutunu tamamladığım ve yeniden başlatılıncaya kadar (sonunda ilgisiz grafik mesajlarını atlayan) logcat alıntısı. Bu Nexus 5'in donanım hızlandırmalı kripto (QSEECom) olduğunu unutmayın.
--------- beginning of main
08-16 12:57:15.459 W/DrmManagerClientImpl(Native)( 2108): DrmManager server died!
08-16 12:57:15.459 I/ServiceManager( 184): service 'drm.drmManager' died
08-16 12:57:15.467 D/Cryptfs ( 186): Just asked init to shut down class main
08-16 12:57:15.470 D/Cryptfs ( 186): unmounting /mnt/shell/emulated succeeded
08-16 12:57:15.599 I/ServiceManager( 184): service 'media.audio_flinger' died
08-16 12:57:15.599 I/ServiceManager( 184): service 'media.player' died
08-16 12:57:15.599 I/ServiceManager( 184): service 'media.camera' died
...
08-16 12:57:16.695 D/Cryptfs ( 186): unmounting /data succeeded
08-16 12:57:16.695 D/QSEECOMAPI: ( 186): QSEECom_get_handle sb_length = 0x2000
08-16 12:57:16.696 D/QSEECOMAPI: ( 186): App is already loaded QSEE and app id = 2
08-16 12:57:16.697 I/Cryptfs ( 186): keymaster version is 3
08-16 12:57:16.697 D/QSEECOMAPI: ( 186): QSEECom_dealloc_memory
08-16 12:57:16.697 D/QSEECOMAPI: ( 186): QSEECom_shutdown_app, app_id = 2
08-16 12:57:16.697 D/QSEECOMAPI: ( 186): QSEECom_get_handle sb_length = 0x2000
08-16 12:57:16.697 D/QSEECOMAPI: ( 186): App is already loaded QSEE and app id = 2
08-16 12:57:18.058 D/QSEECOMAPI: ( 186): QSEECom_dealloc_memory
08-16 12:57:18.058 D/QSEECOMAPI: ( 186): QSEECom_shutdown_app, app_id = 2
08-16 12:57:18.058 I/Cryptfs ( 186): Using scrypt with keymaster for cryptfs KDF
08-16 12:57:18.208 D/BootAnimation( 2683): Use save memory method, maybe small fps in actual.
08-16 12:57:18.208 E/QCOM PowerHAL( 2683): Failed to acquire lock.
08-16 12:57:18.691 D/QSEECOMAPI: ( 186): QSEECom_get_handle sb_length = 0x2000
08-16 12:57:18.691 D/QSEECOMAPI: ( 186): App is already loaded QSEE and app id = 2
08-16 12:57:18.692 I/Cryptfs ( 186): Signing safely-padded object
08-16 12:57:18.797 D/QSEECOMAPI: ( 186): QSEECom_dealloc_memory
08-16 12:57:18.797 D/QSEECOMAPI: ( 186): QSEECom_shutdown_app, app_id = 2
08-16 12:57:20.056 I/Cryptfs ( 186): Using scrypt with keymaster for cryptfs KDF
08-16 12:57:20.690 D/QSEECOMAPI: ( 186): QSEECom_get_handle sb_length = 0x2000
08-16 12:57:20.691 D/QSEECOMAPI: ( 186): App is already loaded QSEE and app id = 2
08-16 12:57:20.691 I/Cryptfs ( 186): Signing safely-padded object
08-16 12:57:20.796 D/QSEECOMAPI: ( 186): QSEECom_dealloc_memory
08-16 12:57:20.796 D/QSEECOMAPI: ( 186): QSEECom_shutdown_app, app_id = 2
08-16 12:57:21.429 I/Cryptfs ( 186): Enabling support for allow_discards in dmcrypt.
08-16 12:57:21.429 I/Cryptfs ( 186): load_crypto_mapping_table: target_type = crypt
08-16 12:57:21.429 I/Cryptfs ( 186): load_crypto_mapping_table: real_blk_name = /dev/block/platform/msm_sdcc.1/by-name/userdata, extra_params = 1 allow_discards
08-16 12:57:21.431 I/Cryptfs ( 186): Making empty filesystem with command /system/bin/make_ext4fs -a /data -l 13725837312 /dev/block/dm-0
08-16 12:57:21.447 I/make_ext4fs( 186): SELinux: Loaded file_contexts from /file_contexts
08-16 12:57:21.447 I/make_ext4fs( 186): Creating filesystem with parameters:
08-16 12:57:21.447 I/make_ext4fs( 186): Size: 13725835264
08-16 12:57:21.448 I/make_ext4fs( 186): Block size: 4096
08-16 12:57:21.448 I/make_ext4fs( 186): Blocks per group: 32768
08-16 12:57:21.448 I/make_ext4fs( 186): Inodes per group: 8144
08-16 12:57:21.448 I/make_ext4fs( 186): Inode size: 256
08-16 12:57:21.448 I/make_ext4fs( 186): Journal blocks: 32768
08-16 12:57:21.449 I/make_ext4fs( 186): Label:
08-16 12:57:21.449 I/make_ext4fs( 186): Transparent compression: none
08-16 12:57:21.449 I/make_ext4fs( 186): Blocks: 3351034
08-16 12:57:21.449 I/make_ext4fs( 186): Block groups: 103
08-16 12:57:21.459 I/make_ext4fs( 186): Reserved block group size: 823
08-16 12:57:21.465 I/make_ext4fs( 186): Created filesystem with 11/838832 inodes and 93654/3351034 blocks
08-16 12:57:21.465 I/make_ext4fs( 186): Total files: 0
08-16 12:57:21.465 I/make_ext4fs( 186): Total bytes: 0
08-16 12:57:42.926 D/Cryptfs ( 186): Successfully created filesystem on /dev/block/dm-0