Forensics Blog

Posts recientes

18 sept 2014

10 comandos ADB Shell a conocer...


Una de las muchas razones por la que una gran cantidad de usuarios elegimos Android es por la facilidad de uso y las muchas cosas que podemos hacer cuando conectamos nuestro dispositivo al ordenador. Muchas veces, al actualizar el teléfono o tablet a una nueva versión, ponerle una ROM cocinada o conseguir permisos de superusuario (root), necesitamos tener más contacto con el aparato que el que nos da el programa que usemos en ese instante (Odín en los Samsung, por ejemplo). El ADB (Android Debug Bridge) es un programa para ordenador que nos servirá de puente para conectar nuestros androides a la computadora y poder así interaccionar con ellos de una forma más “avanzada” y completa. Vamos a ver cómo se hace y algunos comandos básicos.

Para los usuarios de Linux o Mac, necesitarán instalar el SDK de Android tal y como se explica en el sitio web oficial. No es difícil si se siguen las pautas señaladas.

Para los que usan Windows es tan sencillo como descargar este archivo, abrir el zip y descomprimir en algún lugar la carpeta “android-tools“. Si no tenemos los drivers de nuestro teléfono instalado, deberemos buscarlos e instalarlos. Luego de instalar el archivo ADB.exe, podemos continuar.


Es importante tener la “Depuración USB” activada en nuestro androide para que todo funcione perfectamente


1. Comando adb device



Este comando es el más importante de todos, ya que es el que nos dirá si nuestro dispositivo Android se comunica bien con el equipo. Después de tener todos los archivos en la misma carpeta (la que sacamos antes del zip), simplemente debemos arrancar la consola de terminal (ADB) y escribir “adb devices” (sin las comillas). Si nos sale un número de serie, es que todo está correcto. Si por el contrario, no sale nada, tendremos que asegurarnos de que lo tenemos todo bien (drivers, depuración USB…).

2. Comando adb push


Con adb push moveremos un archivo directamente de nuestro ordenador a nuestro dispositivo Android.  Este comando viene bien cuando queremos mover archivos a directorios del sistema o cuando no tenemos ganas de hacer un drag & drop y queremos practicar un poco de uso de consola. Para mover un archivo es necesario conocer la ruta del teléfono en la que lo queremos depositar. Si, por ejemplo, queremos mover un archivo de vídeo cualquiera, deberemos colocar éste en la carpeta android-tools que hablábamos antes. Luego, escribiremos en la consola: adb push superfreak.mp4 /sdcard/Movies/; y ya estará en nuestro terminal en la carpeta movies.

3. Comando adb pull


Todo lo contrario a lo anterior. Si queremos coger un archivo de nuestro androide y llevarlo al ordenador, simplemente deberemos utilizar el comando “adb pull“. Es casi lo mismo que hicimos antes. Si queremos extraer el archivo del teléfono, por ejemplo, el que pasamos en el ejemplo anterior, la cosa sería tal que: adb pull superfreak.mp4 /sdcard/Movies/; y el archivo irá a parar de sdcard/Movies/ a nuestra carpeta tools en el ordenador. Si queremos moverlo a un directorio en particular escribiremos, después del comando adb pull y el directorio de recogida, la ruta en nuestro ordenador a la que deseamos mover el archivo: C:\Users\Aitor\Desktop; para moverlo al escritorio, por ejemplo.

4. Comando adb reboot


Hace simplemente lo que dice. Reinicia el dispositivo mediante la consola. Es una manera sencilla de reiniciar el teléfono si lo necesitamos en algún momento cuando estemos usando ADB. Sólo hay que escribir “adb reboot” y ya está. Reiniciando…

5. Comandos adb reboot-bootloader y reboot recovery


No sólo podemos reiniciar el dispositivo, sino también acceder al bootloader. Esta es una de las herramientas más ventajosas de este modo, a veces las combinaciones de botones se vuelven tediosas y queremos hacer las cosas de una manera más sencilla. Acceder al bootloader nos puede servir para muchas cosas (root, cambiar ROM…). Únicamente deberemos teclear “adb reboot-bootloader” y ya estaremos dentro.

En el caso del “reboot recovery” nos servirá para entrar en modo recovery. Muchas ROMs traen por defecto un cuadro de diálogo que nos posibilita el reiniciar en este modo, pero siempre viene bien tener una manera más de acceder en la recámara.

6. Comando fastboot devices


Cuando estamos en el bootloader, los comandos de ADB ya no funcionan. Esto es porque no estamos aún en Android, el sistema operativo del teléfono no ha arrancado del todo aún. En este caso, usamos el comando fastboot.

Puede que este sea uno de los comandos más potentes de los que hay disponibles. Hay que tener en cuenta que muchos dispositivos no lo tienen habilitado y si así, necesitaremos estar seguros de que ambos equipos se están comunicando (PC y Android). Si queremos saber si disponemos de fastboot, únicamente deberemos escribir “fastboot devices” y debería salirnos un número de serie (al igual que en adb devices).

