Diferencia entre revisiones de «Usuario:Juanda/android/Introducción»

De WikiEducator
Saltar a: navegación, buscar
(S-OFF (Security OFF) Mode)
(flashing / flashear)
 
(37 revisiones intermedias por el mismo usuario no mostrado)
Línea 4: Línea 4:
 
<div class="slide">
 
<div class="slide">
  
= Introducción =
+
= Conceptos básicos =
 +
A continuación algunos conceptos básicos para "entrar en escena"
 
</div>
 
</div>
A continuación algunos conceptos básicos para "entrar en escena"
+
<div class="slide">
 
+
====rooting====
http://androidforums.com/evo-4g-all-things-root/278898-android-partitions-kernels-explained.html
+
* Android es un sistema operativo basado en Linux.
 
+
* El usuario root es el usuario administrador en los sistemas operativos Linux/Unix.
http://androidforums.com/evo-4g-all-things-root/279261-more-information-about-android-partitions.html
+
 
+
==rooting==
+
 
* '''Rooting''' es el proceso de adquirir privilegios de administrador en un dispositivo Android.  
 
* '''Rooting''' es el proceso de adquirir privilegios de administrador en un dispositivo Android.  
* El usuario root es el usuario administrador en los sistemas operativos Linux/Unix.
 
* Android es un sistema operativo basado en Linux.
 
* En algunos dispositivos no es necesario desbloquear el bootloader para hacerse root. En otros es un requerimiento obligado
 
 
* Una vez rooteado se pueden reemplazar programas preinstalados o modificar y reemplazar ficheros de sistema o realizar cualquier operación de bajo nivel.
 
* Una vez rooteado se pueden reemplazar programas preinstalados o modificar y reemplazar ficheros de sistema o realizar cualquier operación de bajo nivel.
A root-running program does not need any of these permissions in order to do what it wants. It just requests to run as root, and then it can grab your data, modify other programs, and send all your contacts text messages containing your photos if it wanted. It never has to ask permission. Root allows you and your applications to run with scissors through most of the operating system, and it’s great.
+
</div>
 
+
<div class="slide">
Most custom ROMs ship with Superuser/SuperSU for root access, although there is no requirement that they do so. You can have a custom ROM without root. You can also have a custom ROM that grants root to everything without the aid of a superuser application.
+
  
==jailbreaking==
+
====jailbreaking====
 
* Los dispositivos Apple tienen fuertes restricciones respecto al software que se ejecuta en sus dispositivos.  
 
* Los dispositivos Apple tienen fuertes restricciones respecto al software que se ejecuta en sus dispositivos.  
 
* Hacer jailbreak permitirá:
 
* Hacer jailbreak permitirá:
Línea 29: Línea 23:
 
:- Instalar aplicaciones desde fuera del App Store
 
:- Instalar aplicaciones desde fuera del App Store
 
:- Instalar extensiones, temas y otras modificaciones al comportamiento y al look&feel de iOS.
 
:- Instalar extensiones, temas y otras modificaciones al comportamiento y al look&feel de iOS.
 +
</div>
 +
<div class="slide">
 +
====Diferencias entre Android y iOS====
 +
* Android por defecto permite sideload y cambiar el aspecto del sistema sin necesidad de hacer rooting.
 +
* Piensa en Matrix: Jailbreak sería comparablea lo que puede hace  Morfeo y Rooting a lo que hace Neo.
 +
</div>
 +
<div class="slide">
  
==Diferencias entre Android y iOS==
+
====Side-loading====
* Android por defecto permite sideload o cambiar el aspecto del sistema sin necesidad de hacer rooting.
+
* Es el proceso de cargar aplicaciones de fuentes distintas al Play Store.  
* Piensa en Matrix: Jailbreak sería comparablea lo que puede hace  Morpheus y Rooting a lo que hace Neo.
+
* En Android es sencillo, simplemente marcar un checkbox en los Ajustes del dispositivo (opción Seguridad).  
 
