Şifrelemeyi kurtarma işleminden kaldırma


10

G900T (klte) cihazımda her gece CyanogenMod 12 kullanıyorum. Telefonumun önyükleme döngüsüne neden olan varsayılan şifreleme parolası dışında her şey harika çalışıyor.

Verileri biçimlendirdim ve fabrika ayarlarına sıfırladım, ancak /datayine de şifrelenmiş ve olarak görünüyor /dev/dm-0.

Şifrelemeyi kaldırmak için yapabileceğim bir komut var mı? Veriler umrumda değil, her şeyin gitmesini istiyorum. Sadece sahip olmak /datave CyanogenMod içine önyükleme yapabilmek için diskte düz metin olarak depolanan dahili depolama almak istiyorum .

adb shellBu bölümlerdeki şifrelemeyi kaldırmak için nasıl kullanabilirim ?


Hangi toparlanmayı flaş ettin?
Jordy19

1
Takım Kazanma Kurtarma Projesi (TWRP)
Naftuli Kay

Burada yeni bir ROM yanıp sönerek şifrelemeden kurtulabileceğinizi okudum, durumunuzda işe yarayıp yaramadığından emin değilim ama denemeye değer.
Jordy19

İşe yaramadı. El dd if=/dev/zeroile veri bölümü biçimlendirmeye çalışıyorum .
Naftuli Kay

Yanıtlar:


12

Benim cevabım birkaç şey içeriyordu, ama bence biri gerçekten önemli.

"Kurtarma" Komutunu kullanın kardeşim

