Logo Studenta

EmmcRepairSoftware V4

¡Este material tiene más páginas!

Vista previa del material en texto

Hazlo, si te da miedo, hazlo con miedo. 
Arriésgate, aun cuando puedas fallar. 
 
 
 
 
 
 
 
 
 
 
 
SISTEMA OPERATIVO 
Un sistema operativo es el software principal o conjunto de programas de un sistema informático que 
gestiona los recursos del hardware y provee servicios a los programas o aplicación del software. 
 
 
ERRORES LEVES 
Son los errores comunes en un Sistema Operativo, por lo general se producen por errores en la partición 
USERDATA, los síntomas más comunes son: 
Teléfono lento, se congela, no procesa rápido las órdenes. Las funciones del celular han sido afectadas ( No 
llama, no guarda mensajes, no descarga, no instala aplicaciones, se cierran o no se abren las APP, etc.). 
Logo pegado animado (Logo 2). 
Estos errores por lo general se resuelven fácilmente con una Restauración de Fabrica ya sea desde el menú 
de Ajustes o desde su Recovery (Wipe). 
ERRORES GRAVES 
Son errores más complejos donde ya involucra el análisis en la parte física del dispositivo o procesos 
avanzados de software los síntomas más comunes son: 
Error de Logo pegado (Logo 1). Error Solo vibra, error LED encendido. Error de Arranque (Dispositivo 
enciende pero solo aparece un mensaje de Error o entra en modo Recovery), el momento de flashear o 
restaurar no sufre ningún cambio, al momento de flashear muestra mensajes de errores, o al hacer un mal 
proceso de software el equipo termina apagándose. 
 
 
 
 
 
 
 
 
 
 
 
Proceso de arranque de Android 
Comprender el proceso de arranque de un dispositivo Android nos ayudará a comprender otras técnicas 
forenses que implican interactuar con el dispositivo en varios niveles. Cuando un dispositivo Android se 
enciende por primera vez, hay una secuencia de pasos que se ejecutan, lo que ayuda al dispositivo a cargar el 
firmware, el sistema operativo, los datos de la aplicación, etc., necesarios en la memoria. 
Asi es la secuencia de pasos involucrados en el proceso de arranque de Android: 
1. Boot ROM. Ejecución del código ROM de arranque 
2. Bootloader. El gestor de arranque 
3. Android Kernel 
4. Init. El proceso de inicio 
5. Zygote y Dalvik 
6. System Server. El servidor del sistema 
 
BootROM Ejecución del código ROM de arranque 
Boot ROM contiene el código inicial que se ejecuta cuando presionamos el botón de encendido. Es una ROM de 
máscara o unidad flash protegida contra escritura, integrado en el chip de la CPU, Lo que hace este código es 
inicializar el resto de hardware del dispositivo. Hecho esto, busca la partición de arranque, que suele estar en la 
memoria NAND, y copia el Bootloader en la RAM. 
 
 
 
Bootloader El gestor de arranque 
Es un código que se ejecuta antes del sistema operativo. Configura un entorno mínimo en el que se pueda 
ejecutar el sistema operativo y comenzar el proceso de inicio. Por lo tanto, el Bootloader no es específico de 
Android, es un código que contiene las instrucciones que le indican a un dispositivo cómo iniciar y encontrar 
el núcleo del sistema (KERNEL). El Bootloader es el lugar donde el fabricante pone sus bloqueos y 
restricciones. Lo más importante, el Bootloader verifica la integridad de las particiones de arranque y 
recuperación antes de mover la ejecución al núcleo del sistema (KERNEL). El Bootloader proporciona 
acceso a otros modos de arranque, como flash/fastboot y recovery. 
 
 
 
 
 
 
 
 
 
 
ANDROID KERNEL 
Es el corazón del sistema operativo Android y es responsable de la gestión de procesos, la gestión de la 
memoria y la aplicación de la seguridad en el dispositivo. Después de cargar el núcleo iniciará la caché de 
configuración, la memoria protegida, la programación, cargará los controladores, inicia los demonios del 
kernel, inicia “ root filesystem” el sistema de archivos raíz (rootfs). Cuando el KERNEL finaliza la 
configuración del sistema, lo primero que hace es buscar "init" en los archivos del sistema e iniciar el 
proceso. 
 
 
INIT El proceso de inicio 
Init es el primer proceso que comienza y es el proceso raíz de todos los demás procesos, El proceso Init 
buscará un script llamado (init.rc) en el Sistema de Archivos ( File Sytem), este contiene toda la 
configuración inicial del sistema. Aquí iniciará los procesos de servicio del sistema, finalmente se puede ver 
el logotipo de Android en la pantalla. 
 
