12 votos

Eliminando encriptación de la recuperación

Estoy ejecutando CyanogenMod 12 nightly en mi G900T (klte). Todo funciona muy bien, excepto la contraseña de cifrado predeterminada, que hace que mi teléfono entre en un bucle de inicio.

He formateado los datos y realizado restablecimientos de fábrica, pero /data todavía está cifrado y aparece como /dev/dm-0.

¿Hay algún comando que pueda usar para eliminar el cifrado? No me importan los datos, quiero que todo desaparezca. Solo quiero volver a tener /data y el almacenamiento interno almacenado en texto sin formato en el disco para poder arrancar en CyanogenMod.

¿Cómo puedo usar adb shell para eliminar el cifrado en estas particiones?

0 votos

¿Qué recuperación has flasheado?

1 votos

Equipo de Proyecto de Recuperación Team Win (TWRP)

0 votos

Leí aquí que puedes deshacerte del cifrado flasheando un nuevo ROM, no estoy seguro si funciona en tu caso pero vale la pena intentarlo.

14voto

mjlee Puntos 949

La respuesta para mí involucró varias cosas, pero creo que una es realmente clave.

Usa el comando "recovery", bro

Esto utiliza el programa recovery de CyanogenMod/AOSP para borrar los datos del usuario y deshabilitar el cifrado. (encontrado en esta respuesta en Stack Overflow) Arranca en tu recovery, y luego desde tu computadora ejecuta

adb shell recovery --wipe_data --set_filesystem_encryption=off

Tu teléfono se reiniciará en el sistema y esperemos que todo funcione según lo planeado.

Si necesitas ejecutarlo desde el teléfono mismo (es decir: no tienes una computadora cercana para usar adb):

recovery --wipe_data --set_filesystem_encryption=off

Debería borrar, deshabilitar el cifrado y reiniciar el sistema.

Si Todo Falla

No uses este método a menos que lo anterior no funcione o no aplique a tu situación.

