Quitar la advertencia de bootloader desbloqueado en un Moto X2 (XT1097)

Introducción

moto-logoSi previamente se ha desbloqueado el bootloader de un teléfono Moto X2 (XT1097) al iniciar el sistema operativo estará apareciendo una advertencia similar a la siguiente.Unlocked bootloader warningLa siguiente guía permite reemplazar esta imagen por la imagen habitual de inicio específicamente en un XT1097.  Esto no significa que se vuelva a bloquear el bootloader.  Seguir estos pasos pueden anular la garantía del teléfono y/o dañarlo de manera irreversible, por este motivo sólo utilice esta guía si sabe lo que hace y bajo su propia responsabilidad.

Preparar el teléfono

Activar el menú de desarrollador.

Settings > About phone > Build number (tap 7 veces)

Activar el modo de depuración por USB.

Settings > Developer options > USB debugging

Conectar el teléfono al PC

Utilice el cable USB para conectar el teléfono al PC.  Desde el teléfono autorice al PC recién conectado para la depuración por USB (Allow USB debugging).

Allow USB debugging

Acceder al bootloader del equipo

$ adb reboot bootloader

Verificar que se tiene acceso al teléfono desde el PC.

$ sudo fastboot devices

XXXXXXXXXX    fastboot

Obtener la imagen del logo de Motorola

Para hacer esto se deberá acceder al siguiente sitio y descargar el archivo logo.zip.

No Warning Message for Unlocked Bootloader

Versión local: logo.zip.

Actualizar el logo del teléfono

$ sudo fastboot flash logo logo.bin

Reiniciar el teléfono

$ sudo fastboot reboot

Recursos

  1. No Warning Message for Unlocked Bootloader
    http://forum.xda-developers.com/moto-x-2014/general/warning-message-unlocked-bootloader-t2871478

Liberar el bootloader de un Moto X2 (XT1097)

Introducción

moto-logoA continuación se realizarán los pasos necesarios para liberar el bootloader de un Moto X2 – 2014 (XT1097) o Victara, lo cual es necesario para posteriormente instalarle un custom recovery y una nueva ROM.

Realizar estos pasos en un teléfono probablemente invalide su garantía y en algunos casos pueda dañarlo de manera irreparable.  Sólo utilice esta guía si sabe lo que hace y bajo su propia responsabilidad.

Instalación de paquetes necesarios en Ubuntu

$ sudo aptitude install android-tools-adb android-tools-fastboot

Preparar el teléfono

Activar el menú de desarrollador.

Settings > About phone > Build number (tap 7 veces)

Activar el modo de depuración por USB.

Settings > Developer options > USB debugging

Activar el desbloqueo de OEM (si esta opción está presente).

Settings > Developer options > OEM unlocking

Conectar el teléfono al PC

Utilice el cable USB para conectar el teléfono al PC.  Desde el teléfono autorice al PC recién conectado para la depuración por USB (Allow USB debugging).

Allow USB debugging

Acceder al bootloader del equipo

$ adb reboot bootloader

Verificar que se tiene acceso al teléfono desde el PC.

$ sudo fastboot devices

XXXXXXXXXX    fastboot

Obtener la información de desbloqueo

$ sudo fastboot oem get_unlock_data

...
(bootloader) XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
(bootloader) XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
(bootloader) XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
(bootloader) XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
(bootloader) XXXXXXX
OKAY [  0.043s]
finished. total time: 0.043s

Solicitar el código de desbloqueo

Acceda al sitio web de Motorola Bootloader Unlock.

Paso #1 – revise los riegos de hacer esto.  Presione Next.

Paso #1.5 – regístrese en Motorola utilizando una cuenta de Motorola o una de Google.

Paso #2 – especifique el ID del dispositivo y la información de desbloqueo.  Para hacer esto copie la información obtenida en el paso anterior en una sola linea: sin espacios, o palabras extra como (bootloader) o INFO.  Por facilidad utilice la herramienta Data Scrub Tool disponible en la misma página.

Paso #3 – generar el código de desbloqueo.  Bajo la sección de Can my device be unlocked? seleccione la opción I Agree y presione el botón Request unlock key.