Zygote y Dalvik 
El Zygote es uno de los primeros procesos de inicio creado después del arranque del dispositivo. Inicializa la 
máquina virtual Dalvik e intenta crear varias instancias para admitir cada proceso de Android. Zygote es un 
proceso VM que comienza cuando el sistema arranca. Cuando app_process inicia Zygote, primero crea la 
VM Dalvik y luego llama al método main() de Zygote. Zygote recibe una solicitud para iniciar una 
aplicación a través de /dev/socket/zygote. Una vez que sucede, desencadena una llamada fork (). Cuando un 
proceso es una bifurcación, crea un clon para sí mismo. Se replica en otro espacio de memoria. Esto se hace 
de manera bastante eficiente. Cuando esto le sucede a Zygote, crea un nuevo Dalvik VM exacto y limpio 
como un hilo, precargado con todas las clases y recursos necesarios que cualquier aplicación necesitará. Esto 
hace que el proceso de crear una VM y cargar recursos sea bastante eficiente. Permite compartir código en la 
máquina virtual Dalvik, lo que ayuda a lograr un tiempo de inicio mínimo. 
 
 
 
 
System Server El servidor del sistema 
Después de que zygote precarga todas las clases y recursos necesarios, inicia el servidor del sistema. Lo 
primero que sucede es que el servidor cargará una biblioteca nativa llamada android_servers que 
proporciona interfaces para funcionalidades nativas. Luego llama al método init nativo que configura los 
servicios nativos. Luego crea el hilo del servidor. Este hilo iniciará los servicios restantes en el sistema de 
acuerdo con el orden de inicio necesario. Cada servicio se ejecuta en un hilo Dalvik separado en el 
SystemServer. Una vez que los Servicios del sistema están funcionando en la memoria, Android ha 
completado el proceso de arranque. En este momento, se activará la acción de transmisión estándar 
"ACTION_BOOT_COMPLETED". Después de esto, el dispositivo muestra la pantalla de inicio y está listo 
para interactuar con el usuario. 
 
 
 
 
 
 
TRASMISION DE DATOS USB 
Puerto Tipo V8 
 
 
 
 
 
Puerto Tipo C 
 
 
 
Pinout Trasmisión de Datos 
 
 
 
 
 
 
 
 
 
 
Esquemático de las líneas de datos y de carga 
 
 
 
El circuito del puerto USB es simple. USB_DM y USB_DP son las líneas de datos. VUSB es el señal de 
voltaje, que es 5V. 
 
 
 
 
 
 
 
 
Modo ADB 
Android Debug Bridge (adb) es una herramienta versátil de línea de comandos que le permite comunicarse 
con un dispositivo. El comando adb facilita una variedad de acciones del dispositivo, como instalar y 
depurar aplicaciones, y brinda acceso a un shell de Unix que puede usar para ejecutar una variedad de 
comandos en un dispositivo. 
 
 
 
