4 votos

Huawei bootloader: ¿qué es "FB Lock" y cómo desbloquearlo?

Estaba jugando con mi teléfono Huawei de repuesto tratando de evitar la seguridad sin borrar datos y encontré este artículo: https://blog.salvationdata.com/2018/09/07/case-study-mobile-forensics-a-practical-solution-to-unlock-huawei-bootloader/

En el paso 3, deberías "desactivar temporalmente el bloqueo de FB". ¿Qué significa esto y cómo lo desbloqueo usando fastboot? Supongo que no puedo hacerlo usando el comando estándar fastboot oem unlock, pero no encontré otra cosa en la documentación de fastboot. entrar descripción de la imagen aquí

EDICIÓN: Resultado del comando fastboot help como se solicitó: https://pastebin.com/2rhr1PTT

platform-tools$ ./fastboot help
uso: fastboot [OPCIÓN...] COMANDO...

flasheo:
 actualizar ZIP                 Flashear todas las particiones desde un paquete update.zip.
 flashall                   Flashear todas las particiones desde $ANDROID_PRODUCT_OUT.
                            En dispositivos A/B, la ranura flasheada se configura como activa.
                            Las imágenes secundarias pueden ser flasheadas en una ranura inactiva.
 flash PARTITION [ARCHIVO] Flashear la partición dada, usando la imagen de
                            $ANDROID_PRODUCT_OUT si no se proporciona un nombre de archivo.

básicos:
 dispositivos [-l]               Lista dispositivos en bootloader (-l: con rutas de dispositivos).
 getvar NOMBRE                Muestra la variable de bootloader dada.
 reiniciar [bootloader]        Reiniciar dispositivo.

bloqueo/desbloqueo:
 flashing lock|unlock       Bloquear/desbloquear particiones para flasheo
 flashing lock_critical|unlock_critical
                            Bloquear/desbloquear particiones de 'critical' bootloader.
 flashing get_unlock_ability
                            Comprobar si se permite desbloqueo (1) o no (0).

avanzados:
 borrar PARTITION            Borrar una partición flash.
 formato[:FS_TYPE[:TAMAÑO]] PARTITION
                            Formatear una partición flash.
 set_active SLOT            Establecer la ranura activa.
 oem [COMANDO...]           Ejecutar comando específico de OEM.

imagen de arranque:
 arranque KERNEL [RAMDISK [SEGUNDO]]
                            Descargar y arrancar kernel desde RAM.
 flash:raw PARTITION KERNEL [RAMDISK [SEGUNDO]]
                            Crear imagen de arranque y flashearla.
 --cmdline CMDLINE          Sobrescribir línea de comandos de kernel.
 --base ADDRESS             Establecer dirección base del kernel (por defecto: 0x10000000).
 --kernel-offset            Establecer desplazamiento de kernel (por defecto: 0x00008000).
 --ramdisk-offset           Establecer desplazamiento de ramdisk (por defecto: 0x01000000).
 --tags-offset              Establecer desplazamiento de etiquetas (por defecto: 0x00000100).
 --page-size BYTES          Establecer tamaño de página flash (por defecto: 2048).
 --header-version VERSION   Establecer versión de encabezado de imagen de arranque.
 --os-version MAJOR[.MINOR[.PATCH]]
                            Establecer versión de SO de imagen de arranque (por defecto: 0.0.0).
 --os-patch-level YYYY-MM-DD
                            Establecer nivel de parche de seguridad de SO de imagen de arranque.

Android Things:
 escenario IN_FILE              Enviar archivo dado al escenario para el siguiente comando.
 obtener_escenificado OUT_FILE        Escribe datos escenificados por el último comando en un archivo.