Destruye el Encabezado LUKS para el Cifrado del Sistema de Archivos

  1. Necesitas un recovery que te permita acceder a una consola como root, así que en mi caso funciona TWRP.

  2. Localiza la partición userdata buscando en /dev/block/platform/*/by-name/userdata.

  3. Escribe una gran cantidad de ceros al principio de esa partición para borrar el encabezado LUKS:

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

    No me hago responsable de lo que hagas con este comando. Si lo arruinas, puedes brickear tu teléfono sobrescribiendo el bootloader u otras particiones críticas. Asegúrate de que $PATH_TO_YOUR_USERDATA apunte a la verdadera partición userdata. Verifica el tamaño de esa partición para asegurarte de que estás borrando lo correcto. Mi teléfono es de 16GB y el userdata es de 10.4GB, con el resto dedicado a system, pero tu teléfono será diferente.

  4. Reformatea esa partición como ext4 usando make_ext4fs $PATH_TO_YOUR_USERDATA.

    Puede que haya errores, pero generalmente se relacionan con no poder encontrar la "sdcard" interna, eso está bien.

Después de todo esto, reinicia nuevamente en recovery y luego realiza un restablecimiento de fábrica solo para estar seguro.

¿Por Qué Funciona Esto?

Simplemente hacer un restablecimiento de fábrica parecía no hacer nada para mí, el teléfono aún veía una partición LUKS allí. Supongo que esto se debe a que el encabezado LUKS seguía existiendo a nivel de disco y la partición ext4 simplemente se superponía. Por alguna razón, Android priorizaba la detección de una partición LUKS sobre una partición ext4 e intentaba (y lograba) montarla.

¿A Dónde Ir desde Aquí?

(Si sabes lo que estás haciendo, también puedes querer borrar system e instalar tu ROM desde cero. Nuevamente, no me hago responsable de lo que hagas con la información contenida en esta publicación.)

Funcionó para mí en un klte G900T (Samsung Galaxy S5 T-Mobile). Puede variar en tu caso.

0 votos

Esa opción funcionó más o menos bien (la opción dd / make_ext4fs). - Cuando reinicié, todavía me pidió una contraseña en la recuperación de TWRP, y las opciones de formato avanzado no funcionaron, pero cuando hice un formato regular de partición de datos, funcionó. - Pude reiniciar en recuperación sin que se pidiera ninguna contraseña. :-)

1 votos

Naftuli, ¡eres un salvavidas! Tengo mi S6 edge (SM-G925F) en un bucle de arranque muerto, ya que no pudo cifrar probablemente debido a la recuperación personalizada (TWRP), creo que el cifrado se realiza a través de la recuperación de stock. Seguía diciendo "el cifrado no se completó. restablecer fábrica y reiniciar". Incluso intenté flashear la recuperación de stock, pero no arrancó (probablemente la incorrecta pero etiquetada para mi dispositivo). Toda la ROM de stock tampoco era buena (no pude encontrar una adecuada, la que encontré fue rechazada por odin). Finalmente hice todo lo que dijiste aquí, y el comando dd finalmente funcionó. ¡Muchas gracias!

0 votos

El comando recovery no pareció funcionar para mí. Lo ejecuté desde ADB Shell en la recuperación TWRP. Mi problema principal es que la depuración USB no está habilitada y / system está dañado, por lo que no puedo arrancar y habilitarlo. Además, la encriptación del disco está activada y parece impedirme realizar correctamente fastboot flash system system.zip.

11voto

Unispezi Puntos 1

En mi Moto G 3rd Gen (osprey), ni llamar a la recuperación ni borrar el encabezado LUKS (al principio y al final de la partición) funcionó: todavía necesitaba ingresar la contraseña de cifrado durante el arranque de Cyanogen Mod, luego me quedaba atrapado con un mensaje de "error de cifrado".

Finalmente descubrí que mi recuperación TWRP 3.0.1 tiene una opción de "Formatear Datos" en la sección de "Wipe". Esto realiza un reinicio de fábrica completo que también deshabilita el cifrado.

Funcionó de maravilla. Si tienes acceso a una versión decente de TWRP (fácilmente flasheada por ejemplo con Flashify), prueba esto primero.

1 votos

Gracias. ¿Por qué optar por una solución complicada cuando una simple funcionará?

0 votos

Mi único problema con esa opción fue que el texto implica que también borrará tu tarjeta SD. Si tu tarjeta es fácil de acceder, entonces no es tanto un problema. :-|

1 votos

@pgmann: La opción 'format data' apareció no hace mucho en TWRP, por eso. Seguramente no estaba allí en 2014 cuando se proporcionaron esas respuestas. Además, el enfoque dd es útil cuando se limpia la encriptación en scripts, ya que la opción 'format data' no está disponible en los comandos de TWRP, mientras que los comandos existentes no pueden eliminar la encriptación. Espero que agreguen dicho comando en el futuro...

4voto

lockheed Puntos 6

La solución de borrar manualmente el encabezado de LUKS proporcionado por Naftuli Tzvi Kay funciona bien, excepto por una cosa. No sé en qué depende, pero en mi experiencia, Android mantiene el encabezado de LUKS al FINAL de la partición. Y si ese es el caso con tu dispositivo, entonces ejecutar

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

fallará al eliminar el encabezado (¿el pie de página?) porque solo borra el principio de la partición. Uno podría, por supuesto, borrar toda la partición, pero eso llevaría innecesariamente mucho tiempo. Así que...

Para borrar el final de la partición (de cualquier tamaño), después de ejecutar el comando anterior, también ejecuta este comando:

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

0 votos

Borrando solo el encabezado funcionó bien para mí (puede ser porque la encriptación no había terminado, no estoy seguro). Pero votando positivamente tu respuesta debido a tu baja karma ))

4voto

Dougie Atfield Puntos 1

¿Estás utilizando una recuperación personalizada?

Si es así, entonces haz esto después de arrancar en una recuperación personalizada (TWRP en mi caso):

  1. Al iniciar la recuperación, NO descifres el dispositivo. Simplemente toca Cancelar cuando te pidan la contraseña o el patrón.

  2. Borra la partición de datos. (En TWRP después de deslizar para modificar el sistema: Wipe > Advanced > Marcar: Data)

Esto, por supuesto, borrará todo en la partición de userdata. La partición de datos completa será reformateada incluyendo las claves de cifrado.

1 votos

Borrar la partición de datos simplemente elimina el encabezado del sistema de archivos al principio de la partición. No funciona porque en muchas versiones de Android, el encabezado LUKS/dm-crypt está al final del sistema de archivos.

1 votos

¿Lo has intentado? Porque acaba de funcionar en mi Nexus 9.

1 votos

No estoy seguro de por qué alguien votó a la baja esta respuesta, esto funciona y es la forma más sencilla de eliminar el cifrado.

0voto

allicoder Puntos 1

Ampliando la respuesta de Naftuli Tzvi Kay arriba...

bueno, esa respuesta me llevó al lugar correcto, pero mi teléfono (CM11 / i9300) no tenía un comando recovery, y el comando wipe no tenía una opción para deshabilitar el cifrado. Así que lo hice manualmente examinando los comentarios en el código fuente del comando recovery (archivo vinculado desde la respuesta vinculada en la pregunta anterior):

* La herramienta de recuperación se comunica con el sistema principal a través de archivos /cache.
* /cache/recovery/command - ENTRADA - línea de comandos para la herramienta, un argumento por línea
* /cache/recovery/log - SALIDA - archivo de registro combinado de ejecuciones de recuperación
* /cache/recovery/intent - SALIDA - intent que se pasó
*
* Los argumentos que se pueden proporcionar en el archivo recovery.command:
* --send_intent=anystring - escribe el texto en recovery.intent
* --update_package=ruta - verifica la instalación de un archivo de paquete OTA
* --wipe_data - borra los datos de usuario (y caché), luego reinicia
* --wipe_cache - borra caché (pero no datos de usuario), luego reinicia
* --set_encrypted_filesystem=on|off - habilita / deshabilita fs encriptado
*
* Después de completar, eliminamos /cache/recovery/command y reiniciamos.

Así que para hacerlo manualmente (con adb):

  1. obtener un símbolo del sistema con acceso root, por ejemplo,

    $ adb shell
    > su
  2. poner el siguiente texto en el archivo /cache/recovery/command, ya sea con echo o vi:

    --wipe_data
    --set_encrypted_filesystem=off

    por ejemplo, con echo -e "--wipe_data\n--set_encrypted_filesystem=off" > /cache/recovery/command

  3. reiniciar en CWM u otra recuperación similar

Deberías ver una barra de progreso agradable y ¡se debería completar! :)

0 votos

El comando de recuperación está disponible en mi TWRP (3.1.1), acepta --wipe-data y --set_encrypted_filesystem=off tanto a través de /cache/recovery/command como en la línea de comandos, pero tan pronto como se solicita acceso a la partición de datos (con --wipe-data) TWRP solicita una contraseña. Por lo tanto, no funciona en la última versión de TWRP. En su lugar, 'Formatear datos' funciona, consulta otros mensajes.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X