Documentos de Académico
Documentos de Profesional
Documentos de Cultura
re
er
El libro del eMMC
H
(eMMC, UFS & NAND)
to
es
rnn
EEr
re
( eMMC, UFS & NAND)
er
H
Antonio Martinez Ruvalcaba
(Ernesto Herrera)
to
es
rnn
EEr
re
Antonio Martinez Ruvalcaba mejor conocido en las redes sociales co-
mo “Ernesto Herrera” o “Quetzaltzin Unlocker”, es un técnico espe-
cializado en software que comenzó su trayecto en la telefonía en el
er
año 2008 en la ciudad de Matamoros, Tamaulipas, Mexico. Realiza
trabajos tanto de software como de hardware, siendo el primero su
fuerte, ah realizado procedimientos de Jtag desde que estaba RIFF
H
box y ATF, reviviendo equipos como el Samsung galaxy s2 cdma que
era muy común que lo mataran por mal root. Realizaba unlock de lu-
mias mediante Jtag con ATF nitro, unlock de Motorola mediante
to
do procedimientos eMMC.
rnn
EEr
rraa
Capítulo 3 UFS ........................................................................................ 92
Capitulo Especial ................................................................................... 106
Agradecimientos ................................................................................... 111
re
er
H
to
es
rnn
EEr
re
er
CONOCIMIENTOS GENERALES
H
to
es
rnn
EEr
13
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
CONOCIMIENTOS GENERALES
rraa
Antes de comenzar a realizar procedimientos direct eMMC o
algún otro proceso, es importante conocer como funciona un teléfono
re
en si mismo. Un Telefono en la actualidad es mas que eso, ya no se
usa específicamente para su función principal que es la de hacer y re-
cibir llamadas ni la de enviar y recibir mensajes, ahora, incluye un
er
sinfín de funciones adicionales, tales como, tomar fotografías, repro-
ducir tu música favorita, grabar videos, almacenar tu agenda, dar la
hora…en fin, todo en un solo dispositivo. Pero, ¿realmente sabemos
H
como funciona nuestro dispositivo internamente? Debemos com-
prender el funcionamiento de un equipo tanto en software como en
hardware, al menos los conceptos básicos para poder realizar proce-
to
dimientos un tanto mas avanzados como son las conexiones ISP para
recuperación de equipos muertos por daño en boot, es por ello, que
en este primer capitulo, analizaremos un poco sobre las particiones
es
ma de hardware.
Por lo tanto, lo invito a dar una buena leida y si es posible, vol-
ver a leer esta parte cuantas veces sea necesario para poder compren-
der todo esto sin mayor problema.
14
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
rraa
re
er
H
HARDWARE
to
es
rnn
EEr
15
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
ELECTRONICA DIGITAL
rraa
también se utiliza en algunos sectores del dispositivo, sin embargo,
como estamos enfocados en el funcionamiento única y exclusiva-
mente de la memoria y el procesador, nos enfocaremos en la digital.
re
La electrónica en general, es el comportamiento de la electricidad en
los materiales, y al referirnos a electrónica digital, nos referimos al
er
paso de la corriente eléctrica en estados discretos, en circuitos con
elementos semiconductores, los cuales permiten convertir la corrien-
te continua en bits, para procesar información, ya que, en electrónica
H
digital, solo se conocen dos estados lógicos, en los que hay o no hay
corriente eléctrica. Estos estados lógicos son 1 (verdadero, alto, en-
cendido, es decir, si hay flujo de corriente) y 0 (falso, bajo, apagado,
es decir, no hay flujo de corriente), los cuales utilizan la lógica bina-
to
de alimentación del dispositivo, el cual puede ser 3.3v o 5v, esto de-
pendiendo de la familia lógica que se este utilizando, este puede ser
TTL o CMOS.
rnn
16
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Las compuertas lógicas, en dispositivos electrónicos como los
Smartphone, son circuitos integrados hechos a base de miles o millo-
nes de transistores, los cuales, tienen la función de convertir una can-
tidad de bits en un orden y sacarlos en otro.
Las principales compuertas lógicas son: NOT, AND, XOR y OR, es-
tas compuertas pueden combinarse entre ellas para obtener otros re-
rraa
sultados deseados, a esta combinación de compuertas lógicas, se le
denomina flip-flops.
Podemos combinar, por ejemplo, NOT y AND formando NAND, o
combinar NOT y OR, formando NOR.
re
SISTEMAS DE NUMERACION
er
Nosotros estamos acostumbrados a utilizar en la vida cotidiana un
sistema de numeración decimal, pero también exiten otros, que son
H
utilizados sobre todo en electrónica digital, estos son:
- Binario
- Decimal
- Hexadecimal
to
digital, se le conoce como binario o bit. Pero un solo bit no nos dice
nada, se requiere un conjunto de bits para formar un carácter, especi-
ficamente 8bits. Los bits se agrupan forzosamente en conjuntos de 8,
para poder formar un byte, un byte forma una palabra (A, B, C, etc),
un carácter ($, %, &) o un símbolo (+, -, *).
17
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
En el sistema binario, siempre usamos los múltiplos 2, debido a que
solo podemos tener dos valores posibles, 0 y 1, y, usando la formula
B=Ax2, explicaremos lo siguiente:
1 Byte = 8 bits
2 Bytes = 16 bits
rraa
¿Porque?
re
no de 10, como se hace en el sistema decimal o de 16 como se hace
en el sistema hexadecimal, se multiplica por dos, el contenido de ca-
er
da byte, de esta manera obtenemos:
18
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Entonces, se forman en esos grupos de 8bits, es decir, 1byte, y, para
formar una palabra, se ocupa un conjunto o agrupamiento de bytes,
los cuales, formaran números hexadecimales, que a su vez, un
agupamiento de estos, formaran instrucciones de procesamiento.
A los bytes se les conoce también como “octetos”, por contener 8
rraa
bits, sin embargo, no siempre es asi, también pueden contener 6 o 9
bits. La definición será en base al campo al que nos estemos refirien-
do, por ejemplo, en el lenguaje de programación “JAVA”, el byte
debe tener siempre, forzosamente 8 bits.
re
Tomando lo anterior como referencia, podemos decir, que si un ar-
er
chivo de texto contiene 3000 bytes, nos estamos refiriendo a que, ese
archivo de texto, contiene 3000 palabras o caracteres, si tiene 4000
bytes, entonces tendría 4000 letras o caracteres.
H
Pero debido a que el byte es una unidad muy pequeña de almacena-
miento, se utilizan múltiplos de el para referirse a un tamaño en es-
pecifico, ya que, no es lo mismo decir que tiene 3000 bytes a decir
que tiene 3 kilobytes.
to
19
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
UNIDADES DE INFORMACION
rraa
minima de almacenamiento que puede tener un dispositivo digital, y
este bit puede ser un cero o un uno lógico, en el cual, mencionamos
que un cero seria un voltaje bajo o igual a cero o GND y el estado al-
to o uno, seria el que se acerque mas al voltaje de la fuente de ali-
re
mentacion, que en el caso de los Smartphone, vendría a ser 2.8 o
3.3v.
er
Tal y como medimos la distancia en metros, los liquidos en litros, el
peso en kilos y el tiempo en horas, utilizamos los bytes para medir la
capacidad de almacenamientode información, en un dispositivo digi-
H
tal.
Dentro de nuestro dispositivo móvil, la información se almacena y se
transmite por medio de un código que usa dos estados, el 1 y el 0, a
este código se le conoce como binario.
to
Bien, tenemos que conocer las unidades que se utilizan en los siste-
mas digitales para almacenar datos, aquí pondré una tabla con dicha
información.
20
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
BIT: Es la unidad minima de almacenamiento, este puede ser un 0 o
un 1.
NIBBLE (4 BITS): Este esta conformado por 4 bits y es la base del
sistema hexadecimal.
BYTE (2 NIBBLE – 8BITS): Es la unidad básica de almacenamiento
utilizada en informatica, y esta compuesta por 8bits, de esta manera,
rraa
un conjunto de bytes, es decir, de múltiplos de 8 bits, conforman un
carácter. A este también se le denomina “octeto”, ya que esta con-
formado por 8 bits.
WORD (2 BYTES, 4 NIBBLES, 16BITS)
re
DWORD (2 WORD, 4 BYTES, 8 NIBBLES, 32 BITS)
KILOBYTE (256 DWORDS, 512 WORDS, 1024 BYTES,
er
2048NIBBLES, 8192 BITS): En la actualidad, existe la controversia
por el prefijo KILO, ya que, este hace referencia al sistema decimal y
no al binario, y como un kilobyte no contiene 1000 bytes, si no,
H
1024, muchos opinan que no debería denominarse kilobyte, si no,
kibibyte o kiB.
MEGABYTE (1,024KILOBYTES, 262,144 DWORDS, 524,288
WORDS, 1, 048,576 BYTES, 2, 097,152 NIBBLES, 8, 388,608
to
BITS.
GIGABYTE (1,024 MEGABYTES, 1,048,576 KILOBYTES,
es
Y asi sucesivamente.
Es por esta razón, que en el sistema de almacenamiento, se utiliza el
sistema hexadecimal para referirse a las direcciones dentro de la
EEr
21
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Como cualquier dispositivo electrónico, requerimos de tres ac-
ciones básicas para que este pueda funcionar, esta son; Alimentación,
procesamiento de datos y almacenamiento de datos, tanto permanen-
tes como temporales. En el caso de los teléfonos, tenemos los si-
guientes circuitos que realizan dichas tareas;
rraa
- PMU, PMIC o IC de power (circuito que administra energía)
- Procesador (Procesa datos e instrucciones)
- Memoria (circuito de almacenamiento)
re
Estos son los tres circuitos básicos que necesitamos conocer para
nuestro trabajo.
er
Por el lado de los componentes, vamos a trabajar muy frecuentemen-
te con; Condensadores y Resistencias, principalmente.
H
Expliquemos un poco sobre los tres circuitos principales.
to
es
rnn
EEr
22
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
POWER MANAGEMENT UNIT (PMU)
rraa
nuestro dispositivo al resto de nuestro SoC.
Para ello, utiliza varios reguladores LDOs y BUCKs, que se en-
cargan de reducir o aumentar el voltaje o tensión electrica que re-
quieran los componentes activos de la tarjeta, según lo requieran.
re
Puesto que cada circuito en la tarjeta requiere mayor o menor voltaje
que el suministrado por la batería, dependiendo sus especificaciones
y sus funciones.
er
Este PMIC toma la energía de la batería, que viaja atravez de la
línea VBAT, la recibe y la distribuye de manera ordenada.
H
A grandes rasgos y, siendo inespecíficos, explicaremos como
funciona este circuito para encender tu dispositivo.
Cuando tú pones la batería en tu teléfono, hay un voltaje presen-
te sobre la línea VBAT (en muchos equipos nuevos cambia el nom-
to
23
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
pertar al oscilador, para que este a su vez comience a sincronizar las
salidad de voltaje del pmic. Una vez que el oscilador se activa, co-
mienza la magia.
rraa
re
er
H
Es de suma importancia conocer, al menos de manera general, el
funcionamiento de estos circuitos, ya que de esta manera, será como
comprendamos el uso y manejo de las cajas relacionadas a eMMC o
de programación de distintas memorias. No profundizaremos en el
to
PROCESADOR
EEr
24
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
como agregar, quitar y poner, usando compuertas lógicas y flip-flops
(analizados anteriormente)
Existen diferentes tipos de procesadores, los mas comunes re-
cientemente son: Qualcomm, Exynos, MediaTek, Broadcomm,
Spreadtrum, HiSilicon.
Cada uno de ellos maneja un chipset, por ejemplo, en Qual-
rraa
comm podemos encontrar chipset “MSM8909” o “MSM8953”,
“MSM8974” etc. Al referirnos a MSM (Mobile Station Modem), nos
referimos a que dentro del circuito físico de nuestro procesador, tam-
bien se encuentra nuestro BaseBand, por lo tanto, no encontraremos
re
ningún circuito extra que tenga esta función.
er
H
to
es
cion normal de la tecnología, por lo que ahora, dentro del mismo cir-
tuito, existen areas de imagen (GPU), de Audio, de BaseBand y
muchas otras areas mas, por lo que ya es mas que solo un circuito
encargado de realizar operaciones lógicas y aritméticas.
25
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Memoria Volatil
rraa
tadora, encontramos diferentes tipos de memoria RAM, una mas
nueva que la otra, asi como DDR3 y DDR4, en nuestros dispositivos
encontramos a nuestra memoria RAM identificada como Low-Power
re
Double Data Rate (LPDDR). De esta manera, podemos encontrar
LPDDR1, LPDDR2, LPDDR3, LPDDR4 y la más reciente
LPDDR5. Siendo entre más nueva, obviamente mas actualizada y
er
con muchas nuevas mejoras. Para el caso de nuestro trabajo, no re-
querimos saber mucho al respecto, ya que, las cajas que utilizaremos,
solo se enfocan en la memoria no volátil.
H
Memoria No-Volatil
to
26
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
de manera permanente sin necesidad de energía, a diferencia de la
RAM, por lo cual, la convirtió en una memoria ideal para almacenar
datos, sin embargo, en la actualidad ya no se utiliza, a pesar de ello,
le seguimos denominando ROM a la memoria o al sistema operativo
como tal, siendo que esto es incorrecto.
Despues de esa, surgió la memoria PROM (Programmable Read
rraa
Only Memory), esta a diferencia de la ROM, no se programa en la
fabrica, si no, que la programa el usuario una sola vez y de manera
permanente.
La siguiente memoria fue la EPROM (Erasable Programmable
re
Read Only Memory), la característica de esta memoria, es que se
puede borrar y escribir nuevamente, mediante un proceso algo tedio-
ta.
er
so pero funcional. Para borrar la información se usaba luz ultraviole-
27
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
pacio resultaba muy costoso y nada redituable, por lo cual, se pensó
en una tecnología nueva, la cual fue denominada NAND.
Una de las principales diferencias entre las memorias NOR y NAND,
es que en las NOR, se podía acceder a un byte o bit en especifico,
haciendo la tarea de programarla o borrarla muy eficiente, puesto que
si exitia algún error en un sector o celda de memoria, era fácil de en-
rraa
contrar porque te ibas directo al problema, pero también representaba
perdida de tiempo y dinero, ya que al surgir sistemas operativos mu-
cho mas grandes, esta tarea se volvia gigantesca. En cambio las me-
morias NAND, no acceden a bytes, si no, a un grupo de estos,
re
denominados “block” (512bytes, que es el grupo más pequeño de
unidad de datos al que puede acceder un sistema operativo en una
er
memoria NAND de manera fisica, ya que, de manera virtual, un sis-
tema operativo puede acceder a la unidad de datos mas pequeña de-
nominada “pagina” (4 bytes).
H
to
es
rnn
EEr
28
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
-MLC (Multi Level Cell)
-TLC (Triple Level Cell)
-QLC (Quad Level Cell)
rraa
Las SLC almacenan 1 bit, MLC 2 bits, TLC 3 bits y QLC 4 bits.
re
En las RAW NAND, se requiere de un controlador externo a la me-
er
moria, es decir, al circuito, para poder administrar el sector de
NAND, tal como errores, basura y otras cosas. Por lo cual requería
de mayores puntos de conexión y mayor desgaste para el procesador,
H
ya que, era este, el que se encargaba de toda esa administración.
29
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
pondiente. Es un encapsulado común en los dispositivos que utilizan
componentes SMD, precisamente como los teléfonos.
rraa
re
er
H
Componentes SMD
30
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Asi es como luce un condensador o capacitos SMD
rraa
El otro componente que utilizaremos constantemente es la resisten-
cia, esta se encarga de oponerse al flujo de electrones, por ello se
llaman resistencias. Se miden en ohms. Estas las encontraremos en
re
las líneas CMD y CLK.
er
H
to
es
rnn
EEr
31
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
rraa
re
er
SOFTWARE
H
to
es
rnn
EEr
32
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Sistema Operativo Android
rraa
persona con algo de conocimiento extra, puede realizar cualquier tipo
de modificación al OS (sistema operativo, por sus siglas en ingles).
Este sistema esta basado en Linux, y consta de varias particio-
nes que comenzaremos analizar.
re
Nuestro sistema operativo esta compuesto por varias particiones, al-
gunas de ellas son:
Boot er
H
Aboot
Recovery
System
Cache
to
User data
Metadata
es
33
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Dependiendo del tipo de procesador que tenga nuestro dispositivo,
iran variando la cantidad de particiones y el nombre de las mismas,
por lo tanto, podemos encontrarnos particiones exclusivas de MTK
como el preloader, y particiones exclusivas, por ejemplo, en Qual-
comm, como el Sboot y asi por cada tipo de procesador. Aunado a
esto, con cada actualización de android, van agregando o quitando
rraa
particiones, sobre todo para proteger la seguridad de los datos del
usuario, es debido a esto, que, por ejemplo, antes no encontrábamos
la partición FRP, en los inicios de android, porque no existía ese tipo
de seguridad.
re
Por ello es que es difícil poder enumerar todas las particiones y espe-
er
cificar cual es la función de cada una de ellas, ya que, como mencio-
namos antes, van cambiando con el paso del tiempo.
H
BOOTLOADER
34
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
En el caso de Qualcomm, encontramos al bootloader como
Sboot, que al igual que el preloader, su función es iniciar el sistema
operativo, si este se daña (el Sboot), el equipo no encenderá.
Este bootloader viene protegido en la mayoría de los casos, para
poder proteger el dispositivo y en consecuencia, los datos del usua-
rio.
rraa
Las compañías o fabricantes bloquean o personalizan este
bootloader en base a un código de encriptación que puede ser calcu-
lado para poder desbloquearse, por algunas cajas de servicio o bien,
muchas veces proporcionado por el mismo fabricante, como es el ca-
re
so de HTC y Motorola.
En otras marcas, como Samsung o LG, uno puede fácilmente habili-
er
tar la opción de OEM en las opciones de desarrollador, para poder
acceder al desbloqueo del bootloader sin la necesidad de dicho códi-
go o key, como se hacia anteriormente.
H
Sin embargo, con el paso del tiempo, se dieron cuenta que estas op-
ciones facilitaban el mal uso del dispositivo, como el root del mismo,
la liberación, el unlock, entre muchas otras cosas mas, sobre todo, en
dispositivos que eran robados o extraviados, por ello, decidieron im-
to
violar esa seguridad tan baja que presentan los dispositivos android,
por lo cual, tenemos este trabajo.
EEr
35
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
FRP
rraa
combinación de botones, este no pueda acceder al dispositivo sin an-
tes poner la cuenta de google que tenia previamente el dispositivo.
De esta manera, se intento proteger el dispositivo de un mal uso por
parte de terceras personas, sin embargo, el nivel de seguridad de este
re
bloqueo, es muy bajo, por lo cual, existen multiples vulnerabilidades
que pueden ser utilizadas para brincar dicha seguridad y poder acce-
der al dispositivo.
er
Cada que sale una versión nueva de parche de seguridad, lo que in-
tentan hacer es bloquear esas vulnerabilidades, pero siempre se logra
H
brincar de una u otra manera. En el tema que nos compete, facilmen-
te podemos nosotros evadir dicha seguridad en equipos con parches
muy nuevos donde aun no haya nada para poder remover el FRP por
bypass o box básica. ¿Cómo? Pues accediendo directamente a la
to
MDM
Mobile Device Management: Este tipo de bloqueo es el que es-
rnn
36
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
SECUENCIA DE ENCENDIDO
rraa
cificamente dentro de un area llamada “bootrom”. En un equipo
normal, sin ningún problema de hardware o de software, una vez pa-
sada la prueba del PBL, la siguiente etapa es el SBL (secondary
bootloader), este se encuentra dentro de la memoria del dispositivo,
re
si todo esta correcto, la siguiente etapa del encendido es el Aboot, el
cual activa el Boot y este a su vez el kernel que se encuentra dentro
correctamente.
er
de el, si todo esta correcto, se inicia el system y tu teléfono enciende
37
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Si por alguna razón se interrumpe esta secuencia, el teléfono no
encenderá.
PRIMARY BOOTLOADER
rraa
Como lo mencionamos anteriormente, este se encuentra dentro
del procesador, específicamente dentro de un area llamada bootrom,
este NO puede ser dañado por software, solo por hardware. ¿En que
casos? Puede ser por algún golpe, por humedad…en fin, por cual-
re
quier motivo en hardware. Este PBL es el encargado de generar el
puerto EDL en los equipos Qualcomm.
er
Secondary Bootloader
H
Este boot, como mecionamos, se aloja dentro de nuestra memo-
ria interna, sea esta eMMC o eMCP, algunas marcas lo guardan en la
RAM, este esta a nivel de software, por lo tanto, este si puede ser da-
ñado por alguna mala manipulación del software del equipo, ya sea
to
38
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
ABOOT
rraa
“download mode”, “update mode” “FTM”, “Fastboot” entre otros.
No siempre es asi, en algunas marcas agregan otra partición encarga-
da de ello, o esa misma la subdividen en varias particiones.
re
DRK
Device Root Key, es implementada por Samsung para proteger sus
er
dispositivos, es una clave que se inyecta en el equipo desde su fabri-
cacion y protege al dispositivo de una intervención de sistema de ter-
ceros no autorizados por Samsung.
H
GPT y MBR
al igual que la PC, tiene un disco duro, en este caso, una memoria in-
terna (eMMC, eMCP o UFS). Esta unidad de almacenamiento, re-
es
39
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
encuenta, encontramos que en nuestros dispositivos, siempre vere-
mos una partición principal denominada GPT o MBR.
MBR (Master Boot Record) es el estándar más viejo que se utilizaba
en dispositivos antiguos para organizar las particiones. Este vino a
ser sustituido por GPT (GUID Partitions Table).
La principal diferencia entre uno y otro, es que, el primero, es decir,
rraa
MBR, solo soporta hasta 4 particiones, se le pueden agregar otras
como “particiones extendidas” pero bajo el mismo sistema MBR, por
lo cual, no era útil para los nuevos sistemas de android, los cuales
contienen muchas mas particiones.
re
En cambio GPT, soporta hasta 128 particiones, lo cual es más con-
veniente para Android. En el sistema MBR las particiones se identi-
er
fican por direcciones hexadecimales, mientras que en GPT es más
sencillo identificarlas por el nombre de la misma. Sin embargo, en la
mayoría de los dispositivos, encontramos una combinación de ambos
H
para el buen funcionamiento del mismo.
En el caso de los equipos Huawei mas recientes, con procesadores
Kirin, no utilizan ni GPT ni MBR, si no, que utilizan EFI, un sistema
distinto a los antes mencionados.
to
gency Download Mode (EDL), este modo especial hace que el dis-
positivo se identifique a si mismo como Qualcomm HS-USB 9008
mediante la conexión usb. Este modo es implementado por el proce-
EEr
40
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Este modo implementa el protocolo Qualcomm Sahara, el cual utiliza
loaders OEM firmados digitalmente para trabajar por medio de USB.
Este loader o “programador” implementa el protocolo “Firehose” el
cual permite que un tercero pueda enviar comandos y/o escribir en el
almacenamiento del dispositivo, ya sea eMMC o UFS.
En los nuevos dispositivos, estos loader son .ELF, en viejos disposi-
rraa
tivos son .MBN.
re
er
H
Este tipo de conexión (EDL) puede ocurrir por varios motivos. Regu-
larmente cuando un equipo qualcomm es dañado del software, ya sea
to
41
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
SBL, por lo que, al no poder acceder al SBL, el PBL se queda activo
y manda al equipo a EDL.
En la siguiente imagen podemos ver el test point de un galaxy s7, es-
se te encuentra en el soporte de Medusa Pro. En el nos indica que
hagamos un puente entre ese punto y tierra, para que de esta manera
sea generado el puerto EDL.
rraa
re
er
H
to
es
rnn
42
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
en la secuencia de encendido. Sin embargo, no todos los teléfonos
tienen esta característica, es por ello que este cable no funciona en
todos los teléfonos.
rraa
re
er
H
to
usando el comando “adb reboot edl”, pero obviamente, para ello de-
bes de tener acceso al menú y a las opciones de desarrollador.
rnn
EEr
43
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
disponen de esta característica para poder ingresar a EDL, en otros
no.
Muchos otros equipos, pueden acceder a este modo desde fastboot o
desde FTM, mediante comandos, como los ZTE.
En la siguiente imagen podemos observar que Uni Android Tool tie-
ne esta opción de reboot desde varios tipos de conexión, como por
rraa
ejemplo, de FTM a EDL o DFU a EDL, Fastboot a EDL y ADB a
EDL.
re
er
H
Los loaders firehose vienen a ser los que los DA a los MTK, son esa
to
44
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
porte UFS por socket, que, hasta el dia de hoy, solo Nuprogram y
easy jtag lo soportan, próximamente medusa pro II también lo hara,
pero por lo pronto, solo esas dos.
Estos loaders, van ligados a la estructura de cada procesador, y pue-
den ser compatibles entre dispositivos, es decir, entra diferentes mar-
cas de teléfonos.
rraa
re
er
Por ejemplo, un LG LS676 trae procesador Qualcomm MSM8909,
H
un Motorola de cualquier modelo, también puede traer el mismo pro-
cesador, o un teléfono Samsung, o Alcatel, etc. Esto quiere decir, que
el loader para el procesador MSM8909, puede ser compatible con
esas diferentes marcas de teléfonos, ya que tienen el mismo procesa-
to
45
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
rraa
re
er
Capítulo 2
H
to
es
rnn
EEr
47
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
rraa
re
er
eMMC/eMCP
H
to
es
rnn
EEr
Vendido a 48
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
En la actualidad existen tres protocolos de memoria en los dispo-
sitivos móviles, específicamente, estas son; eMMC, eMCP y UFS. Es-
to hablando exclusivamente de Android, dejando por ahora fuera a
Apple.
Con la llegada del sistema operativo Android, el almacenamiento
en los dispositivos se tuvo que modificar forzosamente, para ampliar el
espacio donde se alojaría dicho sistema operativo, ya que, antes de el,
rraa
un teléfono no requería tanto espacio en la memoria, puesto que el sis-
tema operativo y sus aplicaciones no lo requerían, por lo tanto, muchos
utilizaban memorias eprom para ello, al igual que en las computado-
ras, quien no recuerda, con algo de nostalguia por cierto, los mentados
re
diskets, que muchos de nosotros usábamos en la secundaria para poder
guardar tareas, esos diskets no tenían nada de espacio, porque los tra-
bajos de entonces no lo requerían, luego evoluciono el sistema de al-
portátiles…etc.
er
macenamiento, algo natural, llegaron las memorias USB, discos duros
sistema y los datos del usuario, al igual que en las computadoras, que
tienen un disco duro, en nuestros teléfonos tenemos las memorias
eMMC y eMCP.
es
del circuito físico, solo existe una memoria interna, nada mas. En
cambio, al referirnos a eMCP (embedded MultiChip Package), nos es-
tamos refiriendo también a un circuito de tipo BGA, pero que contiene
EEr
49
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Ambas comparten el mismo circuito físico, sin embargo, cada una
es independiente. Esto se hace con la finalidad de ahorrar espacio en
los teléfonos y, de esta manera, poder brindar un tamaño ideal para el
usuario final.
rraa
re
er
H
Cada memoria, independientemente de que sea eMMC o eMCP, como
to
-BGA221
-BGA153/169
-BGA186/162
-BGA254
rnn
Vendido a 50
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Aquí algunas imágenes.
BGA221
rraa
re
er
H
Este tipo de memoria, solo la encontraremos en formato eMCP, es de-
cir, memoria mas ram, nunca en solo memoria. Es muy común encon-
trarla en las diferentes marcas de teléfonos, tanto LG, como Samsung,
Motorola, ZTE, etc.
to
BGA153/169
es
rnn
EEr
51
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
BGA186/162
rraa
re
er
Este tipo de memoria es muy común encontrarla en equipos de gama
baja, tales como M4, Blu, Lanix, etc.
H
BGA254
to
es
rnn
EEr
Vendido a 52
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Bien, una vez que podemos identificar visualmente cada una de ellas y
que conocemos, a grandes rasgos cual es la principal diferencia entre
una y otra, podemos analizar más a detalle la esturctura física y de
software de este protocolo de memoria.
rraa
es totalmente independiente de la marca del teléfono, de esta manera,
podremos encontrar equipos marca Samsung con memorias marca
Shynix, por ejemplo. O equipos LG con memorias marca Samsung, lo
que nos indica que no tiene relevancia la marca del teléfono, si no, la
re
marca de la memoria.
Cada memoria cuenta con un firmware especial para ella, que es
totalmente independiente del Sistema Operativo del teléfono. El firm-
er
ware mas reciente para protocolo eMMC/CP, es la versión 5.1, que es
la que estaremos analizando en este libro.
Cabe destacar, y esto es muy importante, que las únicas memorias
que pueden ser modificadas con las boxes, al menos en tamaño de par-
H
ticiones, booteo y demás, son las de la marca Samsung, por lo tanto,
son las que utilizaremos cuando vayamos hacer un reemplazo de me-
moria.
to
53
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
ESTRUCTURA DE UNA MEMORIA EMMC/CP
rraa
CONTROLADOR
re
las cuales se podían reprogramar por medio de pulsos eléctricos, no
contaban con mucho espacio de almacenamiento, porque el dipositivo
no lo requería, ya que su sistema operativo era primitivo y solo servia
er
para las funciones básicas; hacer y recibir llamadas, hacer y recibir
mensajes, agenda y juegos. Por ello es que no requería de mucho espa-
cio de almacenamiento.
H
Todo esto cambio con la llegada del sistema operativo Android,
ya que, este demandaba un mayor almacenamiento tan solo para alo-
jarse, independientemente de los datos del usuario, es por ello que los
to
Vendido a 54
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Esto cambio con la llegada de la eMMC, puesto que la gran ven-
taja de este protocolo de memoria, es que le agregaron al circuito un
CONTROLADOR. El cual fungía como un pequeño administrador de
la memoria para, de esta manera, reducirle responsabilidades al proce-
sador y asi este se enfocara en otras tareas. Esto redujo considerable-
mente el consumo de energía de los dispositivos, mejoro la velocidad
rraa
de transferencia y procesamientos de archivos y de datos entre otras
cosas más.
Para comprender mejor la función del controlador, debemos ana-
lizarlo un poco más a detalle.
re
Dentro del circuito físico agregaron a este “ayudante” del procesador,
el cual, se encarga de administrar el area de NAND, es decir, la memo-
er
ria en si, ya que el area de NAND es donde se aloja el sistema operati-
vo del dispositivo y por ende, los datos del usuario.
H
Nuestro controlador, le envía información de todo lo que acontece en
el area de NAND a nuestro procesador asi, de esta manera, el procesa-
dor se enfoca en otros trabajos mientras el controlador hace su tarea.
Para poder comunicarse con el procesador, el controlador requiere de
to
lineas de comunicacion entre ambos, por ello, utiliza tres medios, estos
son:
es
- CLK
- CMD
- Data 0-7
rnn
Estos son las tres líneas que utiliza para comunicarse el procesador con
el controlador y viceversa. Ademas de estas tres líneas, también re-
EEr
55
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
El voltaje VCC es el que alimenta al area de NAND y VCCQ alimenta
al controlador.
Aquí una tabla que explica cada uno de los puntos de conexión.
rraa
re
er
H
to
es
rnn
EEr
Vendido a 56
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
rraa
re
er
Como vemos en la imagen anterior, nuestra memoria requiere de
H
dos voltajes de alimentación. Uno alimenta al area de NAND y otro
alimenta al area de Controlador. Estos dos voltajes son suministrados
por nuestro PMIC y, este a su vez, toma ese voltaje de nuestra batería.
to
57
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
rraa
Aquí podemos ver un ejemplo de la configuración de voltaje VCC,
re
que aparece en Medusa Pro. Nos podemos encontrar en varios casos
en los que requiramos modificar los voltajes para que el equipo sea re-
er
conocido, por ejemplo, en algunos casos específicos como el LG
LS777 que requiere subier el voltaje a 2.8v para que lo pueda leer.
Vamos a analizar cada uno de ellos a detalle mas adelante, por lo pron-
H
to, veamos una imagen donde se observa la manera como trabaja el
procesador con la memoria.
to
Vendido a 58
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
rraa
re
er
H
to
es
rnn
EEr
59
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
CLOCK (CLK)
rraa
Por cada ciclo de esta señal, pueden enviarse atravez de CMD y de las
líneas datos 1 bit o 2 bits, en caso de que envie 1 bit estaría trabajando
en SDR “single data rate” si trabaja a 2 bits por ciclo de reloj, entonces
estaria trabajando en DDR“dual data rate”.
re
Esta línea se mide en Mhz. La cantidad máxima de tolerancia de la
frecuencia, va a variar según las especificaciones del circuito.
Esta señal de reloj, puede soportar hasta 200Mhz, esta frecuencia va a
er
variar según el estado en el que se encuentre la memoria.
H
to
es
rnn
Vendido a 60
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
COMANDOS (CMD)
rraa
nea, es decir, de salida, por ello es que se le llama bidireccional, I/O
(in/out).
re
er
H
to
61
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
DATOS (D0-D7)
Las memorias eMMC/CP, trabajan con ocho líneas de datos, que van
de Data 0 a data 7. Esta línea es bidireccional, es decir, de entrada y
salida del procesador a la memoria y viceversa.
La única línea que trabaja en Open-drain es Data 0, las demás trabajan
en Push-pull.
rraa
Ahora, solo uno de los dos circuitos pueden enviar datos a la vez, es
decir, solo el procesador puede enviar datos por las líneas o solo la
memoria, no los dos al mismo tiempo, esto es lo que hace su trabajo
mas lento a diferencia de UFS que ya puede trabajar enviando y reci-
re
biendo datos al mismo tiempo.
Los datos pueden ser medidos en bits, D0 (1bit), D0-D3 (4 bit) y D0-
D7 (8 bit).
Por ello es que en las cajas vemos la opción de “bus mode” para selec-
er
cionar la velocidad de transferencia de datos entra la caja y el equipo.
Obviamente cuando conectamos el dipositivo por ISP, solo podemos
trabajar a 1bit de velocidad de transferencia de datos, ya que solo es-
H
tamos trabajando con la línea D0.
to
es
rnn
EEr
Vendido a 62
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
BGA, de esta manera, si podrías trabajar con 8 bits, es decir, con las
ocho líneas de datos.
Sin embargo, por ejemplo, Medusa Pro, solo puede trabajar a 4 bits,
aun teniendo la memoria montada en su socket, esa es una desventaja
de esta box.
Esta línea de datos solo puede trabajar en modo push-pull.
rraa
DATA STROBE
re
En la última versión de firmware de memoria eMMC, es decir, la
5.1, se utiliza esta línea como frecuencia de reloj de retorno para sin-
cronizar los datos de salida de la de la memoria hacia el procesador,
er
pero en modo HS400, que es soporta hasta 400MB/s.
H
to
es
rnn
EEr
63
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
En la siguiente imagen podemos el esquema de cada una de las líneas,
si ponemos atención, en la línea CMD, esta pasa atravez de una resis-
tencia pull-up de 10k y, por el otro extremo de la resistencia, para la
línea VCCQ, por lo que, en cada pinout, encontraremos en la misma
resistencia los dos puntos de conexión.
rraa
re
er
H
CLK también pasa por una resistencia, pero esta no es pull-up, es una
resistencia de 30ohms. VCC y VCCQ pasan por una serie de conden-
to
res, cerca del pmic, como en el caso de el moto g4 que el voltaje VCC
lo tiene del otro lado de la tarjeta pegado al pmic.
Vendido a 64
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
REGISTROS
- CID
- CSD
rraa
- EXT_CSD
- OCR
- RCA
- DSR
re
Sin embargo, nosotros solo trabajamos con tres de ellos:
- CID
- CSD
- EXT_CSD er
H
Y de estos tres, solo uno es el que mas utilizamos, este es el
EXT_CSD. Sin embargo, para fines de conocimiento, describiré cada
uno de ellos.
to
65
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
En la imagen anterior podemos observar este registro en el log de ope-
raciones de easy jtag. Como podemos ver, es una serie de números y
letras que indican una gran variedad de información respecto a la me-
moria.
rraa
Este registro nos indica una información mas específica de la memo-
ria, sobre todo de cómo accede a la información contenida en la me-
moria, como por ejemplo, la velocidad a la que se accede a cada block
o cada pagina de la memoria, el formato de los datos, la frecuencia a la
re
que trabaja, entre otras cosas.
er
H
to
mos que puede ser Samsung, Sandisk, Toshiba, Macron, Shynix, etc.
-Samsung 0x15
-Shynix 0x90
-Toshiba 0x11
Vendido a 66
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
EXT_CSD (Extended Card Specific Data)
rraa
memoria en base al tipo de procesador que maneje.
re
ria para que nuestro dispositvo pueda funcionar y bootear bien.
En la siguiente imagen volvemos a ver un log de operaciones de easy
jtag en donde nos muestra, en esta ocacion, el registro ext_csd.
er
H
to
es
de la imagen anterior nos indica que tiene una versión 5.01 de firmwa-
re de memoria. La versión mas reciente de firmware para memorias
EEr
67
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Boot Configuration (Partition Config): Esta parte nos indica desde
que partición esta booteando el equipo o si no bootea desde ninguna.
Recordemos que cada memoria puede alojar el archivo boot en una
partición de las cuatro que tiene, según desde donde boote o si no boo-
tea de ninguna partición y en base a si envía o no envía boot ack, nos
va a generar una configuración hexadecimal que nos hara referencia a
que marca de procesador tiene nuestro dispositivo, si esta configura-
rraa
cion esta mal, el equipo no encenderá. Aquí la tabla de configuración
hexadecimal para cada procesador.
re
CONFIGURACION DE BOOTEO
er
H
Qualcomm Configuracion Hexadecimal
UserArea
No envía ACK 0x00/0x38
to
MTK/Exynos
Boot 1
Si envía ACK 0x48
es
Hi-Silicon/Broadcomm
rnn
Boot 1
No envía ACK 0x08
EEr
Vendido a 68
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Boot bus config: Esta parte nos indica si CMD trabaja con 1bit o 2bit
por ciclo de reloj, es decir, en single data rate (SDR) o doublé data rate
(DDR)
La línea CMD puede enviar 1 bit de información por cada ciclo de re-
loj de la línea CLK (SDR) o bien 2 bits (DDR), esto lo define el fabri-
cante por equipo. Al configurar a 1bit por ciclo de reloj (SDR) nos
genera una configuración hexadecimal 0x00 y si trabaja a 2bits por ci-
rraa
clo de reloj (DDR) nos genera 0x01.
re
Esta función no necesariamente tiene que estar activa, si esta activa
nos lo indicara como 0x01 de lo contrario, si no esta activa, nos la in-
dicara como 0x00.
er
PARTITIONING_SUPPORT: Esto nos indica si la memoria tiene la
capacidad de generar las GP partitions (General Porpuse), que vere-
mos mas adelanta. No todas las memorias tienen esta característica.
H
OCR (Operation Conditions Register)
to
error de OCR.
Este registro es el encargado de informar sobre el voltaje de VCC, para
que la box pueda determinar de manera automática que voltaje confi-
rnn
69
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
DSR (Driver Stage Register)
rraa
Contiene algunas de las direcciones de información dentro de la me-
moria, sobre todo en su fase inicial.
re
ESTADOS DE UNA MEMORIA
er
Toda la comunicación que ocurre entre el Master (Procesador) y
el Esclavo (Memoria), es controlada por el primero (Master), el Master
H
envía un comando por la línea CMD y este a su vez recibe una res-
puesta por la misma línea.
La memoria trabaja en cinco estados o modos de operación, los cuales
to
enumeraremos a continuación:
moria.
Vendido a 70
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Device Identification Mode (Modo de identificación de la memo-
ria)
rraa
Interrupt Mode (Modo de interrupción)
re
Usando la traducción literal, este modo es cuando se interrumpe la
transferencia de datos entre CPU y memoria, ambos quedan interrum-
pidos y esa es la única señal o información que se recibe.
er
Data Transfer Mode (Modo Transferencia de Datos)
H
Este modo es inicializado una vez que se detecta el registro RCA, el
HOST comienza la transferencia de datos después de concluida la eta-
pa o modo de identificación.
to
moria también trabajaran en ambos estados, aquí una tabla de que mo-
do trabaja en que estado.
71
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Los siguientes modos o estados de la memoria, trabajan en Open-
Drain
- Boot Mode
- Identification Mode
rraa
- Data Transfer Mode
- Interrupt Mode
re
Una vez que comienza el encendido del dispositivo, y que la señal del
pmic llega al procesador, este activa la línea CLK, es decir, la señal de
reloj, para comenzar a sincronizar la entrada y salida de comandos y la
er
entrada y salida de datos. La siguiente línea que se activa es CMD, en-
viando el primero comando, donde le indica a la memoria que quiere
H
entrar en Boot Mode, esta prepara el boot para enviárselo al HOST por
medio de las líneas de datos, específicamente la línea Data 0, que es la
que primera que se activa. En esta etapa, en la que se envía el primer
comando (CMD0) y el boot por Data 0 al Host, estamos trabajado en
to
Open-drain.
Una vez que el Host termina la etapa de boot, este comienza a trabajar
es
Para ello debemos tomar en cuenta que para cada partición donde se
aloje el boot y si envía o no envía ACK, se generara una clave hexade-
ciamal, esta clave es muy importante porque indica que tipo de proce-
sador tiene el equipo, si esta clave esta mal configurada, el equipo
simplemente no encenderá. Aquí dejo la table de configuración hexa-
decimal en base al procesador.
Vendido a 72
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Area de NAND
Bien, hemos estado hablando sobre todo el trabajo que realiza el con-
trolador, y siempre mencionamos que se encarga de administrar el area
de NAND y que le envía información sobre esta al CPU y todo eso,
pero; ¿Qué es el area de NAND?
rraa
Pues bien, esta area es básicamente el disco duro de nuestro disposito-
vo, es la memoria en si, ya que, en ella se aloja nuestro sistema opera-
tivo, en este caso, Android. Y como todo disco duro, requiere de
particiones para poder funcionar. En el caso de una memoria eMMC o
re
eMCP, esta area de NAND puede contener hasta ocho particiones,
cuatro principales y cuatro más adicionales en casos específicos, estas
particiones son:
- Boot 1
- Boot 2
- RPMB
er
H
- UserArea
73
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Las particiones Boot 1 y Boot 2, son destinadas para alojar dentro de
ellas el bootloader o archivo boot que hace que nuestro dispositivo en-
cienda. Sin embargo, no todos los fabricantes deciden alojar ahí su
boot, por ejemplo, Qualcomm lo aloja en UserArea y no en alguna de
estas dos.
rraa
MTK por su parte, al igual que Exynos, Hi-Silicon y Broadcom, si uti-
lizan una de estas particiones para bootear desde ahí, usan especifica-
mente la partición Boot 1 para bootear desde ella.
re
er
H
to
es
Vendido a 74
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Como podemos ver en la imagen anterior, encontramos que ambas
particones son del mismo tamaño, 4096kb.
rraa
seguridad SHA-256 y se requiere tener la llave de encriptación para
poder acceder a ella.
Su tamaño es independiente de Boot 1 y 2 y de UserArea, este si lo
podemos modificar (el tamaño), mas no el contenido.
re
er
H
Aquí podemos ver que, en este caso, el tamaño de RPMB es igual que
el de Boot 1 y 2, sin embargo, no necesariamente tiene que ser asi, al-
gunas veces la podemos encontrar con un tamaño de 512kb o de 16mb.
to
física de la memoria, es decir, que puede ser de 1gb, 4gb, 8gb, etc. Su
tamaño no se puede modificar simplemente con alguna configuración,
ya que es físico.
rnn
PROGRAMACION DE MEMORIA
Hay dos maneras de programar una memoria, estas son por ISP o di-
recto a la memoria (chip-off).
75
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
ISP (In-System Programming)
rraa
te puedes comunicar con varios circuitos montados en la tarjeta, sin
necesidad de retirarlos de la placa.
La principal diferencia, es que en ISP solo nos estamos comunicando
con un solo circuito y con ello podemos programarlo o testear su fun-
re
cionamiento.
En la actualidad, el ISP es el protocolo que se utiliza en los procedi-
mientos eMMC/CP, ya que, solo nos estamos comunicando con la
er
memoria y no con el procesador, es decir, con un solo circuito.
H
to
es
rnn
cualquier caja.
Como en la imagen que encontramos arriba, es el adaptador ISP de
UFI box, donde encontramos al 2.8v y 1.8v como VCC y VCCQ res-
pectivamente, sin embargo, en los pinouts regularmente los encontra-
mos como 1.8 y 2.8.
Vendido a 76
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Es importante saber la definición de ISP porque en algunos casos, co-
mo al usar easy jtag o UFI box, nos pide forzosamente elegir el meto-
do de conexión que vamos a utilizar, ya sea por ISP o por socket.
rraa
re
er
Si nosotros elegimos ISP, en automatico nos deja la opción de trabajar
solamente con una línea de datos, la cual es Data 0, y a 1 bit de veloci-
dad.
H
to
es
como UFI box piden que seas especifico en el tipo de conexión que
vas a utilizar, ya sea por ISP o direct eMMC. Caso contrario a Medusa
Pro, Medusa no pide esa especificación.
EEr
77
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
El siguiente modo de conexión es directo a la memoria o chip-off, que
no es mas que quitando la memoria de la tarjeta para trabajarla en el
socket, dependiendo el tipo de BGA, o bien, soldando los cables ISP
directo al circuito
rraa
re
er
H
En la imagen anterior podemos observar un ejemplo de cómo se co-
to
1 bit (Data 0)
4 bit (Data 0, Data 1, Data 2 y Data 3)
EEr
Vendido a 78
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Cada caja viene con su socket regularmente, excepto Medusa Pro, esa
viene aparte, tienes que comprarlo por separado.
rraa
re
er
H
to
nouts, que no es mas que la imagen donde nos indica donde soldar los
cables en la tarjeta.
rnn
EEr
79
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
rraa
re
er
H
to
es
Los fabricantes ponen estos “puntos de prueba” fuera del circuito para
probar la memoria sin necesidad de quitarla de la tarjeta, esto lo hacen
antes de sacarla a donde será ensamblada ya como un Smartphone.
Vendido a 80
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
memoria, pero en el camino, el fabricante los puso de manera externa
en algún o varios componentes fuera de los circuitos, para poder tes-
tearlos, esto para uso del fabricante, sin embargo, nosotros aprove-
chamos esta “vulnerabilidad” para poder conectarnos o “interceptar”
esta comunicación entre circuitos y asi poder manipular la memoria de
manera no autorizada.
rraa
re
er
En esta imagen podemos observar como las líneas de VCC y
VCCQ viajan de pad a pad, de circuito a circuito, pero en su camino,
salen fuera de ellos y tienen un punto de prueba en estos condensado-
H
res. Lo mismo pasa con CMD, CLK y D0.
En el caso especifico de estas líneas, CMD y CLK, ellas regularmente
salen fuera de los circuitos, pero pasan por unas resistencias, CMD pa-
sa por una resistencia pull-up de 10k y CLK por una de 30ohms.
to
es
rnn
EEr
81
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
dos opciones, o bien quitar la memoria y trabajarla de manera directa,
o bien, raspar el CPU y localizar el o los puntos que no están fuera de
ellos.
rraa
re
er
H
to
es
cho punto, una vez ubicado, soldamos sobre la línea para poder conec-
tarlo por ISP.
EEr
Vendido a 82
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Aquí en la siguiente imagen podemos observar el proceso de conexión
ISP del equipo ya con el Data 0 soldado sobre el CPU.
rraa
re
er
H
to
es
83
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Bien, ya que sabemos que es el pinout y como es que funciona, solo
nos queda saber como sacarlo. Como mencionamos casi al inicio de
este libro, las memorias se clasifican por el tipo de BGA que es, po-
demos encontrar, por ejemplo, BGA221 o BGA153, que son las mas
comunes. En base al tipo de BGA que sea, cada memoria tendrá siem-
pre un mismo pinout en el circuito, lo que va a cambiar de teléfono a
teléfono, es la posición de cada uno de los puntos en la tarjeta.
rraa
re
er
H
to
es
rnn
EEr
Vendido a 84
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Esta es la manera más sencilla de ubicar cada uno de los puntos de co-
nexion ISP.
rraa
re
er
H
to
85
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Las líneas más fáciles de encontrar son los voltajes de alimentación.
Tanto VCC como VCCQ son simples de encontrar puesto que solo re-
querimos tener nuestra tarjeta conectada a una fuente de alimentación
y encender la tarjeta para que esos voltajes aparezcan. Entonces, solo
con nuestro multimetro revisamos los condensadores aledaños a la
memoria y buscamos el que nos arroje el valor 1.8 y 2.8, asi de simple.
rraa
El problema viene con los demás puntos de conexión, por ejemplo,
CMD o CLK. Estas dos líneas ya dijimos que pasan por unas resisten-
cias, CMD pasa por una resistencia pull-up de 10k y CLK por una de
30 ohms, entonces, podemos con nuestro multimetro ir midiendo cada
re
una de las resistencias que encontremos alrededor de la memoria o del
procesador y encontrar las que tengan ese valor.
complejo.
er
Ahora, si tenemos más de 1 resistencia con el mismo valor, es más
CMD.
Vendido a 86
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Ahora que ya sabemos como ubicar el pinout y como es que funcio-
nan, lo siguiente es simplemente soldar cada uno de los puntos de co-
nexión a nuestro adaptador ISP o bien, retirar la memoria del
dispositivo en caso de que no exista el pinout.
Con esta información ya podemos trabajar con cualquier caja que
rraa
realice este tipo de procedimientos, ya sea Medusa Pro, Easy Jtag, UFI
box, ATF, Riff, eMMC pro, eMMC dongle…etc.
Todas funcionan de la misma manera, salvo que unas tienen más mo-
dulos que otra, como en el caso de Easy Jtag que maneja modulo
re
NAND, UFS, eMMC, USB y SPI.
El hecho de que una caja no tenga tal o cual modelo en su suporte, o
que no aparezca en el soporte el pinout de un equipo, no quiere decir
er
que no este soportado, simplemente que a los desarrolladores no les ah
llegado dicho modelo para poder sacar el pinout, recordemos que estas
cajas trabajan con memorias, NO con marcas de teléfonos o modelos
de los mismos.
H
CHIP-OFF
to
socket vas a usar. Regularmente las cajas ya vienen con su socket, sal-
vo Medusa Pro que lo vende por separado.
Lo importante al retirar la memoria es saber si es eMMC o eMCP, ya
EEr
87
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
¿Cuál es la principal función de este tipo de cajas? Bueno, la función
principal de este tipo de cajas es la de reparar el boot de equipos muer-
tos por software. Para ello es que se utiliza la conexión ISP o Chip-off,
puesto que, en el caso de daño en el boot, el equipo ya no encenderá y
por ende no entrara a download o emergency para poder realizar el re-
establecimiento del boot por USB. De esta manera, la caja hace la re-
paración por medio de una conexión externa que va directo a la
rraa
memoria.
re
Estos archivos contenían el boot del equipo y algunas otras particio-
nes, que lo que hacían era cargárselo para que, de esta manera, ya pu-
diera encender y asi poder flashearlo completamente por cable USB.
er
En la actualidad, la única caja que maneja este tipo de archivos, es
Medusa Pro, no se llaman resurrector como en Riff, estos se llaman
.SRF (Smart Repair File) y contienen lo mismo que los archivos de
H
Riff; el boot del equipo mas algunas otras particiones, ¿con que objeti-
vo? Con el mismo que los resurrector, que el equipo entre a download
o emergency y de esta manera pueda ser flasheado por USB con su
to
Vendido a 88
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
En las cajas Easy Jtag y UFI box, no manejan este tipo de archivos, so-
lamente tienen la opción de escribir el firmware directo a la memoria,
que es exactamente lo mismo que si le cargaran un .SRF.
rraa
re
er
En la imagen anterior podemos ver una ejemplo de ello, en Easy Jtag
Plus, donde no escribe algún tipo de archivo especial, si no, que hay
H
que flashear completo el equipo en base a la marca del mismo o del ti-
po de procesador que maneje.
89
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Tambien podemos realizar desbloqueo de FRP mediante conexión ISP
o Chip-Off, todas las cajas tienen esta opción.
rraa
re
er
Con esta opción podemos remover el FRP sin necesidad de estar ha-
H
ciendo bypass, ni revisando el parche de seguridad o la versión de an-
droid o firmware de un equipo o, en el caso de Huawei, sin necesidad
de comprar Key.
to
Vendido a 90
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Lo verdaderamente importante de esto, es saber toda la parte teorica
que vimos en este libro para poder entender para que sirve cada una de
las opciones de cualquier caja para eMMC, ya que, como en una caja
básica, no requerimos de un curso para saber para que sirve la opción
“remove FRP”, o “unlock” o “flash”, es obvio para que sirve cada una
de ellas. No necesitamos un curso para utilizar tal o cual caja puesto
que todas son para lo mismo, solo con interface grafica distinta, por lo
rraa
tanto, lo único que necesitamos saber, son los conceptos generales.
Es lo mismo que sucede con este tipo de cajas, con la base teorica que
hemos mostrado en este libro, es sencillo comprender para sirve cada
re
una de las opciones en cualquier box de servicio eMMC.
er
H
to
es
rnn
EEr
91
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
rraa
re
er
Capítulo 3
H
to
es
rnn
EEr
Vendido a 92
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
rraa
re
UFSer
H
to
es
rnn
EEr
93
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Universal Flash Storage, es el nuevo protocolo de memoria que
encontraremos en casi todos los equipos nuevos o de gama alta, no es
que este protocolo vaya a suplantar a las eMMC o eMCP, mas bien,
las vino a complementar, puesto que siempre exitiran equipos de gama
baja y gama media, por lo que no dejaran de existir las memorias
eMMC. Estas memorias, hasta ahora solo han sacado tres tipos de
rraa
BGA distintos, estos son:
-BGA95
-BGA153
re
-BGA254
er
Este protocolo de memoria usa un sistema de apilamiento de capas,
como en los servidores, la estructura de “cliente – servidor”. Para ello
H
ocupa una serie de capas, en un modelo estándar son más capas las que
se ocupan, sin embargo, en el protocolo UFS, se simplificaron las co-
sas por la aliancia con la empresa MIPI M-PHY y UniPro. En UniPro
por ejemplo, ocupamos solo algunas capas, estas son:
to
- Capa de transporte
es
- Capa de aplicación
- Capa de red
- Capa de enlace
- Capa física
rnn
eMMC tiene ocho líneas de datos, que van desde Data 0 hasta Data 7,
como mencionamos en el Capitulo 2 de este libro, pero la manera de
trabajar de eMMC es de “Half Duplex”, es decir, que trabaja en para-
lelo; ¿a que nos referimos con esto? Bien, es sencillo.
Vendido a 94
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
eMMC solo puede leer o escribir a la vez, no al mismo tiempo, asi
que, aunque tengamos las ocho líneas de datos, el Host tiene que en-
viar su comando y sus datos al controlador y este ultimo, esperar a que
Termine el Host de enviarlos para poder enviar una respuesta por di-
chos canales de datos, eso hace que la comunicación sea mucho mas
lenta.
A diferencia de esto, UFS tiene un sistema “Full Duplex”, es decir,
rraa
puede leer y escribir al mismo tiempo, usando la capa de interconec-
cion para ello. Esto obviamente hace mucho más rápido el trabajo y la
comunicación entre el Host y la memoria.
re
er
H
to
95
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Cada canal de datos va en pares, dos de entrada y dos de salida, cada
memoria puede manejar hasta seis canales de comunicación en par, es
decir, hasta 12 lineas de datos, siempre siguiendo el formato RX y TX.
rraa
re
er
H
to
es
Vendido a 96
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
En la siguiente imagen podemos observar de manera mas detallada ca-
da uno de los puntos de conexión y comunicación entre host y pmic
con la memoria UFS.
rraa
re
er
H
to
lida. Tambien podemos ver los tres voltajes de alimentación que son
sumistrados por el pmic, estos voltajes son de entrada, por supuesto.
rnn
97
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Bien, ahora, en cuanto a su diferencia en software, encontraremos que
UFS maneja un sistema similar al de eMMC, de particiones, sin em-
bargo, aca cambia en algo, ya no encontramos como tal a Boot 1 y 2,
RPMB y UserArea, si no que, encontramos Unidades Logicas.
rraa
pero podemos agregar otras cuatro sumando un total de ocho particio-
nes. En UFS es similar, cada memoria soporta hasta ocho unidades lo-
gicas o LUNs (Logical Unit Number), estas se enumeran desde LU0
hasta LU7.
re
Encontraremos muchas similitudes con eMMC puesto que, analizando
el log de operaciones de easy jtag plus que, en la actualidad es la unca
er
box que soporta este protocolo de memoria, nos podemos dar cuenta
de que, LU0 es el equivalente de UserArea. Pero pongamos una ima-
H
gen para que sea mas clara la comparación.
to
es
rnn
EEr
Vendido a 98
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Lo primero que encontramos es que nos dice que esta memoria soporta
hasta ocho particiones lógicas, pero en este caso solo tiene cinco.
rraa
re
er
H
to
es
rnn
Esto es, como mencionamos, a que cada memoria soporta hasta ocho
EEr
99
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Posteriormente podemos ver claramente como la partición LUN0 tiene
un tamaño de 59GB, es decir, realmente es de 64GB, y recordemos
que la partición más grande siempre será UserArea, puesto que en ella
es donde se aloja nuestro sistema operativo, por lo que esta partición
es el equivalente al UserArea de una eMMC.
rraa
re
er
H
to
es
rnn
EEr
Vendido a 100
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Las particiones LUN1 y LUN2 son el equivalente a Boot 1 y 2, incluso
podemos obervar que a un lado de cada una, entre paréntesis podemos
observar que nos indica como (Boot A) y (Boot B) y el tamaño es
igual que en eMMC, siempre de 4096kb o 4mb.
rraa
re
er
H
to
es
101
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Regularmente las memorias UFS vienen configuradas de manera OTP
(One Time Programming), por lo que no se puede cambiar el tamaño
de sus particiones, son muy pocas las memorias que si lo permiten.
rraa
lo, asi como tampoco existe la comunicación por ISP, solo por Chip-
off.
Para ello requerimos de un socket especial para ese protocolo, como
mencionamos por el momento solo Easy Jtag Plus es la que soporta es-
re
te protocolo, por lo que, el socket que existe es para esta caja.
er
desarrollado por el mismo team de z3x y sacaron solo para dos BGA,
la BGA95 y la 153.
H
to
es
rnn
EEr
Vendido a 102
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Aquí tenemos los genéricos del fabricante de X-Mate llega IC
FRIEND 3 en 1. Como se podrán dar cuenta, la gran diferencia es que
este socket soporta los tres BGA existentes hasta ahora en el mercado,
la BGA95, 153 y 254.
rraa
re
er
H
to
103
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
En la siguiente imagen podemos observar claramente el modulo clasi-
co de nuestra Easy Jtag Plus, donde ya aparece la pestaña de UFS.
rraa
re
er
H
to
es
rnn
EEr
Vendido a 104
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Aun falta mucho desarrollo al respecto de UFS, sin embargo, Medusa
Pro, por ejemplo, ya esta trabajando en Medusa Pro 2, la cual ya in-
cluira UFS también y a una alta velocidad de transferencia de archi-
vos, puesto que, actualmente ese es el problema de UFS, que es muy
lenta la comunicación y hacer un dump de la LUN0 por ejemplo, tarda
muchísimo tiempo, asi que esperemos y logren solucionar ese proble-
rraa
ma en el futuro.
re
er
H
to
es
rnn
EEr
105
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
rraa
re
er
Capítulo Especial
H
to
es
rnn
EEr
Vendido a 106
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
En este capitulo hablaremos brevemente sobre los protocolos de me-
moria existentes en Apple.
Existen dos protocolos en la actualidad en dispositivos Apple, estos
son: NAND y PCIe.
En cuanto a NAND se refiere, existen dos tipos de memorias, de 32 y
rraa
64 bits. La mayoría de los equipos viejos de Apple son de 32 bits, co-
mo el ipad 2, 3 y 4 y la ipad mini 1.
Del ipad mini 2 en adelante, son memorias de 64 bits, pero aun dentro
del protocolo NAND.
re
Apartir de las ipad Pro y 5ª generación en adelante, encontramos ya el
protocolo PCIe.
Fisicamente son de menor tamaño y tienen un poco mas de balls. Otra
er
de sus diferencias es que todas son de 64bits, ya no de 32.
Esto hablando de ipads, en el caso de iphone, el protocolo NAND solo
H
llega hasta el iphone 6 plus, del 6s en adelante también se maneja el
protocolo PCIe de 64bits.
107
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Tambien tenemos JC Pro
rraa
re
er
H
O IPbox entre otras.
to
es
rnn
EEr
Vendido a 108
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
Incluso Easy Jtag Plus cuenta con un modulo para programar NAND,
mas no PCIe (aun).
rraa
re
er
H
to
-SN
-Wifi Address
EEr
-Bluetooth Address
109
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
En este tipo de memorias no es tan necesario tener algún conocimiento
extra puesto que el sistema operativo de Apple (IOS) es mucho más
seguro que Android, por lo que no es tan fácil vulnerar su seguridad.
Solo en el caso de las Ipad se puede remover el icloud mediante estar
programadoras puesto que, este bloqueo esta ligado al SN del equipo,
asi que lo único que se tiene que hacer es cambiar el SN del dispositi-
rraa
vo para que este pueda funcionar nuevamente.
En el caso de Iphone no es asi, pues este tiene RF por lo que el icloud
esta ligado al IMEI y no al SN.
re
Sinceramente en el caso de Apple hay muy poco que hacer en cuanto a
software se refiere, por su nivel de seguridad, es mas sencillo realizar
procesos en hardware para su reparación, mas que reparación de soft-
er
ware. Pues para ello también contamos con itunes o 3utools, para po-
der restaurar el dispositivo y los errores que estos arrojen rara vez
H
tiene que ver con el sistema operativo, mas bien, son problemas de
hardware.
error 4013, donde ahí si estaba involucrado el kernel del IOS, para ello
si se utilizaba la programadora Naviplus para poder reparar el Kernel y
es
Vendido a 110
Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion
AGRADECIMIENTOS
rraa
Gracias también a las personas que han confiado en mí para capacitar-
los ya sea de manera grupal o personal, gracias a todos por su confian-
za.
re
A los organizadores de cursos que me han invitado y me han dado la
oportunidad de compartir el poco o mucho conocimiento que tengo
er
con respecto a estos temas, gracias a ustedes también.
H
Gracias a todos!!
to
es
rnn
EEr
111
Vendido a Carlos urzua
Todos los derechos reservados
Prohibida su reproduccion