Modo Fastboot 
Fastboot es un protocolo que se puede usar para volver a flashear particiones en el dispositivo (actualizar el 
sistema de archivos flash (filesystem) en dispositivos Android). Es esta pequeña herramienta que viene con 
el SDK de Android (Software Developer Kit), que es una alternativa al modo de recuperación para realizar 
instalaciones y actualizaciones. 
 
 
 
 
 
 
 
 
EDL Mode (Qualcomm “QDLoader9008”) 
El modo de descarga de emergencia (EDL) - Deep Flash Mode (Modo de Flash Profundo) es una función de 
Qualcomm que puede permitirle recuperar datos de un dispositivo y realizar tareas como desbloquear o 
actualizar el dispositivo. 
 
Maneras de conectar en modo EDL: Cable EDL - Pinout EDL - Modo Fastboot 
El cable universal EDL (Modo de flash profundo) microUSB permite poner el teléfono en un modo de flash 
profundo. Al usar el cable EDL Deep Flash, puede trabajar con teléfonos dañadosy entrar al modo 9008. 
 
 
Pinout EDL son puntos de Test o de prueba específicos para forzar al equipo a entrar en Modo de Flash 
Profundo (Realizamos el puente entre los dos puntos y conectamos el cable USB) 
 
 
 
 
Por medio de modo Fastboot y línea de Comandos forzamos a entrar en Modo de Flash Profundo 
(Conectamos en modo Fastboot al PC y ejecutamos Fastboot_edl) 
 
 
Huawei USB COM (Hisilicon) 
 
 
 
 
 
 
 
 
 
Análisis de un Equipo Apagado (Muerte Súbita o Mal Proceso de Software) 
 
Cuando un equipo apagado conectamos a la fuente de alimentación. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Cuando conectamos un equipo al Pc el nos detecta un Dispositivo desconocido cuando no tenemos 
instalados los driver correspondientes. 
 
 
 
 
 
 
 
 
Puerto de Datos Iphone 
 
 
 
 
 
 
 
Errores Itunes
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
EMMC 
EMMC, embedded multimedia card - tarjeta multimedia integrada, es una memoria flash NAND 
administrada y avanzada para aplicaciones móviles y aún es la solución de memoria dominante para muchos 
productos electrónicos de consumo, como tabletas, teléfonos inteligentes, sistemas GPS, lectores 
electrónicos y otros dispositivos de computación móviles. 
 
EMCP 
EMCP, Embedded Multi-Chip Package - Paquete integrado de chips múltiples, integra NAND Flash y 
Dynamic Random Access Memory (DRAM), en un solo chip. 
 
 
UFS 
UFS Universal Flash Storage - Almacenamiento flash universal, abreviado oficialmente como UFS, es una 
especificación de almacenamiento flash para cámaras digitales, teléfonos móviles y dispositivos electrónicos 
de consumo. Su objetivo es brindar mayor velocidad de transferencia de datos y mayor confiabilidad al 
almacenamiento en memoria flash 
 
UFS tiene una cola de comandos que ordena los comandos que deben llevarse a cabo. Por lo tanto, se 
pueden abordar múltiples comandos al mismo tiempo y el orden de las tareas se puede cambiar en 
consecuencia. eMMC, sin tener una cola de comandos, debe esperar a que se complete un proceso antes de 
pasar al siguiente. 
 
 
 
 
JTAG 
(Joint Test Action Group) es un método de adquisición de datos de nivel avanzado que implica conectarse a 
los puertos de acceso de prueba (TAP) en un dispositivo e indicar al procesador que transfiera los datos sin 
procesar almacenados en los chips de memoria conectados. 
 
Los pines del conector son: 
TDI (Entrada de Datos de Testeo) 
TDO (Salida de Datos de Testeo) 
TCK (Reloj de Testeo) 
TMS (Selector de Modo de Testeo) 
TRST (Reset de Testeo) es opcional. 
SRST (Reset del sistema) 
GND (Tierra) 
 
 
 
 
 
 
 
 
 
