Descarga la aplicación para disfrutar aún más
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
Compartir