+
==Side-loading==
+
* Es el proceso de cargar aplicaciones de fuentes distintas al store.  
+
* En Android es sencillo, simplemente marcar un checkbox en los Ajustes del dispositivo.  
+
 
* En iPhone no es tan sencillo ya que implica hacer el jailbreak.  
 
* En iPhone no es tan sencillo ya que implica hacer el jailbreak.  
* Como excepción hay dispositivos con versiones de Android muy restrictivas. Son casos típicos para instalar ROMS cocinadas.
+
* Hay dispositivos con versiones de Android muy restrictivas: Son casos típicos para instalar ROMS cocinadas.
 +
</div>
 +
<div class="slide">
 +
 
 +
====ROM, firmware====
 +
*Con estos términos nos referimos normalmente al sistema operativo que corre en el dispositivo.
 +
*Se ha denominado habitualmente ROM porque no está concebido en principio para ser modificado por el usuario.
 +
*Hablaremos por ejemplo de flashear una ROM cuando cojamos un sistema operativo y lo copiemos en la memoria flash del dispositivo.
 +
</div>
 +
<div class="slide">
 +
====ROMs cocinadas====
 +
*Cuando hablamos de distintas ROMS, nos referimos a versiones modificadas de Android.
 +
*Los fabricantes de dispositivos y la comunidad realiza modificaciones sobre las diferentes versiones del SO Android que se liberan en los canales oficiales
 +
* Las ROMs cocinadas suelen venir ya preparadas con acceso root mediante aplicaciones como Superuser/SuperSU.
 +
