martes, 26 de diciembre de 2017

Debugging a una App de Android con IDA PRO - Parte 2

En el anterior post preparamos nuestro terminal Android rooteado para poner un puerto a la escucha y que el dispositivo Android se pudiera conectar con IDA Pro. El siguiente paso va a ser preparar el binario de Android para poder llevar a cabo el debugging con IDA Pro.

Preparando el binario

Para preparar el programa que vamos a depurar debemos conocer la estructura de una APK, que no es sino un paquete ZIP con ciertas peculiaridades, por tanto añadimos la extensión .zip al paquete y descomprimimos en una carpeta.






Ya tenemos lo necesario para abrir IDA Pro y debuguear nuestra App, que como hemos visto se llama com.isi.testapp.

Conectando IDA Pro con nuestro terminal móvil

Una vez que tenemos el servicio funcionando en Android nos vamos a ir a IDA Pro para conectar con el terminal y cargar nuestro classes.dex (que tenemos en la carpeta del bianrio), para ello soltamos el fichero dex en IDA Pro.


Una vez que lo soltamos nos aparece el siguiente mensaje.


Me detecta que es un Android DEX file y sin modificar nada le damos a OK. Entonces nos hace un análisis previo de la aplicación.



El siguiente paso será conectar con el terminal para llevar a cabo el debugging, para ello nos vamos a Debugger - Debugger Options - Set specific options.


Aquí determinamos el path donde tenemos el ejecutable de Android Debug Bridge (previamente debemos tenerlo instalado en una carpeta del sistema).


Ahora vamos a determinar donde tenemos localizado el classes.dex y el puerto de comunicación, en nuestro caso hemos hecho el forwarding (redirección) para que la petición a adb se reenvíe al móvil. Nos vamos a Debugger - Process options.



Si nos fijamos ya aparecerá el path donde tenemos el classes.dex y nosotros le determinaremos el puerto donde tenemos el servicio android_server corriendo.


El siguiente paso será ver los procesos que tenemos corriendo en nuestro terminal, para ello previamente ejecutamos la aplicación a depurar (que vemos en el PC gracias a airDroid).



Para ver los procesos desde IDA Pro le damos a Debugger - Process options.


Seleccionamos la App objetivo y ya tendremos enganchado nuestro IDA Pro con nuestro terminal móvil, vemos como el proceso es pid-4007, así como otra información con la versión de Android 4.4.4 y la versión 19 de SDK.


Ya tenemos todo preparado para empezar a hacer un debugging, en la siguiente entrega veremos como llevar a cabo el proceso de depuración en IDA Pro.

Un handshake
@eduSatoe

"Está bien celebrar el éxito, pero es más importante aprender las lecciones del fracaso"

0 comentarios:

Publicar un comentario