Obtener el código de desbloqueo

Revise el buzón de correo utilizado para identificarse en el paso anterior y obtenga el código de desbloqueo que le fue enviado.

Unlock Code: XXXXXXXXXXXXXXXXXXX

Desbloquear el bootloader del teléfono

Finalmente se procede a desbloquear el bootloader con el código recibido.  Este paso generalmente no se puede revertir y además borra todo el contenido del teléfono.

$ sudo fastboot oem unlock <Unlock Code>

Recursos

  1. Doc: fastboot intro
    https://wiki.cyanogenmod.org/w/Doc:_fastboot_intro
  2. The Easiest Way to Install Android’s ADB and Fastboot Tools on Any OS
    http://lifehacker.com/the-easiest-way-to-install-androids-adb-and-fastboot-to-1586992378

Cambiar la densidad de pantalla de un móvil Android sin requerir acceso a root

Introducción

A mi me gusta cambiar la densidad de pantalla (DPI) de mis dispositivos móviles Android ya que comúnmente la que traen por stock hace que los iconos ocupen mucho espacio en la pantalla y se tenga poco disponible para trabajar.  Al disminuir los DPIs se logra precisamente lo contrario.

Para hacer esto habitualmente se utilizan aplicaciones como Texdroider DPI, sin embargo estas aplicaciones requieren acceso al usuario root así que no se cuenta con este, no es posible ejecutarlas exitosamente.

A continuación se describe el procedimiento que se puede seguir para realizar esta misma tarea de modificar los DPIs de un móvil Android sin tener acceso al usuario root mediante la conexión a un computador.

Requerimientos

Instalación de ADB

$ sudo aptitude install android-tools-adb

Otras plataformas pueden obtener esta herramienta del SDK de Android.

Activar modo depuración USB

Antes de conectar el móvil al puerto USB del computador es necesario activar el modo de depuración de USB.  Para hacer esto es necesario acceder al menú (inicialmente oculto) de herramientas del desarrollador.

Si aún no se ha desbloqueado el menú de herramientas del desarrollador, abrir la aplicación Settings y acceder la sección About phone.  En ella identificar la entrada Build number y presionarla 7 veces.

Nuevamente, en la aplicación Settings ingresar en el -nuevo- menú llamado Developer options.  Una vez en él, activar la opción USB debugging.

Conectar finalmente el dispositivo móvil al puerto USB del computador.

Determinar la densidad actual

$ adb shell dumpsys display | grep mBaseDisplayInfo

    mBaseDisplayInfo=DisplayInfo{"Built-in Screen", uniqueId "local:0", app 1080 x 1920, real 1080 x 1920, largest app 1080 x 1920, smallest app 1080 x 1920, mode 1, defaultMode 1, modes [{id=1, width=1080, height=1920, fps=60.0}], rotation 0, density 480 (422.03 x 424.069) dpi, layerStack 0, appVsyncOff 7500000, presDeadline 12666667, type BUILT_IN, state ON, FLAG_SECURE, FLAG_SUPPORTS_PROTECTED_BUFFERS}

Modificar a la densidad deseada

Comúnmente las densidades varían entre 120 a 640 DPI, en mi caso como se puede observar en el paso anterior, el móvil en stock viene con 480 DPI.  Mi deseo esta vez es modificarlo a 360 DPI.

$ adb shell wm density 360 && adb reboot

Posibles problemas

Es posible que algunas aplicaciones puedan presentar un comportamiento erróneo ante ciertas densidades, especialmente la tienda de aplicaciones Play Store ya que algunas aplicaciones pueden restringir el rango de densidades de pantalla en las que pueden ser instaladas y terminar siendo excluido el móvil.

En este caso, sólo es necesario restaurar la densidad original, instalar la aplicación en particular y se desea volver nuevamente a la densidad deseada.

ROMs Android 5.1.1 (Lollipop) para Moto G LTE XT1040 (Peregrine)

ROMs para Samsung Galaxy Tab 4 7″ WiFi (SM-T230)

Recoveries

