Desbloquear Android encriptado desde ADB

Tengo el siguiente problema: De alguna manera, esta tarde se rompió la pantalla táctil de mi Sony Xperia Z. Tengo dos grietas delgadas en la pantalla y nada en el lado derecho de la grieta reacciona. Tengo teléfonos de respaldo, pero quería recuperar al menos mis fotos. Mi dispositivo está encriptado con una frase de contraseña, pero no puedo escribir. Mi idea era desbloquearlo desde adb, para poder hacer una copia de seguridad de mis datos. Ejecuto SlimKat (SlimRom) con TeamWin Recovery.

Cuando entro en modo de recuperación, puedo ver mi teléfono:

$ adb devices
List of devices attached 
CB5A1PN2WU  recovery

Pero ningún comando funciona:

$ adb shell
- exec '/system/bin/sh' failed: No such file or directory (2) -

¿Cómo puedo obtener mis datos? ¿Puedo controlar remotamente mi teclado? Lamentablemente, todo se guarda en la memoria flash interna.

Bienvenido al sitio, strix. Se han hecho variaciones de esta pregunta anteriormente, puede intentar una búsqueda en "desbloquear con adb", aunque no vi una solución obvia para usted. Esta publicación también tiene una respuesta detallada que puede serle útil.
He leído esto antes. El problema es que para todas estas soluciones necesito una pantalla táctil que funcione o un teléfono que funcione. Mi teléfono está encriptado y apagado. No tengo ni touch ni adb shell funcionando...

Respuestas (2)

El Xperia Z es compatible con USB-on-the-go, por lo que con un adaptador USB-OTG y un teclado USB debería poder ingresar la frase de contraseña de cifrado para iniciar el dispositivo.

¡Gracias, esto es genial! Funcionó de maravilla, ¡y obtener todos mis datos por 6 $ valió la pena!

Aunque comprar un cable OTG debería funcionar bien, de hecho, hay una manera de desbloquear su dispositivo solo a través de ADB. Descubrí esto de la manera difícil cuando incluí un carácter en mi contraseña que no se podía escribir en el teclado virtual y un cable OTG no funcionó por razones que no explicaré.

Hay dos comandos ADB con los que puede activar eventos de teclado. Los he probado y ambos funcionan en la pantalla de entrada de la clave de descifrado del disco. Estos comandos son:

  • adb shell input text 'mytext'emula escribir mytexten el teclado. Tenga en cuenta que no acepta texto arbitrario : puede usar esto principalmente para enviar vocales, consonantes y dígitos ASCII al teclado de esta manera. Los caracteres especiales (p. ej '., #, ;) incluida la barra espaciadora que utilizan este comando requieren una sintaxis especial o no se aceptan.
  • adb shell inputevent <event_number>emula el evento de una pulsación de tecla específica. Esto se puede usar para escribir ciertos caracteres especiales. La lista completa de eventos clave se puede ver en la documentación para desarrolladores de Android . Aunque los eventos clave admitidos difieren según la versión de Android, todos los eventos clave que usaría para escribir una contraseña se admiten desde Android 3.0 (nivel de API 11).

Consulte esta respuesta de desbordamiento de pila para obtener más información.