Bu recovery, kullanıcı verilerini silmek ve şifrelemeyi devre dışı bırakmak için CyanogenMod / AOSP programını kullanır . ( Stack Overflow'daki bu yanıtta bulundu ) Kurtarma işleminize önyükleme yapın ve ardından bilgisayarınız çalışır

adb shell recovery --wipe_data --set_filesystem_encryption=off

Telefonunuz sistemde yeniden başlatılacak ve işler planlandığı gibi çalışacaktır.

Telefonun kendisinden çalıştırmanız gerekiyorsa (örneğin, yakınında bir bilgisayarınız yoksa adb):

recovery --wipe_data --set_filesystem_encryption=off

Şifrelemeyi silmeli, devre dışı bırakmalı ve sistemi yeniden başlatmalıdır.

Eğer hepsi hataysa

Yukarıdakiler senaryonuz çalışmadığı veya senaryonuz için geçerli olmadığı sürece bu yöntemi kullanmayın.

Dosya Sistemi Şifrelemesi için LUKS Başlığını Yok Etme

  1. rootBenim durumumda TWRP çalışacak şekilde bir kabuğa düşmenize izin verecek bir kurtarmaya ihtiyacınız var .
  2. userdataEtrafa bakarak bölümü bulun /dev/block/platform/*/by-name/userdata.
  3. LUKS üstbilgisini silmek için bu bölümün başına bir ton sıfır yazın:

    dd if=/dev/zero of=$PATH_TO_YOUR_USERDATA bs=4096 count=512
    

    Bu komutla ne yaptığınızdan dolayı sorumluluk kabul etmiyorum. Bunu berbat ederseniz, önyükleyicinizin veya diğer kritik bölümlerin üzerine yazarak telefonunuzu tutabilirsiniz. Bunun $PATH_TO_YOUR_USERDATAgerçek userdatabölümü gösterdiğinden emin olun . Doğru olanı sildiğinizden emin olmak için bölümün boyutunu kontrol edin. 16GB'lık bir telefonum var ve userdatageri kalanı adanmış 10.4GB system, ancak telefonunuz farklı olacak.

  4. Bu bölümü ext4kullanarak yeniden biçimlendirin make_ext4fs $PATH_TO_YOUR_USERDATA.

    Hatalar olabilir, ancak genellikle dahili "sdcard" ı bulamamakla ilgilidir, bu sorun değil.

Tüm bunlardan sonra, kurtarma işlemini yeniden başlatın ve güvende olmak için fabrika ayarlarına sıfırlama işlemini çalıştırın.

Neden Çalışıyor?

Sadece fabrika ayarlarına sıfırlama yapmak benim için hiçbir şey yapmıyor gibi görünüyordu, telefon hala bir LUKS bölümü görüyordu. Bunun nedeni, LUKS üstbilgisinin hala disk düzeyinde var olması ve ext4 bölümünün üzerine yerleştirilmiş olması olduğunu varsayıyorum. Bazı nedenlerden dolayı, Android, bir LUKS bölümünün ext4 bölümü üzerinde algılanmasına öncelik verdi ve bunu monte etmeye çalıştı (ve başarılı oldu).

Buradan Nereye Gidilir

(Ne yaptığınızı biliyorsanız system, ROM'unuzu sıfırdan silmek ve yüklemek isteyebilirsiniz . Yine, bu yayında yer alan bilgilerle yaptığınız hiçbir şey için sorumluluk kabul etmiyorum. )

Benim için bir klteG900T'de (Samsung Galaxy S5 T-Mobile) çalıştı . Kilometreniz değişebilir.


Bu tür çalıştı (dd / make_ext4fs seçeneği). - Yeniden başlattığımda, TWRP kurtarmada hala bir şifre istedi ve gelişmiş format seçenekleri işe yaramadı - ancak düzenli bir veri bölümü formatı yaptığımda işe yaradı. - Parola istemeden kurtarma işlemine yeniden başlayabildim. :-)
BrainSlugs83

1
Naftuli, sen bir cankurtaransın! Muhtemelen özel kurtarma (TWRP) nedeniyle şifreleyemediğinden, S6 kenarımı (SM-G925F) ölü önyükleme döngüsünde aldım, şifreleme stok kurtarma yoluyla yapıldığını düşünüyorum. "Şifreleme tamamlanmadı. Fabrika ayarlarına sıfırlama ve yeniden başlatma" diyordu. Hatta stok kurtarma flaş çalıştı, önyükleme yapmadım (muhtemelen yanlış bir ama cihazım için etiketli). Bütün hisse senedi rom da iyi değildi (uygun olanı bulamadı, bulduğum odin tarafından reddedildi). Sonunda burada söylediğin her şeyi yaptım ve ddnihayet hile yaptı. Çok teşekkürler!
Mixaz

recoveryKomut benim için işe görünmüyordu. Ben onu denilen ADB Shelliçinde TWRPiyileşme. Benim asıl sorun USB hata ayıklama etkin değildir ve /systembozuk, bu yüzden önyükleme ve etkinleştiremezsiniz. Ayrıca, disk şifreleme açık ve fastboot flash system system.zipdoğru bir şekilde çalışmamı engelliyor gibi görünüyor .
anon58192932

1
Sen benim günümü kurtardın, ya da daha iyi bir gece. Huawei P8 Lite'ım üzerine lineageOS 14.1'i yüklemeye ve her zaman şifreleme başarısız mesajını almaya çalıştıktan sonra dd, sonunda komutla işlemi tamamlayabilirim. Teşekkür ederim!
Matteo De Felice

ls -l /dev/block/platform/soc.0/7824900.sdhci/by-name/userdatadiyor lrwxrwxrwx 1 root root 21 Sep 16 06:04 /dev/block/platform/soc.0/7824900.sdhci/by-name/userdata -> /dev/block/mmcblk0p26 df -h /dev/block/mmcblk0p26ki: `` Kullanılan Dosya Sistemi Boyutu Kullanılabilir% / / dev / block / mmcblk0p26 10.5G 27.2M 10.5G 0% / data '' kullanıldı `` Yaptım: dd if=/dev/zero of=/dev/block/platform/soc.0/7824900.sdhci/by-name/userdata bs=4096 count=512 Doğru mu?
LarS

9

Moto G 3.Nesilimde (osprey), ne kurtarma çağırıyor ne de LUKS üstbilgisini (bölümün başlangıcında ve sonunda) sildi - Cyanogen Mod önyüklemesi sırasında hala şifreleme parolasını girmem gerekiyordu, sonra bir "şifreleme hatası" mesajı ile sıkışmıştım .

Sonunda TWRP 3.0.1 kurtarma işlemimin "Sil" bölümünde bir "Verileri Biçimlendir" seçeneği bulunduğunu gördüm. Bu, şifrelemeyi de devre dışı bırakan tam bir fabrika ayarlarına sıfırlama yapar.

Bir cazibe gibi çalıştı. İyi bir TWRP sürümüne erişiminiz varsa (örneğin Flashify ile kolayca yanıp söner), önce bunu deneyin.


1
Teşekkür ederim. Basit bir çözüm işe yaradığında neden karmaşık bir çözüm arayışındasınız?
Peter Gordon

Bu seçenekle ilgili tek sorunum, metnin SD kartınızı da sileceği anlamına geliyordu. Kartınıza ulaşmak kolaysa, bu çok da sorun değil. : - |
zaTricky

1
@pgmann: TWRP'de 'veri formatla' seçeneği çok uzun zaman önce görünmedi, bu yüzden. Elbette bu yanıtların verildiği 2014'te yoktu. Ayrıca, ddkomutlardaki şifrelemeyi temizlerken de yaklaşım yararlıdır, çünkü mevcut komutlar şifrelemeyi silemezken TWRP komutlarında 'verileri formatla' seçeneği yoktur. Umarım gelecekte böyle bir komut
eklerler

5

TWRP veya benzeri bir ürün kullanmanız koşuluyla.

  • TWRP'ye (şifre girin) yeniden başlatın ve Dataharici SDveya harici bölümün bir yedeğini alınOTG Drive
  • TWRP olarak yeniden başlat (şifreyi iptal et) ve Veri bölümünü f2fs
  • birinci adımda yapılan yedeklemeyi yeni oluşturulan Databölüme geri yükle
  • sistemi yeniden başlatma
  • tüm verileriniz kaydedilmiş ve şifreleme kaldırılmış olarak Android'in keyfini çıkarın

4

Naftuli Tzvi Kay tarafından sağlanan LUKS üstbilgisini manuel olarak silme çözümü, bir şey dışında iyi çalışıyor. Neye bağlı olduğunu bilmiyorum, ancak deneyimlerime göre, Android LUKS başlığını bölümün sonunda tutar. Ve cihazınızdaki durum buysa, o zaman çalışıyor

dd if=/dev/zero of=$PATH_TO_YOUR_USERDATA bs=4096 count=512

üstbilgiyi (altbilgi?) kaldıramaz çünkü bölümün yalnızca başlangıcını siler. Tabii ki tüm bölüm silinebilir, ancak bu gereksiz yere uzun sürebilir. Yani...

Yukarıdaki komutu çalıştırdıktan sonra bölümün sonunu (herhangi bir boyutta) silmek için bu komutu da çalıştırın:

dd bs=512 if=/dev/zero of=$PATH_TO_YOUR_USERDATA count=22048 seek=$((`blockdev --getsz $PATH_TO_YOUR_USERDATA` - 22048))

sadece başlık silme benim için TAMAM çalıştı (şifreleme tamamlanmadı olabilir - emin değilim). Ancak düşük karmanız nedeniyle cevabınızı yükseltir))
Mixaz

4

Özel kurtarma mı kullanıyorsunuz?

Cevabınız evet ise, özel kurtarma işlemine ( benim durumumda TWRP ) önyükleme yaptıktan sonra bunu yapın :

  1. Kurtarma başlangıcında, cihazın şifresini KESMEYİN . Şifre veya desen istendiğinde İptal'e dokunmanız yeterlidir.

  2. Veri bölümünü silin. (Sistemi değiştirmek için kaydırdıktan sonra TWRP'de: Sil> Gelişmiş> Kontrol Et: Veri)

Bu elbette userdatabölümdeki her şeyi silecektir. Tüm veri bölümü , şifreleme anahtarları da dahil olmak üzere yeniden biçimlendirilecektir .


1
Veri bölümünün silinmesi, bölümün başındaki dosya sistemi başlığını kaldırır. Android'in birçok sürümünde LUKS / dm-crypt üstbilgisi dosya sisteminin sonunda olduğu için çalışmıyor .
Naftuli Kay

1
Bunu denediniz mi? Çünkü Nexus
9'umda

1
Birisi bu cevabı neden düşürdüğünden emin değil, bu işe yarıyor ve şifrelemeden kurtulmanın en basit yolu
ArtDeineka

1
Sonunda bunu yaptım - ve işe yaradı. :)
zaTricky

1
Burada aynı. Bir cazibe gibi çalıştı.
Linus Kleen

1

Oylarım @Naftuli Kay'a ve diğer faydalı cevaplara gider, ancak paylaşmak istediğim bazı bilgiler var. Bir yorum yapmak için çok uzun, o zaman bir cevap olsun.

TWRP'nin bazı sürümlerinden beri, Sil ekranında 'verileri formatla' öğesi var. Sadece silme / veri bölümü değil, aynı zamanda şifreli FS maddesini de işler. Benim durumumda, Samsung J500H'deki TWRP 3.0.2 şifrelemeyi siliyor ve tek yol buydu, fabrika ayarlarına sıfırlama çalışmıyor. CMR (CM500.1 için J500H için oluşturulmuş olan) da şifrelemeyi temizleyemez.

--set_encrypted_filesystem=off TWRP ve CMR'de de çalışmadı.

OpenRecoveryScript yoluyla veri silme https://twrp.me/faq/openrecoveryscript.html de çalışmıyor

Android 3.0 / sdcard'ı / data / media ile eşlemeye başladı rm -rf. Daha fazla bilgi için https://twrp.me/faq/datamedia.html adresine bakın.

'Biçim verilerini' gerçekleştirdiğinizde, kurtarma günlüğünde (/ cache / restore / log veya / cache / recovery / last_log) aşağıdaki bilgileri görebilirsiniz:

I:Successfully wiped crypto footer.

/ ile biçimlendirmeden önce make_ext4fs. TWRP kodu, LUKS üstbilgisinin nerede olduğunu bulmak için birçok denetime sahiptir ve benim durumumda altbilgide buldu.

TWRP kaynağına baktım ve komut satırından 'verileri biçimlendirmenin' bir yolunu bulamadım (özel romdaki bir uygulamadan şifreli depolamayı silmem gerekiyor), bu nedenle bu seçenek sadece kullanıcı arayüzünde mevcut. Yalnızca hariç - TWRP ile derlenmiş ise TW_OEM_BUILDo zaman etkin o olacak / o biçimlendirme w, fabrika sıfırlama üzerinde 'biçim verilere', kripto başlığı temizleme ve veri bölümü biçimlendirme aksi takdirde kullanacağı düzenli silin.

ddSıfırlarla deneyeceğim , aslında TWRP şifrelemeyi temizlemek için aynı şeyi yapıyor, sadece başlığı tam olarak nerede arayacağını biliyor))


0

Naftuli Tzvi Kay'ın yukarıdaki cevabına genişleyen ...

bu cevap beni doğru yere getirdi, ancak telefonumun (CM11 / i9300) bir komutu yoktu recoveryve wipekomutun şifrelemeyi devre dışı bırakma seçeneği yoktu. Bu yüzden komut için kaynak kodundarecovery (yukarıdaki soruda bağlantılı yanıttan bağlantılı dosya) yorumlara bakarak el ile yaptım :

* The recovery tool communicates with the main system through /cache files.
* /cache/recovery/command - INPUT - command line for tool, one arg per line
* /cache/recovery/log - OUTPUT - combined log file from recovery run(s)
* /cache/recovery/intent - OUTPUT - intent that was passed in
*
* The arguments which may be supplied in the recovery.command file:
* --send_intent=anystring - write the text out to recovery.intent
* --update_package=path - verify install an OTA package file
* --wipe_data - erase user data (and cache), then reboot
* --wipe_cache - wipe cache (but not user data), then reboot
* --set_encrypted_filesystem=on|off - enables / diasables encrypted fs
*
* After completing, we remove /cache/recovery/command and reboot.

Böylece manuel olarak (adb ile) yapmak için:

  1. root erişimi ile ilgili bir istem alın, ör.
    $ adb shell
    > su
    
  2. echo veya vi ile / cache / recovery / command dosyasına aşağıdaki metni koyun:

    --wipe_data
    --set_encrypted_filesystem=off
    

    örneğin ile echo -e "--wipe_data\n--set_encrypted_filesystem=off" > /cache/recovery/command

  3. CWM veya benzeri bir kurtarma işlemine yeniden başlatın

Güzel bir ilerleme çubuğu görmelisiniz ve tamamlanmalı :)


kurtarma komutu TWRP (3.1.1) sürümümde kullanılabilir, hem / cache / recovery / command veya komut satırı üzerinden --wipe-data ve --set_encrypted_filesystem = off değerlerini kabul eder, ancak veri bölümüne erişim talep edilir edilmez ( --wipe-data) TWRP parola ister. Yani en son TWRP'de çalışmıyor. 'Verileri
formatla

0

En iyi çalışma yöntemi TWRP'ye önyükleme yapmak ve dahili terminali ext2 olarak biçimlendirmek (doğrudan terminalden desteklenen tek şeydir) ve Mount altındaki "Dosya Sistemini Onar" Seçeneğini kullanarak bölümü ext4 olarak değiştirmek.

Ext2 olarak biçimlendirmek için:

mkfs.ext2 /dev/block/mmcbl0p23 (/ Dev / block / platform / * / by-name / userdata içine bakarak kullanıcı veri bölümünüzün değeriyle değiştirin)

Dosya sistemini ext4 olarak değiştirin:

Sil -> Gelişmiş Silme -> "Veri" yi seçin -> FileSystem'ı Onarın veya Değiştirin -> Dosya Sistemini Değiştir -> EXT4

Şimdi, şifrelemeyi kaldırmış olmanız ve TWRP'den / partition bölümü bağlayabilmeniz gerekir. Bu yardımcı olur umarım :)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.