Depurar aplicaciones con IDA¶
Este capítulo le mostrará cómo depurar rápidamente aplicaciones de Android utilizando FIRERPA y sus funciones y scripts relacionados. Nuestro entorno de demostración es un sistema Android 10, con un sistema anfitrión Ubuntu 22.04, y herramientas relevantes como IDA 7.5 (wine), ADB, jdb y Python ya instaladas. Se recomienda que su versión de IDA sea 7.5 o superior y que tenga instalada la última versión del servidor FIRERPA.

Establecer el modo depurable¶
Antes de continuar, si su sistema ya está en modo de depuración, no necesita realizar este paso. De lo contrario, abra el escritorio remoto de FIRERPA y escriba setdebuggable en la terminal. Después de introducir el comando, su teléfono se reiniciará de forma suave (soft reboot). No se preocupe, volverá a la normalidad en unos dos minutos. En este punto, su teléfono ya estará en modo depurable.

Instalar el servicio de depuración de IDA¶
Antes de continuar con la depuración, también necesita subir el servidor de depuración de Android que viene con IDA a su dispositivo. Puede encontrar android_server y android_server64 en el directorio dbgsrv de su instalación de IDA. Si la aplicación que desea depurar utiliza bibliotecas enlazadas de 32 bits, use android_server; de lo contrario, use android_server64. Arrastre y suelte el archivo necesario o use adb push para subirlo a su dispositivo Android y otórguele permisos de ejecución.
chmod 755 android_server*
Después de otorgar los permisos de ejecución, necesita iniciar el servicio android_server. Puede ejecutar este programa a través de adb (requiere permisos de root) o desde la terminal del escritorio remoto. En sistemas de versiones superiores (>=10), es necesario establecer previamente la variable de entorno IDA_LIBC_PATH.
IDA_LIBC_PATH=/apex/com.android.runtime/lib64/bionic/libc.so ./android_server64 -kk
Nota
Redireccionar el servicio de depuración de IDA¶
Para situaciones de depuración que requieren alta capacidad de respuesta y rendimiento, recomendamos usar una conexión USB. Asegúrese de que su dispositivo esté conectado a la computadora actual y que la autorización de adb se haya completado. Luego, ejecute el siguiente comando.
adb forward tcp:23946 tcp:23946
Nota
Iniciar la depuración de la aplicación¶
No hemos hecho mucho trabajo, simplemente hemos encapsulado un script para usted que puede ayudarle a automatizar la mayoría de las operaciones posteriores. Simplemente siga las instrucciones que muestra el script. Puede encontrar el script ida.py en el directorio tools del proyecto y usarlo con el siguiente comando.
python3 ida.py -d 192.168.0.2 -a com.android.settings

Aquí, el parámetro -d es la IP de su dispositivo, es decir, la IP del dispositivo que ejecuta el servicio FIRERPA, y el parámetro -a es el nombre del paquete de la aplicación. Después de ejecutar el comando, se le pedirá que adjunte su software IDA al proceso de la aplicación.



Bien, todo el proceso ha finalizado. Por favor, vuelva a la línea de comandos de ida.py y presione la tecla Enter. Ahora puede continuar con la depuración.