Rimozione della crittografia dal recupero


10

Sto eseguendo CyanogenMod 12 di notte sul mio G900T (klte). Tutto funziona alla grande tranne la password di crittografia predefinita, che provoca l'avvio del mio telefono.

Ho formattato i dati e fatto i ripristini di fabbrica, ma /dataè ancora crittografato e viene visualizzato come /dev/dm-0.

Esiste un comando che posso fare per rimuovere la crittografia? Non mi interessano i dati, voglio che siano spariti. Voglio solo tornare ad avere /datae l'archiviazione interna viene archiviata in testo normale su disco per poter avviare CyanogenMod.

Come posso usare adb shellper rimuovere la crittografia su queste partizioni?


Quale recupero hai mostrato?
Jordy19,

1
Team Win Recovery Project (TWRP)
Naftuli Kay

Ho letto qui che puoi sbarazzarti della crittografia eseguendo il flashing di una nuova ROM, non sono sicuro che funzioni nel tuo caso, ma vale la pena provare.
Jordy19,

Non ha funzionato Sto cercando di dd if=/dev/zeroformattare manualmente e quindi la partizione dei dati.
Naftuli Kay,

Risposte:


12

La risposta per me riguardava una serie di cose, ma penso che una sia davvero la chiave.

Usa il comando "recupero", fratello

Questo utilizza il recoveryprogramma / AOSP di CyanogenMod per cancellare i dati dell'utente e disabilitare la crittografia. (trovato in questa risposta su Stack Overflow ) Avvia il ripristino, quindi esegui dal computer

adb shell recovery --wipe_data --set_filesystem_encryption=off

Il telefono si riavvierà nel sistema e si spera che le cose dovrebbero funzionare come previsto.

Se è necessario eseguirlo dal telefono stesso (ovvero: non si dispone di un computer vicino adbcon):

recovery --wipe_data --set_filesystem_encryption=off

Dovrebbe cancellare, disabilitare la crittografia e riavviare il sistema.

Se tutti gli altri falliscono

Non utilizzare questo metodo a meno che quanto sopra non funzioni o si applichi al tuo scenario.