ISP (In-System Programming) 
Es la práctica de conectarse a un chip de memoria flash eMMC o eMCP con el propósito de programarla o 
descargar el contenido completo de la memoria del dispositivo. Las memorias eMMC y eMCP son el 
estándar en la mayoría de teléfonos inteligentes, y la práctica del ISP permite realizarle procesos sin tener 
que desoldar la memoria 
 
Los puntos de conexión son: 
Vcc = 2,8V (Es la fuente de alimentación de la NAND Flash y de su interfaz, usualmente es de 2.85V) 
VccQ = 1,8V (Es la fuente de alimentación de la interfaz MMC y para el núcleo del controlador MMC, 
generalmente es de 1.8V) 
CMD = Linea Comandos 
DAT0 = Datos 0 (Transferencia de datos Línea BiDireccional) 
CLK = Linea de Reloj 
Vss = (comúnmente conocido como GND) 
 
 
 
 
 
 
 
 
 
CHIP OFF (Pinout Direct Emmc) 
La práctica del Chip Off permite realizarle procesos, desoldando de la placa base el chip de memoria, donde 
utilizaremos accesorios adicionales como son las Moorc o adaptadores de ISP 
 
Los puntos de conexión son: 
Vcc = 2,8V (Es la fuente de alimentación de la NAND Flash y de su interfaz, usualmente es de 2.85V) 
VccQ = 1,8V (Es la fuente de alimentación de la interfaz MMC y para el núcleo del controlador MMC, 
generalmente es de 1.8V) 
CMD = Linea Comandos 
DAT0 = Datos 0 (Transferencia de datos Línea BiDireccional) 
CLK = Linea de Reloj 
Vss = (comúnmente conocido como GND) 
 
 
 
 
 
 
 
 
 
 
 
ADAPTADORES ISP / JTAG / MOORC / ADAPTADORES USB-CARD 
 
 
 
 
 
 
 
Cuando levantamos una memoria para saber si estamos bien y no malogramos la PCB, conectamos al PC 
por medio de cable USB y este nos detectara el driver del Procesador. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Pinout Chip Emmc 
Son los puntos de comunicación que tiene el chip (Memorias) de la misma manera se puede programar 
mediante un adaptador 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Chip Emmc Capas 
 
 
 
eMMC Block Diagram 
 
 
 
 
 
 
 
 
 
 
 
 
COMPATIBILIDAD DE EMMC 
Aquí utilizaremos: 
 PhoneMicroDB 
 
 EMMC Dongle 
 
 
 
 Página web www.emmchelper.com 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
http://www.emmchelper.com/
 
 
DUMP 
Los dupms son los archivos de reparación que necesitamos para poder recuperar las particiones de la 
memoria EMMC. Son cuatro archivos: 
UserArea (ROM1 Main User Date) 
Boot1 (ROM2 Boot Partition 1) 
Boot2 (ROM3 Boot Partition 2) 
Ext_csd (El registro CSD extendido define las propiedades de EMMC y los modos seleccionados) 
 
 
 
 
 
 BOOT1: esta partición contiene la imagen del cargador de 
arranque U-Boot que se ejecuta cuando se enciende el dispositivo. Inicia 
el sistema operativo instalado y permite algunas configuraciones de 
dispositivos. 
 BOOT2: contiene el entorno U-Boot y su copia redundante. 
 RPMB: Esta es la partición de bloque de memoria protegida 
contra la reproducción, utilizada para administrar datos de forma 
autenticada y protegida contra la reproducción. 
 USER DATE: mantiene el sistema operativo dividido en las 
siguientes particiones lógicas. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Particiones (Android) 
/boot: La partición /boot es la que se encarga de que el móvil “arranque”. En ella se encuentra el KERNEL 
(que vendría a ser el cerebro del SO) y la RAMDISK (una pequeña memoria virtual que sirve para ejecutar 
algunos procesos de encendido y configuración). Si se daña esta partición es como si a un coche le quitas el 
mecanismo de encendido: no arrancará. 
 
