Usuwanie szyfrowania z odzyskiwania


10

Używam CyanogenMod 12 co noc na moim G900T (klte). Wszystko działa świetnie, z wyjątkiem domyślnego hasła szyfrowania, które powoduje, że mój telefon uruchamia się w pętli.

Sformatowałem dane i przywróciłem ustawienia fabryczne, ale /datanadal jest zaszyfrowane i pokazuje się jako /dev/dm-0.

Czy istnieje polecenie, które mogę wykonać, aby usunąć szyfrowanie? Nie dbam o dane, chcę, żeby wszystko zniknęło. Chcę tylko wrócić do posiadania /datai wewnętrznej pamięci przechowywanej w postaci zwykłego tekstu na dysku, aby móc uruchomić się z CyanogenMod.

Jak mogę użyć adb shelldo usunięcia szyfrowania na tych partycjach?


Które odzyskiwanie flashowałeś?
Jordy19,

1
Team Win Recovery Recovery Project (TWRP)
Naftuli Kay

Przeczytałem tutaj , że możesz pozbyć się szyfrowania poprzez flashowanie nowej pamięci ROM, nie jestem pewien, czy to działa w twoim przypadku, ale warto spróbować.
Jordy19,

Nie działało Próbuję ręcznie, dd if=/dev/zeroa następnie sformatować partycję danych.
Naftuli Kay

Odpowiedzi:


12

Odpowiedź dotyczyła wielu rzeczy, ale myślę, że jedna jest naprawdę kluczem.

Użyj polecenia „odzyskiwania”, stary

Wykorzystuje to recoveryprogram CyanogenMod / AOSP do czyszczenia danych użytkownika i wyłączania szyfrowania. (znalezione w tej odpowiedzi na temat przepełnienia stosu ) Uruchom komputer w celu odzyskania, a następnie uruchom komputer

adb shell recovery --wipe_data --set_filesystem_encryption=off

Telefon uruchomi się ponownie w systemie i, mam nadzieję, wszystko powinno działać zgodnie z planem.

Jeśli musisz uruchomić go z samego telefonu (tj .: nie masz komputera w pobliżu adb):

recovery --wipe_data --set_filesystem_encryption=off

Powinien wyczyścić, wyłączyć szyfrowanie i zrestartować system.

Jeśli wszystko inne zawiedzie

Nie używaj tej metody, chyba że powyższe nie działa lub nie dotyczy Twojego scenariusza.