*Un ejemplo de ROM cocinada sería [http://www.cyanogenmod.org/ CyanogenMod] y sus autores los cocineros.
 +
</div>
 +
<div class="slide">
  
==flashing / flashear==
+
====flashing / flashear====
 
*Proceso de cargar software en el dispositivo (memoria flash).
 
*Proceso de cargar software en el dispositivo (memoria flash).
 
*Hay dos formas habituales de flashear un dispositivo:
 
*Hay dos formas habituales de flashear un dispositivo:
:-Usando el programa fastboot desde el PC y teniendo el dispositivo conectado al mismo (normalmente por usb). Se debe arrancar el dispositivo en modo fastboot.  
+
:-Usando el programa '''fastboot''' o similar desde el PC y teniendo el dispositivo conectado al mismo (normalmente por usb). Se debe arrancar el dispositivo en modo fastboot.  
:-Usando el modo de recuperación (recovery) del dispositivo, sin utilizar un ordenador. El dispositivo se debe iniciar en modo de recuperación.
+
:-Usando el modo de recuperación o '''recovery''' del dispositivo, sin utilizar un ordenador. El dispositivo se debe iniciar en modo de recuperación.
 +
</div>
 +
<div class="slide">
  
==unlock o desbloqueo de un terminal==
+
====unlock o desbloqueo de un terminal====
 
*Permitir que el terminal funcione con distintas operadoras de telefonía.
 
*Permitir que el terminal funcione con distintas operadoras de telefonía.
 
*Un teléfono desbloqueado debe aún así cumplir los requisitos de la red móvil de las operadoras:
 
*Un teléfono desbloqueado debe aún así cumplir los requisitos de la red móvil de las operadoras:
 
:- Usar un sistema compatible (GSM o CDMA)
 
:- Usar un sistema compatible (GSM o CDMA)
 
:- Soportar las frecuencias de la nueva operadora.
 
:- Soportar las frecuencias de la nueva operadora.
 
+
</div>
===''superCID''===
+
<div class="slide">
 +
====''superCID''====
 
* Es el Carrier Identification: un identificador de la operadora de telefonía.
 
* Es el Carrier Identification: un identificador de la operadora de telefonía.
 
*Este identificador determina que software se pueden instalar en un dispositivo. Se verifica la firma oficial del software con el CID del dispositivo, que deben coincidir.
 
*Este identificador determina que software se pueden instalar en un dispositivo. Se verifica la firma oficial del software con el CID del dispositivo, que deben coincidir.
 
*Es similar a la codificación por regiones de los DVD's que hace que un DVD estadounidense no se pueda reproducir en Europa sin hackear el reproductor.
 
*Es similar a la codificación por regiones de los DVD's que hace que un DVD estadounidense no se pueda reproducir en Europa sin hackear el reproductor.
 
+
</div>
==bootloader==
+
<div class="slide">
 
+
====bootloader====
* El [http://forum.xda-developers.com/wiki/Bootloader bootloader] es en casí cualquier entorno de sistemas operativos (no solo Android), el primer código que se ejecuta en la máquina. Su función será cargar y ejecutar el sistema operativo. Al ser un código pequeño, está compuesto de las funciones más básicas.
+
* Lo podríamos definir como la BIOS en Android.
*El bootloader tiene dependencia con el hardware lo que explica que cada teléfono o tableta tengan distintos bootloaders.
+
* Se accede con una combinación de teclas especiales, en función de cada movil.
*Se asemeja a la BIOS en un PC.
+
*Normalmente el bootloader viene bloqueado.
+
*El usuario estándar no tendrá nunca necesidad de hacer un unlocking.
+
*No es lo mismo que desbloquear el teléfono que desbloquear el bootloader.
+
 
+
 
+
==Desbloqueo (unlocking) del bootloader==
+
*Un bootloader bloqueado normalmente restringirá el tipo de load que haga.
+
*El desbloqueo normalmente elimina la garantía del terminal (podrías hacer overclock y quemar la CPU por ejemplo).
+
*¿Si Android es un sistema operativo de código libre por qué los bootloader están bloquedos?
+
:-Lo primero de todo, el bootloader no es parte de Android.
+
:-Los fabricantes de dispositivos desean mantener políticas restrictivas de operadoras, bloqueos de características o para evitar un bricking del movil.
+
* Android siendo opensource, no restringe de forma inherente el acceso al dispositivo a los usuarios finales.
+
*Los dispositivos Google Nexus están preparados para instalar sistemas operativos custom (ROM cocinadas) desbloqueando el bootloader mediante la herramienta fastboot, presente en el Android SDK: <em>fastboot oem unlock</em>
+
*Algunos fabricantes también permiten desbloquear el bootloader, por ejemplo [http://www.htcdev.com/bootloader htc].
+
*Otros no, y en este caso la comunidad intenta averiguar vulnerabilidades de seguridad para desbloquearlo (exploits).
+
*Al desbloquear el bootloader se borran los datos del teléfono. Esta es una medida de seguridad para evitar el robo de datos por hackers.
+
 
+
 
+
Si el bootloader está bloqueado no se puede flashear una ROM cocinada, no se pueden editar ficheros del sistema, sustituir la imagen por una de recuperación del sistema o instalar aplicaciones especializadas (Titanium Backup, adb wireless, etc.)
+
 
+
 
+
 
+
 
+
 
+
 
+
Stock Android or Vanilla Android, is the default android OS that comes with cell phones like the Google Nexus One, Nexus S, etc. It's basically running the android kernel that google originally designed and having no UI overlay on top of it. Some examples of UI overlays on top of stock android is HTC Sense, Samsung Touchwiz, etc.
+
 
+
== S-OFF (Security OFF) Mode ==
+
* Algunos bootloader incluyen un modo "Security ON" (AKA "S-ON") y se imponen restricciones en el arranque como por ejemplo poner el SO en modo de solo lectura. Cambiar el modo del bootloader a S-OFF será un requisito indispensable para modificar o cambiar el sistema operativo.
+
Android got a security feature you can turn on or off. Usually this should be enabled for production environment and disabled for development devices. By turning security of, you can gain root access.
+
Edit /default.prop in the root file system and set the property "ro.secure=0".
+
Most noticeably, S-ON (security on) will read-lock your /system and /recovery partition, to name a few. Also, secuflag controls whether zip files being flashed through recovery or fastboot, are signed by HTC.
+
 
+
If you are reading this section, then you are looking to S-OFF you device, but what does S-OFF mean? With our Android phones, this "S" can be in one of two positions, ON or OFF. The ON or OFF refers to the user's ability to change files in the part of your phone, or partition, where the Operating System is located. If a phone is S-ON, then this means that the end user cannot change anything in the Operating System partition, and vice versa, if a phone is S-OFF, then the end user can change files in the Operating System partition or even install a new Operating System, or ROM.
+
 
+
http://www.pocketables.com/2012/08/the-difference-between-root-s-offon-lockedunlocked-bootloader-in-the-htc-evo-series.html
+
 
+
==stock ROM==
+
Una stock ROM es una ROM creada y firmada por Google. Todo lo demás son custom ROMs.
+
 
+
==AOSP==
+
AOSP spn las siglas de [http://source.android.com/ Android Open Source Project],y es un repositorio del código fuente de Adroid.
+
 
+
==ROM, firmware, sistema operativo==
+
En la documentación de Android se refiere a la misma cosa. Al sistema operativo que corre en el dispositivo.
+
Se ha denominado habitualmente ROM porque no está concebido en principio para ser modificado por el usuario.
+
Hablaremos por ejemplo de flashear una ROM cuando cojamos un sistema operativo y lo copiemos en la memoria Flash del dispositivo.
+
Cuando hablamos de distintas ROMS, nos referimos a versiones modificadas de Android.
+
¿Por qué podemos querer instalar una versión modificada?
+
:Las [http://source.android.com/ fuentes de Android] se liberan una o dos veces al año
+
:Mi dispositivo no recibe actualizaciones
+
:El dispositivo funciona lento o tiene spyware o adware (por ejemplo de los operadores de telefonía).
+
:Al dispositivo le faltan características o se han limitado por los operadores de telefonía.
+
 
+
==Imágenes==
+
Cuando hablamos de imágenes hablamos de sistemas operativos autocontenidos (self-contained operating system). Una imagen del sistema es lo parte de Android que se usa cada día. También está la recovery image, que normalmente solo se ve cuando se instala una actualización OTA (over the air).
+
Está recovery image es lo que usan los "power users" para recoverys avanzados, backups y flashear ROMS cocinadas y kernels.
+
 
+
==hboot==
+
*HBOOT es el bootloader. It lives inside NAND's first partition, mtd0 (if partition map is MTD). It is loaded in memory (RAM) when device is switched ON. Its jobs are:
+
 
*Las funciones básicas son:
 
*Las funciones básicas son:
 
:Comprobar el hardware
 
:Comprobar el hardware
 
:Inicializar el hardware
 
:Inicializar el hardware
 
:Arrancar el sistema operativo (Android o el recovery)
 
:Arrancar el sistema operativo (Android o el recovery)
 +
</div>
 +
<div class="slide">
 +
====Modo S-OFF/S-ON (Security ON/OFF)====
 +
* Algunos bootloader incluyen un modo "Security" que imponen restricciones en el arranque como por ejemplo poner el SO en modo de solo lectura.
 +
*Cambiar el modo del bootloader a S-OFF puede ser entonces un requisito indispensable para modificar o cambiar el sistema operativo.
 +
*También controla que los zip que se flashean estén firmados por quien se espera.
 +
*Es similar pero no igual al desbloqueo del bootloader.
 +
</div>
 +
<div class="slide">
 +
====Wipe Data - Factory Reset - Hard Reset====
 +
*Wipe Data y factory reset son equivalentes:
 +
:Borran los datos de usuario
 +
:El sistema operativo se queda igual (no se hace un downgrade por ejemplo si se hubiera actualizado)
 +
:La memoria externa se queda intacta (sdcard o interna)
 +
*El hard reset es equivalente a un reseteo de un PC. No se pierden datos.
 +
</div>
 +
<div class="slide">
 +
====OEM====
 +
*Siglas de Original Equipment Manufacturer
 +
*El fabricante del dispositivo: Samsung, Nokia, Motorola...
 +
*Ya no se supone el fabricante de verdad sino la "empresa contratante" (antes si), por eso lo de "original"
 +
</div>
 +
<div class="slide">
 +
====Carrier====
 +
*Nuestro operador de telefonía: Movistar, Vodafone...
 +
</div>
 +
<div class="slide">
  
 
+
==== Imágenes ====
*ClockworkMod Recovery (CWM)
+
*Cuando hablamos de imágenes hablamos de sistemas operativos autocontenidos (self-contained operating system).  
Es uno de los custom recoveries para Android más populares. Clockworkmod Recovery es un pequeño sistema operativo guardado en una partición independiente de nuestro teléfono. Dicha partición es arrancada por el "bootloader" (arranque) cuando seleccionamos la entrada "recovery". Ofrece una gran funcionalidad (hacer particiones y dar formato la microsd, hacer backups, instalar roms y actualizaciones, dejar el móvil con los valores de fábrica ...).
+
*Una imagen del sistema sería el propio sistema operativo Android:
 
+
<source lang="bash">
El CWM recovery desaparecerá de tu móvil si flasheas.
+
dd if=/dev/mtd/mtd5 of=/sdcard/system.img bs=4096
 
+
</source>
Team Win Recovery Project 2.x, or twrp2 for short, is a custom recovery built with ease of use and customization in mind. It’s a fully touch driven user interface – no more volume rocker or power buttons to mash. The GUI is also fully XML driven and completely theme-able. You can change just about every aspect of the look and feel.
+
*Existen imágenes para el kernel, la radio, los datos de usuario o el recovery.  
 
+
</div>
 
+
</div>
*ADB
+
 
+
[http://www.elandroidelibre.com/2013/02/diez-comandos-de-adb-que-deberias-conocer.html Comandos con adb]
+
 
+
==SPL (Second Programa Layout)==
+
Es el segundo sector que se carga después del HBOOT. Si está corrompido haces un brick del teléfono.
+
Brick (ladrillo). Se refiere a que el teléfono queda en modo inservible. Puede ocurrir al hacer el S-OFF del teléfono o flashear una radio o un HBOOT.
+
 
+
==Wipe==
+
Borrado de los datos de usuario para restablecer configuración inicial (no confundir con restablecer opciones de fábrica del teléfono).
+
 
+
==Nandroid==
+
Hacer backup de tu rom actual.
+

Última revisión de 21:49 13 may 2013


rooting

  • Android es un sistema operativo basado en Linux.
  • El usuario root es el usuario administrador en los sistemas operativos Linux/Unix.
  • Rooting es el proceso de adquirir privilegios de administrador en un dispositivo Android.
  • Una vez rooteado se pueden reemplazar programas preinstalados o modificar y reemplazar ficheros de sistema o realizar cualquier operación de bajo nivel.

jailbreaking

  • Los dispositivos Apple tienen fuertes restricciones respecto al software que se ejecuta en sus dispositivos.
  • Hacer jailbreak permitirá:
- Instalar software no oficial o desde fuera del App Store
- Permitir a las aplicaciones permisos especiales (rooting)
- Instalar aplicaciones desde fuera del App Store
- Instalar extensiones, temas y otras modificaciones al comportamiento y al look&feel de iOS.

Diferencias entre Android y iOS

  • Android por defecto permite sideload y cambiar el aspecto del sistema sin necesidad de hacer rooting.
  • Piensa en Matrix: Jailbreak sería comparablea lo que puede hace Morfeo y Rooting a lo que hace Neo.

Side-loading

  • Es el proceso de cargar aplicaciones de fuentes distintas al Play Store.
  • En Android es sencillo, simplemente marcar un checkbox en los Ajustes del dispositivo (opción Seguridad).
  • En iPhone no es tan sencillo ya que implica hacer el jailbreak.
  • Hay dispositivos con versiones de Android muy restrictivas: Son casos típicos para instalar ROMS cocinadas.

ROM, firmware

  • Con estos términos nos referimos normalmente al sistema operativo que corre en el dispositivo.
  • Se ha denominado habitualmente ROM porque no está concebido en principio para ser modificado por el usuario.
  • Hablaremos por ejemplo de flashear una ROM cuando cojamos un sistema operativo y lo copiemos en la memoria flash del dispositivo.

ROMs cocinadas

  • Cuando hablamos de distintas ROMS, nos referimos a versiones modificadas de Android.
  • Los fabricantes de dispositivos y la comunidad realiza modificaciones sobre las diferentes versiones del SO Android que se liberan en los canales oficiales
  • Las ROMs cocinadas suelen venir ya preparadas con acceso root mediante aplicaciones como Superuser/SuperSU.
  • Un ejemplo de ROM cocinada sería CyanogenMod y sus autores los cocineros.

flashing / flashear

  • Proceso de cargar software en el dispositivo (memoria flash).
  • Hay dos formas habituales de flashear un dispositivo:
-Usando el programa fastboot o similar desde el PC y teniendo el dispositivo conectado al mismo (normalmente por usb). Se debe arrancar el dispositivo en modo fastboot.
-Usando el modo de recuperación o recovery del dispositivo, sin utilizar un ordenador. El dispositivo se debe iniciar en modo de recuperación.

unlock o desbloqueo de un terminal

  • Permitir que el terminal funcione con distintas operadoras de telefonía.
  • Un teléfono desbloqueado debe aún así cumplir los requisitos de la red móvil de las operadoras:
- Usar un sistema compatible (GSM o CDMA)
- Soportar las frecuencias de la nueva operadora.

superCID

  • Es el Carrier Identification: un identificador de la operadora de telefonía.
  • Este identificador determina que software se pueden instalar en un dispositivo. Se verifica la firma oficial del software con el CID del dispositivo, que deben coincidir.
  • Es similar a la codificación por regiones de los DVD's que hace que un DVD estadounidense no se pueda reproducir en Europa sin hackear el reproductor.

bootloader

  • Lo podríamos definir como la BIOS en Android.
  • Se accede con una combinación de teclas especiales, en función de cada movil.
  • Las funciones básicas son:
Comprobar el hardware
Inicializar el hardware
Arrancar el sistema operativo (Android o el recovery)

Modo S-OFF/S-ON (Security ON/OFF)

  • Algunos bootloader incluyen un modo "Security" que imponen restricciones en el arranque como por ejemplo poner el SO en modo de solo lectura.
  • Cambiar el modo del bootloader a S-OFF puede ser entonces un requisito indispensable para modificar o cambiar el sistema operativo.
  • También controla que los zip que se flashean estén firmados por quien se espera.
  • Es similar pero no igual al desbloqueo del bootloader.

Wipe Data - Factory Reset - Hard Reset

  • Wipe Data y factory reset son equivalentes:
Borran los datos de usuario
El sistema operativo se queda igual (no se hace un downgrade por ejemplo si se hubiera actualizado)
La memoria externa se queda intacta (sdcard o interna)
  • El hard reset es equivalente a un reseteo de un PC. No se pierden datos.

OEM

  • Siglas de Original Equipment Manufacturer
  • El fabricante del dispositivo: Samsung, Nokia, Motorola...
  • Ya no se supone el fabricante de verdad sino la "empresa contratante" (antes si), por eso lo de "original"

Carrier

  • Nuestro operador de telefonía: Movistar, Vodafone...

Imágenes

  • Cuando hablamos de imágenes hablamos de sistemas operativos autocontenidos (self-contained operating system).
  • Una imagen del sistema sería el propio sistema operativo Android:
dd if=/dev/mtd/mtd5 of=/sdcard/system.img bs=4096
  • Existen imágenes para el kernel, la radio, los datos de usuario o el recovery.