Instalación de Phonegap 3.x en Ubuntu 14.10

Introducción

A continuación se describe la instalación paso a paso de Phonegap 3.x en Ubuntu 12.10 desde línea de comando.  Esta instalación no incluye ningún SDK específico ya que en esta primera etapa la idea no es construir paquetes instalables (como el APK de Android) sino  desarrollar mientras se prueba en un emulador como el Ripple de Apache o la aplicación de desarrollo de Phonegap.

Instalación del software

Instalar NodeJS y su administrador de paquetes

$ sudo aptitude install nodejs nodejs-legacy npm

Crear el directorio de apps si este no existe.  Por orden se recomienda instalar el software de desarrollo bajo la carpeta ~/apps sin embargo se puede utilizar la que se desee.

$ mkdir ~/apps

$ cd ~/apps

Instalar el paquete de Phonegap.

$ npm install phonegap

Instalar el paquete de Ant, necesario para construir y ejecutar las aplicaciones desarrolladas con Phonegap.

$ npm install ant

Agregar las siguientes rutas a la variable PATH ya sea en /etc/profile, ~/.bashrc o ~/.bash_profile.

$ vi ~/.bashrc

PATH=$PATH:/home/jimezam/apps/node_modules/ant/ant/bin:/home/jimezam/apps/node_modules/.bin

Creación de un nuevo proyecto Phonegap

Ubicarse en el directorio de trabajo donde se creará el proyecto.

$ cd ~/workplace

Crear el proyecto de Phonegap a partir de una plantilla vacía utilizando la herramienta phonegap create.  Esta herramienta recibe como minimo dos parámetros: el nombre del directorio del proyecto y el paquete de la aplicación (Android).

$ phonegap create EjemploApp mi.paquete.ejemploapp

Check the presence of the OpenSSL's bug Heartbleed (CVE-2014-0160)

What is it?

The Heartbleed Bug is a serious vulnerability in the popular OpenSSL cryptographic software library. This weakness allows stealing the information protected, under normal conditions, by the SSL/TLS encryption used to secure the Internet. SSL/TLS provides communication security and privacy over the Internet for applications such as web, email, instant messaging (IM) and some virtual private networks (VPNs).

The Heartbleed bug allows anyone on the Internet to read the memory of the systems protected by the vulnerable versions of the OpenSSL software. This compromises the secret keys used to identify the service providers and to encrypt the traffic, the names and passwords of the users and the actual content. This allows attackers to eavesdrop on communications, steal data directly from the services and users and to impersonate services and users.

What leaks in practice?

We have tested some of our own services from attacker’s perspective. We attacked ourselves from outside, without leaving a trace. Without using any privileged information or credentials we were able steal from ourselves the secret keys used for our X.509 certificates, user names and passwords, instant messages, emails and business critical documents and communication.

How to stop the leak?

As long as the vulnerable version of OpenSSL is in use it can be abused. Fixed OpenSSL has been released and now it has to be deployed. Operating system vendors and distribution, appliance vendors, independent software vendors have to adopt the fix and notify their users. Service providers and users have to install the fix as it becomes available for the operating systems, networked appliances and software they use.

How to check if my server (https) or application (linked with OpenSSL library) has it?

For your web server Heartbleed test site and specify the hostname (or IP address) and port of your HTTPS server

For your Android’s mobile apps, install Bluebox Heartbleed Scanner and run it, it will check for any vulnerable apps installed on your phone.

Resources

Instalación de un recovery personalizado en un Samsung Galaxy S4 utilizando Ubuntu 13.10

Introducción

clockworkmod6-300x300La instalación de un recovery personalizado como ClockworkMod Recovery en un teléfono Android no solo permite la instalación de ROMs preparados por terceros (como CyanogenMod) sino que también permite realizar la limpieza del caché de las aplicaciones, del caché de Dalvik y, la realización y restauración de copias de seguridad completas de la ROM activa.

Para hacer esto se siguieron sin modificaciones los pasos propuestos en el wiki de Cyanogen para el modelo Samsung Galaxy S4 (SGH-i337M).  Para la instalación del mismo recovery en un Samsung Galaxy S3 (i9300 – International) se siguieron unos pasos similares.