Distruggi l'intestazione LUKS per la crittografia del filesystem

  1. Hai bisogno di un ripristino che ti consenta di passare a una shell come root, quindi TWRP funziona nel mio caso.
  2. Individua la userdatapartizione guardandoti intorno /dev/block/platform/*/by-name/userdata.
  3. Scrivi una tonnellata di zero all'inizio di quella partizione per cancellare l'intestazione LUKS:

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

    Non rivendico alcuna responsabilità per ciò che fai con questo comando. Se rovini tutto, puoi bloccare il telefono sovrascrivendo il bootloader o altre partizioni critiche. Assicurarsi che $PATH_TO_YOUR_USERDATApunti alla userdatapartizione reale . Controlla le dimensioni di quella partizione per assicurarti di pulire la cosa giusta. Ho un telefono da 16 GB ed userdataè 10,4 GB, mentre il resto è dedicato system, ma il tuo telefono sarà diverso.

  4. Riformatta quella partizione come ext4usando make_ext4fs $PATH_TO_YOUR_USERDATA.

    Potrebbero esserci degli errori, ma di solito riguardano il fatto di non essere in grado di trovare la "sdcard" interna, va bene.

Dopo tutto ciò, riavviare nuovamente il ripristino e quindi eseguire un ripristino delle impostazioni di fabbrica solo per sicurezza.

Perché funziona?

Semplicemente facendo un reset di fabbrica sembrava non fare nulla per me, il telefono avrebbe comunque visto una partizione LUKS lì. Suppongo che ciò sia dovuto al fatto che l'intestazione LUKS esisteva ancora a livello del disco e la partizione ext4 era appena sovrapposta. Per qualche motivo, Android ha dato la priorità al rilevamento di una partizione LUKS su una partizione ext4 e tenta (e riesce) di montarla.

Dove andare da qui

(Se sai cosa stai facendo, potresti anche voler cancellare systeme installare la tua ROM da zero. Ancora una volta, non mi assumo alcuna responsabilità per qualsiasi cosa tu faccia con le informazioni contenute in questo post. )

Ha funzionato per me su un klteG900T (Samsung Galaxy S5 T-Mobile). Il tuo chilometraggio può variare.


Quel tipo di lavoro ha funzionato (l'opzione dd / make_ext4fs). - Quando ho riavviato, mi chiedeva ancora una password nel recupero TWRP e le opzioni di formato avanzate non funzionavano - ma quando ho fatto un normale formato di partizione dati, ha funzionato. - Sono stato in grado di riavviare il ripristino senza alcuna richiesta di password. :-)
BrainSlugs83

1
Naftuli, sei un vero toccasana! Ho il mio bordo S6 (SM-G925F) nel ciclo di avvio morto, poiché non è stato in grado di crittografare probabilmente a causa del recupero personalizzato (TWRP), penso che la crittografia venga effettuata tramite il ripristino di riserva. Continuava a dire "la crittografia non era terminata. Ripristino delle impostazioni di fabbrica e riavvio". Ho anche provato a ripristinare il recupero delle scorte, non si è avviato (probabilmente uno sbagliato ma etichettato per il mio dispositivo). Nemmeno l'intera rom di stock era buona (non riuscivo a trovarne una corretta, quella che trovai respinta dall'odino). Alla fine ho fatto tutto quello che hai detto qui, e il ddcomando alla fine ha fatto il trucco. Molte grazie!
Mixaz,

Il recoverycomando non sembra funzionare per me. Ho chiamato da ADB Shellin TWRPrecupero. Il mio problema principale è che il debug USB non è abilitato ed /systemè corrotto, quindi non posso avviarlo e abilitarlo. Inoltre, la crittografia del disco è attiva e sembra impedirmi di funzionare fastboot flash system system.zipcorrettamente.
anon58192932

1
Mi hai salvato la giornata, o meglio la mia notte. Dopo tre ore provando a installare lineageOS 14.1 sul mio Huawei P8 Lite e ricevendo sempre il messaggio di crittografia non riuscito, con il ddcomando alla fine ho potuto concludere l'operazione. Grazie!
Matteo De Felice

ls -l /dev/block/platform/soc.0/7824900.sdhci/by-name/userdatadice: 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/mmcblk0p26dice: `` Dimensioni del filesystem utilizzate disponibili Usa% montato su / dev / block / mmcblk0p26 10.5G 27.2M 10.5G 0% / data '' `` quindi ho fatto: dd if=/dev/zero of=/dev/block/platform/soc.0/7824900.sdhci/by-name/userdata bs=4096 count=512 giusto?
LarS,

8

Sul mio Moto G 3rd Gen (osprey), né chiamare il recupero né cancellare l'intestazione LUKS (all'inizio e alla fine della partizione) ha funzionato - avevo ancora bisogno di inserire la password di crittografia durante l'avvio di Cyanogen Mod, quindi ero bloccato con un messaggio di "errore di crittografia" .

Ho finalmente scoperto che il mio recupero TWRP 3.0.1 ha un'opzione "Formato dati" nella sezione "Cancella". In questo modo viene eseguito un ripristino di fabbrica completo che disabilita anche la crittografia.

Ha funzionato come un fascino. Se hai accesso a una versione TWRP decente (facilmente riproducibile ad esempio con Flashify), prova prima.


1
Grazie. Perché scegliere una soluzione complicata quando una semplice funzionerà?
Peter Gordon,

Il mio unico problema con quell'opzione era che il testo implica che cancellerà anche la tua scheda SD. Se la tua carta è facile da raggiungere, non è un grosso problema. : - |
zaTricky,

1
@pgmann: l'opzione 'format data' è apparsa non molto tempo fa in TWRP, ecco perché. Di sicuro non era lì nel 2014 quando sono state fornite quelle risposte. Inoltre, l' ddapproccio è utile quando si pulisce la crittografia negli script, poiché l'opzione 'formattazione dei dati' non è disponibile nei comandi TWRP, mentre i comandi esistenti non possono cancellare la crittografia. Spero che aggiungano tale comando in futuro ...
Mixaz

5

A condizione che tu stia utilizzando TWRP o simili.

  • riavviare su TWRP (inserire la password) ed eseguire un backup della Datapartizione su esterno SDoOTG Drive
  • riavviare su TWRP (annulla password) e formattare la partizione dati su f2fs
  • ripristinare il backup eseguito nel passaggio 1 sulla Datapartizione appena creata
  • riavvio del sistema
  • goditi Android con tutti i tuoi dati salvati e la crittografia rimossa

4

La soluzione di cancellare manualmente l'intestazione LUKS fornita da Naftuli Tzvi Kay funziona perfettamente, tranne una cosa. Non so da cosa dipende, ma nella mia esperienza, Android mantiene l'intestazione LUKS alla fine della partizione. E se questo è il caso con il tuo dispositivo, allora in esecuzione

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

non riuscirà a rimuovere l'intestazione (piè di pagina?) perché cancella solo l'inizio della partizione. Ovviamente si potrebbe cancellare l'intera partizione, ma ciò richiederebbe inutilmente tempo. Così...

Per cancellare la fine della partizione (di qualsiasi dimensione), dopo aver eseguito il comando precedente, eseguire anche questo comando:

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

pulire solo l'intestazione ha funzionato bene per me (potrebbe essere perché la crittografia non era terminata - non sono sicuro). Ma valorizzando la tua risposta a causa del tuo basso karma))
Mixaz,

4

Stai utilizzando il recupero personalizzato?

In caso affermativo, eseguire questa operazione dopo l'avvio in un ripristino personalizzato ( TWRP nel mio caso):

  1. All'avvio del ripristino, NON decodificare il dispositivo . Basta toccare Annulla quando viene richiesta la password o la sequenza.

  2. Cancella la partizione dati. (Su TWRP dopo lo scorrimento per modificare il sistema: Cancella> Avanzate> Verifica: Dati)

Questo ovviamente cancellerà tutto nella userdatapartizione. L'intera partizione di dati verrà riformattata, comprese le chiavi di crittografia .


1
La cancellazione della partizione dati rimuove semplicemente l'intestazione del filesystem all'inizio della partizione. Non funziona perché su molte versioni di Android, l'intestazione LUKS / dm-crypt si trova alla fine del filesystem.
Naftuli Kay,

1
L'hai provato? Perché ha funzionato nel mio Nexus 9.
Majal

1
non so perché qualcuno abbia annullato la votazione di questa risposta, questo funziona ed è il modo più semplice per sbarazzarsi della crittografia
ArtDeineka,

1
Questo è quello che ho finito per fare - e ha funzionato. :)
zaTricky

1
Anch'io. Ha funzionato come un fascino.
Linus Kleen,

1

I miei voti vanno a @Naftuli Kay e altre utili risposte qui, ma ho alcune informazioni che vorrei condividere. È troppo lungo per un commento, lascia che sia una risposta allora.

Da qualche versione di TWRP, nella schermata di cancellazione è presente l'elemento di "formattazione dei dati". Non solo cancella / partizione dati, ma gestisce anche l'argomento FS crittografato. Nel mio caso, TWRP 3.0.2 su Samsung J500H cancella la crittografia ed è stato l'unico modo, il ripristino delle impostazioni di fabbrica non funziona. Nemmeno il CMR (quello in fase di creazione lungo la mia rom CM 12.1 per J500H) non può cancellare la crittografia.

--set_encrypted_filesystem=off inoltre non ha funzionato in TWRP e CMR.

cancellare i dati tramite OpenRecoveryScript https://twrp.me/faq/openrecoveryscript.html non funziona

Android 3.0 ha iniziato a mappare / sdcard su / data / media, quindi hanno dovuto rielaborare / cancellare i dati su non / data / media e rm -rfviene invece eseguito. Vedi https://twrp.me/faq/datamedia.html per maggiori dettagli.

Quando si eseguono "formattazione dei dati", è possibile che vengano visualizzate le seguenti informazioni nel registro di ripristino (/ cache / recover / log o / cache / recovery / last_log):

I:Successfully wiped crypto footer.

prima che formatta / dati con make_ext4fs. Il codice TWRP ha un numero di controlli per trovare dove si trova l'intestazione LUKS, e nel mio caso lo ha trovato nel piè di pagina.

Ho esaminato l'origine TWRP e non ho trovato un modo per "formattare i dati" dalla riga di comando (ho bisogno di cancellare l'archiviazione crittografata da un'applicazione nella rom personalizzata), quindi questa opzione è presente solo nell'interfaccia utente. Con la sola eccezione: se TWRP viene compilato con TW_OEM_BUILDabilitato , "formatterà i dati" al ripristino delle impostazioni di fabbrica, cancellando l'intestazione crittografica e formattando la partizione dei dati, altrimenti userebbe la pulizia normale senza formattazione.

Ho intenzione di provare ddcon gli zeri, in realtà TWRP fa lo stesso per cancellare la crittografia, solo sa esattamente dove cercare l'intestazione))


0

Espandendo la risposta di Naftuli Tzvi Kay sopra ...

bene, quella risposta mi ha portato nel posto giusto, ma il mio telefono (CM11 / i9300) non aveva un recoverycomando e il wipecomando non aveva un'opzione per disabilitare la crittografia. Quindi l'ho fatto manualmente guardando i commenti nel codice sorgente per il recoverycomando (file collegato dalla risposta collegata nella domanda sopra):

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

Quindi, per farlo manualmente (con adb):

  1. visualizza un prompt con accesso root, ad es
    $ adb shell
    > su
    
  2. metti il ​​seguente testo nel file / cache / recovery / comando, con echo o vi:

    --wipe_data
    --set_encrypted_filesystem=off
    

    ad es. con echo -e "--wipe_data\n--set_encrypted_filesystem=off" > /cache/recovery/command

  3. riavviare in CWM o recupero simile

Dovresti vedere una bella barra di avanzamento e dovrebbe essere fatta :)


il comando di ripristino è disponibile nel mio TWRP (3.1.1), accetta --wipe-data e --set_encrypted_filesystem = off sia tramite / cache / recovery / comando o riga di comando, ma non appena viene richiesto l'accesso alla partizione dati --wipe-data) TWRP richiede la password. Quindi non funziona nell'ultima TWRP. Invece "Formatta dati" funziona, vedi altri post
Mixaz

0

Il metodo di lavoro migliore è avviare TWRP e utilizzare il terminale integrato per formattarlo come ext2 (perché questa è l'unica cosa supportata direttamente dal terminale) e cambiare la partizione in ext4 usando l'opzione "Ripara filesystem" sotto Montaggio

Per formattare come ext2:

mkfs.ext2 /dev/block/mmcbl0p23 (Sostituisci con il valore della tua partizione userdata guardando in / dev / block / platform / * / by-name / userdata)

Cambia filesystem come ext4:

Cancella -> Cancella avanzato -> Seleziona "Dati" -> Ripara o modifica file system -> Cambia file system -> EXT4

Ora, dovresti avere la crittografia rimossa ed essere in grado di montare / partizione dati da TWRP. Spero che sia di aiuto :)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.