Zniszcz nagłówek LUKS do szyfrowania systemu plików

  1. Potrzebujesz odzyskiwania, które pozwoli ci upaść do powłoki root, więc TWRP działa w moim przypadku.
  2. Znajdź userdatapartycję, rozglądając się /dev/block/platform/*/by-name/userdata.
  3. Zapisz tonę zer na początku tej partycji, aby wyczyścić nagłówek LUKS:

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

    Nie ponoszę odpowiedzialności za to, co robisz z tym poleceniem. Jeśli to zepsujesz, możesz zepsuć swój telefon, nadpisując program ładujący lub inne krytyczne partycje. Upewnij się, że $PATH_TO_YOUR_USERDATAwskazuje na prawdziwą userdatapartycję. Sprawdź rozmiar tej partycji, aby upewnić się, że czyścisz właściwą rzecz. Mam telefon 16 GB i userdata10,4 GB, resztę poświęcam system, ale twój telefon będzie inny.

  4. Sformatuj tę partycję jak ext4za pomocą make_ext4fs $PATH_TO_YOUR_USERDATA.

    Mogą występować błędy, ale zwykle dotyczą one niemożności znalezienia wewnętrznej „karty SD”, jest to w porządku.

Po tym wszystkim ponownie uruchom odzyskiwanie, a następnie uruchom reset fabryczny, aby być bezpiecznym.

Dlaczego to działa?

Wydaje mi się, że samo przywrócenie ustawień fabrycznych nic nie robi, telefon nadal widziałby tam partycję LUKS. Zakładam, że dzieje się tak, ponieważ nagłówek LUKS nadal istniał na poziomie dysku, a partycja ext4 została właśnie na niego nałożona. Z jakiegoś powodu system Android nadał priorytet wykrywaniu partycji LUKS nad partycją ext4 i próbuje (i udaje się) zamontować tę partycję.

Dokąd pójść stąd

(Jeśli wiesz, co robisz, możesz również wyczyścić systemi zainstalować pamięć ROM od zera. Ponownie nie biorę odpowiedzialności za nic, co robisz z informacjami zawartymi w tym poście ).

Pracował dla mnie na klteG900T (Samsung Galaxy S5 T-Mobile). Twój przebieg może się różnić.


Ten rodzaj zadziałał (opcja dd / make_ext4fs). - Po ponownym uruchomieniu nadal poprosił o hasło do odzyskiwania TWRP, a zaawansowane opcje formatu nie działały - ale kiedy zrobiłem normalny format partycji danych, działało. - Byłem w stanie zrestartować się do odzyskiwania bez żadnych monitów o hasło. :-)
BrainSlugs83 30.07.16

1
Naftuli, jesteś ratownikiem! Mam moją krawędź S6 (SM-G925F) w pętli martwego rozruchu, ponieważ prawdopodobnie nie była w stanie zaszyfrować prawdopodobnie z powodu niestandardowego odzyskiwania (TWRP), myślę, że szyfrowanie odbywa się poprzez odzyskiwanie zapasów. Powtarzano: „szyfrowanie nie zostało zakończone. Przywrócenie ustawień fabrycznych i ponowne uruchomienie”. Próbowałem nawet przywrócić flashowanie odzyskiwania, ale nie uruchomiło się (prawdopodobnie niewłaściwe, ale oznaczone dla mojego urządzenia). Cała baza ROM też nie była dobra (nie była w stanie znaleźć właściwej, ta którą znalazłem została odrzucona przez odin). W końcu zrobiłem wszystko, co tu powiedziałeś, a dddowodzenie w końcu załatwiło sprawę. Wielkie dzięki!
Mixaz

recoveryKomenda nie wydają się działać dla mnie. Nazwałem to od powrotu ADB Shelldo TWRPzdrowia. Moim głównym problemem jest to, że debugowanie USB nie jest włączone i /systemjest uszkodzone, więc nie mogę go uruchomić i włączyć. Ponadto szyfrowanie dysku jest włączone i wydaje mi się, że nie mogę działać fastboot flash system system.zippoprawnie.
anon58192932,

1
Uratowałeś mi dzień lub lepiej moją noc. Po trzech godzinach próbowałem zainstalować lineageOS 14.1 na moim Huawei P8 Lite i zawsze otrzymywałem komunikat o niepowodzeniu szyfrowania, z ddpoleceniem na końcu mogłem zakończyć operację. Dziękuję Ci!
Matteo De Felice,

ls -l /dev/block/platform/soc.0/7824900.sdhci/by-name/userdatamówi: 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/mmcblk0p26mówi: `` Użyty rozmiar systemu plików Dostępny Użyj% Zamontowany na / dev / block / mmcblk0p26 10.5G 27,2M 10.5G 0% / data '' więc zrobiłem: dd if=/dev/zero of=/dev/block/platform/soc.0/7824900.sdhci/by-name/userdata bs=4096 count=512 Czy to prawda?
LarS

8

Na mojej Moto G 3. generacji (osprey) nie zadziałało odzyskiwanie ani czyszczenie nagłówka LUKS (na początku i na końcu partycji) - nadal musiałem wprowadzić hasło szyfrowania podczas uruchamiania Cyanogen Mod, a następnie utknąłem na komunikacie „błąd szyfrowania” .

W końcu odkryłem, że moje odzyskiwanie TWRP 3.0.1 ma opcję „Formatuj dane” w sekcji „Wyczyść”. To powoduje całkowite przywrócenie ustawień fabrycznych, co również wyłącza szyfrowanie.

Działa jak urok. Jeśli masz dostęp do przyzwoitej wersji TWRP (łatwo flashowanej np. Za pomocą Flashify), spróbuj tego najpierw.


1
Dziękuję Ci. Po co szukać skomplikowanego rozwiązania, gdy proste będzie działać?
Peter Gordon

Moim jedynym problemem z tą opcją było to, że tekst sugeruje, że wyczyści również kartę SD. Jeśli twoja karta jest łatwo dostępna, nie stanowi to większego problemu. : - |
zaTricky

1
@pgmann: Opcja formatu danych pojawiła się niedawno w TWRP, dlatego. Na pewno nie było go w 2014 r., Kiedy udzielono tych odpowiedzi. Takie ddpodejście jest również przydatne podczas czyszczenia szyfrowania w skryptach, ponieważ opcja „formatuj dane” nie jest dostępna w poleceniach TWRP, podczas gdy istniejące polecenia nie mogą wyczyścić szyfrowania. Mam nadzieję, że dodadzą takie polecenie w przyszłości ...
Mixaz

5

Pod warunkiem, że używasz TWRP lub podobnego.

  • uruchom ponownie TWRP (wprowadź hasło) i wykonaj kopię zapasową Datapartycji na zewnętrznym SDlubOTG Drive
  • uruchom ponownie TWRP (anuluj hasło) i sformatuj Partycję danych na f2fs
  • przywróć kopię zapasową wykonaną w kroku pierwszym na nowo utworzonej Datapartycji
  • Uruchom ponownie system
  • korzystaj z Androida z zapisanymi wszystkimi danymi i usuniętym szyfrowaniem

4

Rozwiązanie ręcznego czyszczenia nagłówka LUKS dostarczone przez Naftuli Tzvi Kay działa dobrze, z wyjątkiem jednej rzeczy. Nie wiem, od czego to zależy, ale z mojego doświadczenia, Android utrzymuje nagłówek LUKS na KONIEC partycji. A jeśli tak jest w przypadku twojego urządzenia, to działa

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

nie uda się usunąć nagłówka (stopki?), ponieważ czyści tylko początek partycji. Można oczywiście wyczyścić całą partycję, ale zajęłoby to niepotrzebnie długo. Więc...

Aby wyczyścić koniec partycji (dowolnego rozmiaru), po uruchomieniu powyższej komendy uruchom ją również:

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

czyszczenie tylko nagłówka działało dla mnie OK (być może dlatego, że szyfrowanie nie zostało zakończone - nie jestem pewien). Ale głosowanie za odpowiedzią z powodu niskiej karmy))
Mixaz 11.11.16

4

Czy korzystasz z odzyskiwania niestandardowego?

Jeśli tak, zrób to po uruchomieniu do niestandardowego odzyskiwania ( w moim przypadku TWRP ):

  1. Po rozpoczęciu odzyskiwania NIE odszyfrowuj urządzenia . Po prostu dotknij Anuluj, gdy zostaniesz zapytany o hasło lub wzór.

  2. Wyczyść partycję danych. (W TWRP po przesunięciu w celu zmodyfikowania systemu: Wyczyść> Zaawansowane> Sprawdź: Dane)

To oczyści wszystko z userdatapartycji. Cała partycja danych zostanie ponownie sformatowana, w tym klucze szyfrowania .


1
Wyczyszczenie partycji danych po prostu usuwa nagłówek systemu plików na początku partycji. Nie działa, ponieważ w wielu wersjach Androida nagłówek LUKS / dm-crypt znajduje się na końcu systemu plików.
Naftuli Kay

1
Próbowałeś tego? Ponieważ to zadziałało w moim Nexusie 9.
Majal

1
nie jestem pewien, dlaczego ktoś przegłosował tę odpowiedź, to działa i jest to najprostszy sposób na pozbycie się szyfrowania
ArtDeineka 18.04.17

1
To właśnie skończyłem - i zadziałało. :)
zaTricky

1
To samo tutaj. Działa jak urok.
Linus Kleen,

1

Moje głosy trafiają do @Naftuli Kay i inne pomocne odpowiedzi tutaj, ale mam kilka informacji, którymi chciałbym się podzielić. Na komentarz jest za długi, niech to będzie odpowiedź.

Od czasu niektórych wersji TWRP na ekranie czyszczenia znajduje się element „formatuj dane”. Nie tylko czyści / partycję danych, ale także obsługuje zaszyfrowaną materię FS. W moim przypadku TWRP 3.0.2 na Samsung J500H czyści szyfrowanie, i był to jedyny sposób, aby przywrócenie ustawień fabrycznych nie działało. CMR (ten budowany wzdłuż mojego romu CM 12.1 dla J500H) również nie może wyczyścić szyfrowania.

--set_encrypted_filesystem=off również nie działał w TWRP i CMR.

czyszczenie danych przez OpenRecoveryScript https://twrp.me/faq/openrecoveryscript.html również nie działa

Android 3.0 zaczął mapować / sdcard na / data / media, więc musieli przerobić / wyczyścić dane na not / data / media, i rm -rfzamiast tego jest wykonywany. Więcej informacji na stronie https://twrp.me/faq/datamedia.html .

Podczas wykonywania „formatowania danych” możesz zobaczyć w dzienniku odzyskiwania (/ cache / recovery / log lub / cache / recovery / last_log) następujące informacje:

I:Successfully wiped crypto footer.

zanim sformatuje dane / make_ext4fs. Kod TWRP ma wiele sprawdzeń, aby znaleźć gdzie jest nagłówek LUKS, aw moim przypadku znalazł go w stopce.

Spojrzałem na źródło TWRP i nie znalazłem sposobu na „sformatowanie danych” z wiersza poleceń (muszę wyczyścić zaszyfrowaną pamięć z aplikacji w niestandardowym ROM), więc ta opcja jest dostępna tylko w interfejsie użytkownika. Z jedynym wyjątkiem - jeśli TWRP jest skompilowane z TW_OEM_BUILDwłączoną wtedy będzie „dane format” na Kasowanie krypto nagłówka i formatowanie partycji danych, w przeciwnym razie byłoby to regularne wytrzeć / o formatowaniu w.

Spróbuję ddzerować, w rzeczywistości TWRP robi to samo, aby wyczyścić szyfrowanie, tylko wie, gdzie dokładnie szukać nagłówka))


0

Rozwijanie odpowiedzi Naftuli Cvi Kay powyżej ...

cóż, ta odpowiedź zaprowadziła mnie we właściwe miejsce, ale mój telefon (CM11 / i9300) nie miał recoverypolecenia, a wipepolecenie nie miało opcji wyłączenia szyfrowania. Zrobiłem to więc ręcznie, patrząc na komentarze w kodzie źródłowym recoverypolecenia (plik połączony z odpowiedzią podaną w powyższym pytaniu):

* 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.

Aby to zrobić ręcznie (z adb):

  1. wyświetlić monit z dostępem do konta root, np
    $ adb shell
    > su
    
  2. wstaw następujący tekst do pliku / pamięci podręcznej / odzyskiwania / polecenia za pomocą echa lub vi:

    --wipe_data
    --set_encrypted_filesystem=off
    

    np. z echo -e "--wipe_data\n--set_encrypted_filesystem=off" > /cache/recovery/command

  3. uruchom ponownie w CWM lub w podobnym trybie odzyskiwania

Powinieneś zobaczyć fajny pasek postępu i należy to zrobić :)


polecenie odzyskiwania jest dostępne w moim TWRP (3.1.1), akceptuje --wipe-data i --set_encrypted_filesystem = off zarówno poprzez / cache / recovery / command lub wiersz poleceń, ale jak tylko żądanie dostępu do partycji danych (przez --wipe-data) TWRP monituje o hasło. Więc to nie działa w najnowszym TWRP. Zamiast tego działa „Formatuj dane”, zobacz inne posty
Mixaz

0

Najlepszym działającym sposobem jest załadowanie do TWRP i użycie wbudowanego terminala, aby sformatować go jako ext2 (bo to jedyna rzecz obsługiwana bezpośrednio z terminala) i zmienić partycję na ext4 przy użyciu opcji „Napraw system plików” w opcji Mount

Aby sformatować jako ext2:

mkfs.ext2 /dev/block/mmcbl0p23 (Zastąp wartość partycji danych użytkownika, rozglądając się w / dev / block / platform / * / by-name / userdata)

Zmień system plików jako ext4:

Wyczyść -> Zaawansowane czyszczenie -> Wybierz „Dane” -> Napraw lub zmień system plików -> Zmień system plików -> EXT4

Teraz powinieneś usunąć szyfrowanie i móc zamontować / partycję danych z TWRP. Mam nadzieję że to pomoże :)

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.