El procedimiento a continuación describe los pasos necesarios para realizar la instalación con Linux y ha sido probado con Ubuntu 13.10.  Para su implementación con MacOSX o Windows consulte las wikis citadas en busca de las modificaciones necesarias.

Se debe tener en cuenta que manipular de esta manera los teléfonos alterando su firmware de stock puede invalidar la garantía y producir daños en los equipos.  Estos pasos se deben seguir bajo su propio riesgo.  También se debe tener en cuenta que los procedimientos y recursos varían de equipo en equipo, inclusive entre sus respectivas versiones.  El seguir este procedimiento en un equipo diferente al mencionado puede producir problemas graves.

Procedimiento

  1. Descargar la distribución de Koush’s ClockworkMod Recovery.  Durante este procedimiento se utilizó la versión 6.0.4.4 (touch).
  2. Descargar la distribución de Heimdall Suite.  Durante este procedimiento se utilizó la versión 1.4RC1.
  3. Descomprimir el paquete de heimdall y ubicarlo en el mismo directorio del recovery-clockwork.
  4. Apagar el teléfono Samsung Galaxy S4 (SGH-i337M).
  5. Conectar el cable USB al PC pero no aún al teléfono.
  6. Iniciar el teléfono Samsung Galaxy S4 (SGH-i337M) en modo de descarga (donwload) presionando los botones Volúmen abajo + Home + Encendido (power).
  7. Aceptar la notificación y conectar el cable USB al teléfono Samsung Galaxy S4 (SGH-i337M).
  8. Abrir una terminal y ubicarla en el directorio donde se descargaron los archivos.
  9. Ejecutar el siguiente comando:
    $ sudo ./heimdall flash --RECOVERY recovery-clockwork-touch-6.0.4.4-jfltecan.img --no-reboot
  10. Esperar mientras se transfiere el software y se completa la barra azul de progreso en el teléfono Samsung Galaxy S4 (SGH-i337M).
  11. Reiniciar el teléfono Samsung Galaxy S4 (SGH-i337M) presionando los botones Volúmen arriba + Home + Encendido (power).

Observaciones

  1. Tenga en cuenta que este tipo de procedimientos pueden dañar y/o invalidar la garantía de su teléfono, además que se deben utilizar los archivos específicos para la referencia del mismo.
  2. Durante la implementación de este procedimiento se utilizaron las versiones del software disponibles en el wiki de CyanogenMod.  Se recomienda consultarlo para verificar cambios en las mismas.
  3. Heimdall Suite viene disponible en versiones de 32bits y 64bits, sin embargo no fue posible utilizar la versión de 64bits así que se utilizó la versión de 32bits.
  4. Es posible que al inicio del ROM de stock se sobreescriba el recovery personalizado, para evitar esto, una vez realice el reinicio final ingrese directamente ClockworkMod Recovery manteniendo presionados los botones Volúmen arriba + Home + Encendido (power).
  5. En caso de que se sobreescriba por algún motivo el recovery personalizado sólo es necesario repetir estos pasos para recuperarlo.
  6. Si se desea actualizar la versión de ClockworkMod Recovery o instalar la versión touch (como en este caso) descargar la imagen correspondiente a su teléfono desde el sitio oficial, par el caso del Samsung Galaxy S4 (SGH-i337M) se utilizó la imagen Samsung Galaxy S4 (Canada/Bell).

Los botones de Home y Search no funcionan con CyanogenMod en Android

El problema

Después de actualizar el teléfono con la versión nocturna del 26 de agosto este se empezó a comportar de manera extraña: no aparecía el bloqueo del teclado y no funcionaban los botones físicos del teléfono de Home (casita) ni Search (lupa).  Esto aparentemente puede suceder con diferentes versiones de CyanogenMod con cualquier teléfono, esta vez fue mi caso.

La solución

Probé varias opciones desde limpiar los distintos cachés hasta restaurar la configuración de ADW y reinstalar el ROM sin resultados.