opciones:
 -w                         Limpiar datos de usuario.
 -s SERIAL                  Especificar un dispositivo USB.
 -s tcp|udp:HOST[:PUERTO]     Especificar un dispositivo de red.
 -S TAMANO[K|M|G]             Dividir en archivos dispersos no más grandes que TAMANO.
 --slot RANURA                Usar RANURA; 'all' para ambas ranuras, 'other' para
                            ranura no actual (por defecto: ranura activa actual).
 --set-active[=RANURA]        Establece la ranura activa antes de reiniciar.
 --skip-secondary           No flashear ranuras secundarias en flashall/actualización.
 --skip-reboot              No reiniciar dispositivo después de flashear.
 --disable-verity           Establecer deshabilitar-verificación al flashear vbmeta.
 --disable-verification     Establecer deshabilitar-verificación al flashear vbmeta.
 --wipe-and-use-fbe         Habilitar encriptación basada en archivos, borrando datos de usuario.
 --sin_bufferear               No hacer buffering de entrada o salida.
 --verbose, -v              Salida detallada.
 --versión                  Mostrar versión.
 --ayuda, -h                 Mostrar este mensaje.

5voto

jbjon Puntos 771

Existen dos tipos de bloqueos de cargador de arranque en los dispositivos Huawei: Bloqueo FB y Bloqueo de USUARIO.

El Bloqueo de USUARIO restringe las particiones estándar como sistema, datos, recuperación, kernel, etc., pero no las particiones críticas del cargador de arranque cuyos nombres no recuerdo. (Así que no puedes editarlas incluso si realizas un Desbloqueo de USUARIO) El Bloqueo de USUARIO es lo que requiere el código de desbloqueo del cargador de arranque para desbloquear. Además, hay algunos comandos de hardware ocultos que se utilizan para una depuración seria como JTAG, que no pueden ser accesibles con un Desbloqueo de USUARIO.

El Bloqueo FB se utiliza para proteger estas funciones restringidas. Un Desbloqueo de FB funciona como una llave para todo el Fastboot. (Así que si realizas un Desbloqueo de FB, entonces puedes desbloquear todo lo que hace el Desbloqueo de USUARIO, y otras cosas restringidas) El Bloqueo FB está destinado a ser utilizado por el personal de Huawei para reparaciones. NO se supone que deba ser desbloqueado por los usuarios, pero de todas formas es posible, como descubrí después de investigar bastante, pero no funciona en las versiones de firmware muy nuevas como EMUI 8.2 o el parche de seguridad de julio/agosto. Ha sido utilizado durante años por software de pago para realizar el Desbloqueo de FRP, restauración completa del sistema, e incluso se puede utilizar para obtener un código de cargador de arranque para el Desbloqueo de USUARIO. Un Desbloqueo de FB suele ser temporal.

El método de Desbloqueo de FB ha sido mantenido en secreto durante bastante tiempo, pero vi recientemente que se filtró en XDA. Puedes verlo aquí. Esa guía también cubre un método para extraer la partición NVME para un Desbloqueo de FB permanente. Si no deseas un Desbloqueo de FB permanente, pero prefieres solo un Desbloqueo de USUARIO normal, puedes omitir los pasos después del 3, pero en su lugar, cuando arranques en TWRP, puedes usar:

su -c "grep -m1 -aoE 'WVLOCK.{14}[0-9]{16}' /dev/block/mmcblk0p7 |grep -aoE '[0-9]{16}'"

Eso te dará como resultado el código de desbloqueo del cargador de arranque que puedes utilizar para un Desbloqueo de USUARIO estándar. ¡Buena suerte!

2 votos

¿La desbloqueo de FB causará una eliminación de datos de usuario? Según el artículo mencionado en mi publicación, no debería, pero no estoy seguro. Además, si el desbloqueo de FB es "más poderoso" que el desbloqueo de usuario, ¿por qué si logras desbloquear FB todavía te importaría el desbloqueo de usuario?

1 votos

FB Unlock no causaría un borrado de datos de usuario. Añadí esa parte porque FB Unlock es tan poderoso que incluso puede convertir tu dispositivo en un ladrillo de hardware completo, al ejecutar un comando incorrecto. Si tienes cuidado con los comandos que elijas ejecutar, entonces el desbloqueo permanente de FB no debería ser un problema.

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