Si el comando no funciona y estamos en Windows, tocará revisar los drivers y recorrer los foros especializados en busca de ayuda.

7. Comando fastboot oem unlock


El santo grial de los comandos de ADB para Android. Éste hace una cosa y sólo una, desbloquea los Nexus (o HTC mediante su herramienta oficial). Si tenemos un teléfono de un fabricante distinto, tendremos un método distinto en cada caso (Odín para Samsung, por ejemplo). En este último caso, este comando no nos sirve de nada. Se incluye aquí porque, aún sin necesitarlo, es una parte importante del sistema de código abierto de Android.

A Google le da lo mismo lo que hagamos con nuestros dispositivos, y nos provee de esta herramienta para desbloquear el teléfono. Esto es algo que en otras compañías no se ve, y es una de las razones por las que muchos eligen Android.

Usarlo es sencillo. Una vez habiendo usado el fastboot para saber que todo está bien comunicado, sólo debemos escribir “fastboot oem unlock“ y darle a intro. Luego toca mirar el terminal, leer cuidadosamente y elegir las opciones sabiamente.

¡¡Cuidado!!: Utilizando “fastboot oem unlock”, se borrará todo el contenido del dispositivo

8. Comando adb shell


El comando adb shell es uno de los que más confusiones crea. Hay dos maneras de usarlo: uno donde se envía un comando al dispositivo para ejecutar en su propio shell la línea de comandos, y otra donde estaremos verdaderamente dentro del shell de comandos desde el terminal. En la imagen de arriba, el usuario está dentro del shell del dispositivo, viendo los archivos y las carpetas. Llegar ahí es muy fácil, sólo tienes que escribir “adb shell“. Una vez dentro, podemos ser root si lo creemos necesario. A menos que estemos familiarizados con la ejecución de acciones por comandos, no deberemos tocar nada. Es necesario tener mucho cuidado en este nivel. Las cosas pueden volverse difíciles si no se tiene cuidado.

Normalmente se usa para tareas más avanzadas como cambiar los permisos de los archivos o carpetas, o ejecutar una secuencia de comandos. Simplemente hay que escribir “adb shell <comando>“. Un ejemplo sería cambiar los permisos de un archivo, así: “adb shell chmod 666 / data / archivo“. Mucho cuidado al usar este método.

9. Comando adb install


Este es un comando sencillo. Nos servirá para instalar aplicaciones en nuestro androide. Y al igual que los comandos pull y push, deberemos especificar la ruta en la que queremos posicionar el archivo a instalar. Un ejemplo sería mover un apk a la carpeta android-tools y luego poner en la consola “adb install Aplicacion.apk“. También podemos usar un comando para actualizar una aplicación específica. Esto se consigue añadiendo el sufijo “-r“ a la sentencia anterior. Por lo que quedaría: “adb install -r Aplicacion.apk“.

Y tal como instalamos, también podemos desinstalar. Hay un comando que nos sirve para desinstalar aplicaciones, este sería: “adb uninstall Aplicacion.apk“. Si añadimos un sufijo “-k” nos dejará los datos de la aplicación y caché en la memoria.

10. Comando adb logcat


El comando adb logcat es uno de los más útiles para algunos usuarios. Sobre todo si son cocineros o desarrolladores de aplicaciones. Cuando lo escribimos, nos devuelve una ingente cantidad de eventos escritos en diversos registros sobre el funcionamiento del sistema. Proporciona información muy valiosa para el desarrollador, ya que de aquí puede deducir qué fallo tiene su aplicación.

Para ver el registro en la pantalla del ordenador, sólo tienes que escribir “Logcat adb“ y pulsar enter. Puede que todo vaya bastante rápido y es posible que no encontremos lo que andamos buscando. Hay dos maneras de solucionar esto: los filtros y la salida de texto.

El filtro se usa cuando un desarrollador puso una etiqueta en un sitio del programa y quiere ver qué pasa justo ahí. Si es necesario, el creador nos dará la sentencia necesaria a poner en la consola. Por el contrario, la salida de texto es más fácil. Nos dará toda la información del logcat, contenido en un archivo de texto (.txt). Para ejecutarlo, sólo deberemos poner “adb Logcat> archivo.txt” y dejar que todo fluya como el viento entre los campos de maíz. Al terminar, cerraremos con CTRL+C. Encontraremos el archivo de registro completo guardado en el directorio en el que estemos trabajando (posiblemente android-tools). Ese archivo es el que debemos enviar al desarrollador.

Es importante tener en cuenta que el informe puede llevar información confidencial. Deberemos asegurarnos de borrar todo lo que no queramos que el desarrollador sepa sobre nosotros, abriendo el editor de texto (bloc de notas) y borrando lo que creamos oportuno.

0 comentarios:

Publicar un comentario