/system: Contiene todos los archivos del sistema operativo, es la interfaz visual de Android, las apps del 
sistema. Básicamente, se podría decir que contiene todo lo que ves en el móvil cuando lo enciendes por 
primera vez. 
 
/recovery: Todos los sistemas operativos tienen una partición de recuperación que sirve para “casos de 
emergencia”. En pocas palabras, la partición /recovery es como una especie de /boot alternativa, que 
contiene una consola con comandos de mantenimiento: borrar memoria, restaurar de fábrica, cargar archivos 
por ADB. También se puede sustituir este recovery de fábrica por un otro avanzado, los famosos “Custom 
Recovery” que cuentan con muchas más funciones, y los más famosos son ClockworkMod o TWRP. 
 
/data: Contiene todos los datos del usuario, es decir, apps que hayas instalado, archivos que hayas 
descargado, contactos, mensajes, ajustes de sistemas, desbloqueo, huellas dactilares, etc. Es lo que la gente 
conoce como “memoria interna”. Hacer un wipe o borrado de esta partición es lo que llamamos un 
reestablecimiento de los datos de fábrica o en el recovery aparece como 'wipe data/factory reset'. 
 
/cache: Almacena los datos y archivos a los que tanto tú, como el sistema operativo Android, accedes a 
menudo. Si te pasas el día en Instagram, por ejemplo, la memoria caché estará llena de fotos de perfil, fotosy vídeos que hayas visto, etc. ¿Para qué? Para que no tengas que volver a descargarlas y ahorres tiempo y 
recursos. En el recovery aparece como 'wipe cache partition'. 
 
 
PARTICIONES DEL FIRMWARE SAMSUNG 
BL (Bootloader): esta opción se utiliza para actualizar el Bootloader del dispositivo. 
 
 
 
 
AP (Application Processor o PDA): representa la partición del sistema (Partición de Android) 
 
 
 
 
CP (procesador central): lo llamamos módem. 
 
 
CSC (Personalización de software para el consumidor): Contiene los paquetes de software específicos para 
esa región, la marca del operador y la configuración de APN. 
 
 
PIT (Tabla de información de partición): Solo la necesita si arruina la tabla de partición o si el firmware lo 
requiere específicamente debido a un cambio en el diseño de la tabla de partición. 
 
La tabla de información de particiones es uno de los componentes más importantes de un firmware de 
Samsung. El archivo PIT que contiene toda la información relacionada con diferentes particiones en un 
dispositivo Samsung. Los archivos PIT le dicen a (Odin) cuánto tamaño de bloque y recuento de bloques 
debe asignar a particiones específicas al actualizar un firmware. 
sboot.bin 
up_param.bin 
cm.bin 
boot.img 
recovery.img 
system.img 
modem.bin 
modem_debug.bin 
cache.img 
odm.img 
hidden.img 
vendor.img 
keystorage.bin 
efs.img 
userdata.image 
 
 
 
 
 
La actualización de un archivo PIT incorrecto en un dispositivo Samsung puede dificultarlo (malograr el 
sistema de arranque). Por lo tanto, es muy importante que obtenga el archivo PIT correcto. 
No puede, por ejemplo: 
 Flashear el PIT destinado para un AT&T Galaxy S10 en un Verizon Galaxy S10. 
 Tampoco puede flashear un PIT SM-G975F (S10 Plus unlocked) en un modelo SM-G975U 
(T-Mobile S10 Plus). 
 Del mismo modo, la actualización del PIT de un modelo de dispositivo 8 GB en la variante de 16 GB 
o viceversa. 
 
Procesadores Qualcomm Tabla de Pariciones 
Aquí necesitamos el DUMP particionado el cual contiene un archivo de configuración con extensión XML 
el cual particiona el USERDATA

Continuar navegando