La solución llegó con simplemente agregar una opción a la base de datos de configuración de Android de la siguiente manera a través de la terminal (Terminal Emulator).

$ su -

# sqlite3 /data/data/com.android.providers.settings/databases/settings.db "INSERT INTO secure (name,value) VALUES ('device_provisioned','1');"

A continuación se deberá reiniciar el teléfono y listo!

Instalación de Cyanogen Mod 7.2 en un teléfono LG Optimus One

Introducción

Cyanogen Mod [sigh-AN-oh-jen-mod] es un reemplazo open source del firmware de dispositivos Android con la adición de múltiples características y optimizaciones que no se encuentran por defecto en las distribuciones oficiales del sistema operativo.  En lo personal encuentro muy útiles la gran cantidad de opciones de personalización del teléfono y el ahorro de memoria (casi 50%) al no tener aplicaciones indeseadas instaladas por el vendedor.

Para tener mayor información acerca de Cyanogen Mod consultar su página web.

En este artículo se describen los pasos necesarios para instalar la versión 7.2 (basada en Android 2.3.7) en un LG Optimus One (otros móviles soportados).

Este procedimiento trae consigo posibles riesgos de daño, pérdida de información o pérdida de la garantía de los equipos en los que se efectue.  Debe realizarse bajo su propia responsabilidad.  Si requiere algún tipo de soporte consulte un foro especializado como XDA Developers.  No siga estos pasos si no está seguro de lo que está haciendo.

 

Prerequisitos

  • La batería del teléfono debe tener por lo menos 60% de carga para garantizar que no se va a apagar en medio del procedimiento.
  • El teléfono no debe tener las bandas cerradas (branded).
  • Se debe contar con acceso de root en el teléfono (rooted).
  • Se debe tener instalada una herramienta de recuperación (custom recovery).
  • Realizar una copia de seguridad de toda la información importante del teléfono.
  • Saber lo que se está haciendo y aceptar toda responsabilidad por el procedimiento.

Descargar el software necesario

  1. Cyanogen Mod, el ROM con el sistema operativo como tal.  En este caso se utilizó el archivo cm-7.2.0-p500.zip.
    http://download.cyanogenmod.com/?device=p500
  2. El Google Apps Package que incluye al Play Store.  En este caso se utilió el archivo gapps-gb-20110828-signed.zip.
    http://goo.im/gapps/
Estos dos archivos zip deben copiarse a la tarjeta SD del teléfono.

Instalar ROM Manager

Instalar esta aplicación de ClockworkMod en el teléfono desde el Play Store.
Con ella se recomienda realizar un backup del ROM actual (Backup current ROM).

Iniciar en modo de recuperación

Utilizando ROM Manager seleccionar la opción Flash ClockworkMod Recovery bajo la sección de Recovery.  Una vez terminado este proceso seleccionar la opción Reboot into Recovery.

Limpiar la información del sistema operativo

  1. Seleccionar la opción Wipe Data/Factory reset.
  2. Seleccionar la opción Wipe cache partition.
  3. Bajo la opción Advanced seleccionar la opción Wipe Dalvik cache.

Instalar los ROMs

Seleccionar la opción Install zip from SD card para instalar el ROM y Choose zip from SD card para establecer la ubicación en la tarjeta SD.

Este procedimiento se debe realizar tanto para el ROM de Cyanogen Mod como para el del Google Apps Package.

Reiniciar el teléfono

El paso final consiste en reiniciar el teléfono mediante la opción Reboot system now.  Si todo salió bien se deberá iniciar la versión de Cyanogen Mod recién instalada.

Enlaces

  1. Cyanogen Mod
    http://www.cyanogenmod.com/

    1. LG Optimus One
      http://www.cyanogenmod.com/devices/lg-optimus-one
    2. Announcement: CyanogenMod 7.2 Released! (2012-Jun-16)
      http://forum.cyanogenmod.com/forum-598/announcement-23-cyanogenmod-72-released-2012-jun-16/
    3. Wiki
      http://wiki.cyanogenmod.com/index.php?title=Main_Page
  2.  Google Apps Package
    http://goo.im/gapps/