Os dejo un par de scripts en Python que pueden resultar de utilidad para el análisis de aplicaciones en Android. Para poder ejecutarlos necesitaréis tener instaladas y accesibles desde la variable de entorno PATH las siguientes herramientas:
- Python
- apktool
- dex2jar
- Android SDK (en particular el binario aapt que se incluye con el SDK)
- Instalación de Java que incluya la herramienta keytool
Extracción de información de un APK
El script nos creará un directorio de salida en el que incluirá:
- Una carpeta content con todos los recursos de la aplicación (imágenes, layouts, strings, arrays...), fichero AndroidManifest.xml y fichero con extensión JAR preparado para cargarlo en jd-gui:
- Un fichero con un reporte en el que incluye información sobre el certificado con el que ha sido firmada la aplicación además de todas las cadenas encontradas en el código SMALI extraído en base a las expresiones regulares definidas:
Además permite incluir nuevas expresiones regulares y cadenas a buscar de forma sencilla a través del diccionario regex_dict:
Script para la modificación de APKs
El script está basado en la información que se puede encontrar en la Wiki del proyecto dex2jar para la modificación de APKs y nos irá informando durante el proceso de los momentos en que podemos realizar las modificaciones:
- Edición de código Jasmin de la aplicación
- Edición de AndroidManifest.xml donde se definen permisos, actividades, receivers, providers...
Finalmente y como se veía en la captura, se informa del nombre del fichero APK modificado que ha sido generado permitiendo realizar una instalación rápida para su análisis.