Esto es debido a un cambio implementado por el Equipo de Desarrollo de Android, que decidió que por defecto la validación de certificados HTTPS para aplicaciones con API Level 24 o posterior ignorarán todos los certificados raiz instalados por el usuario en el dispositivo. Más información en https://android-developers.googleblog.com/2016/07/changes-to-trusted-certificate.html
Pero no hay que desesperarse, ya que hay un workaround para poder capturar las trazas con Fiddler, el único problema es que hay que disponer del APK correspondiente a la aplicación, pero para ello tenemos la posibilidad de conseguirlo en alguna de las webs-repositorio de APPS, por ejemplo https://apkpure.com/
Aparte del APK, necesitamos tener instalado en el ordenador las siguientes herramientas para seguir este procedimiento:
- Descargar la herramienta https://ibotpeaches.github.io/Apktool/ y seguir las instrucciones de instalación https://ibotpeaches.github.io/Apktool/install/
- Descargar e instalar el Java Development Kit http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
- Es necesaria la herramienta zipaling, por lo que se puede conseguir mediante la instalación de https://developer.android.com/studio/index.html
Una vez que tenemos todo lo necesario, nos ponemos manos a la obra.
- Desempaquetar el APK.
- Para ello abriremos una ventana de comandos como administrador en el directorio donde tengamos el APK
- Lanzamos el siguiente comando, modificando el nombre del paquete
apktool
decode app-store-release-6.3.0.apk
- Realizar modificaciones en el paquete.
- Creamos un fichero llamado network_security_config.xml que estará en el directorio %nombre de la app%\res\xml
- Editamos el fichero xml añadiendo estas líneas
<?xml
version="1.0"?>
<!-- Trust
preinstalled CAs -->
<certificates src="system"/>
<!-- Additionally
trust user added CAs -->
<certificates src="user"/></trust-anchors></base-config></network-security-config>
|
- Modificamos el fichero %nombre de la app%\AndroidManifest.xml añadiendo en la sección "application" la siguiente línea
- Empaquetar el paquete modificado.
- Desde la ventana de comandos, entraremos en el directorio donde se ha desempaquetado anteriormente %nombre de la app%
- Lanzaremos el siguiente comando cambiando el nombre por uno de nuestra elección que nos permita saber que es el APK modificado
apktool build -o
RM_PRO_unsafe.apk
- Crear el certificado con el que firmaremos el APK.
- Lanzaremos el siguiente comando (cambiando los nombres a nuestra elección), desde la carpeta donde esté instalado el Java Development Kit, en mi caso es C:\Program Files\Java\jdk1.8.0_151\bin. La ventana de comandos la abriremos como administrador.
C:\Program
Files\Java\jdk1.8.0_151\bin>keytool -keystore RM_PRO_Unsafe_fix.jks -genkey
-keyalg RSA -keysize 2048 -validity 365 -alias RM_PRO_Unsafe_fix
- Le asignaremos una contraseña al certificado, y rellenaremos los datos de generación del certificado según nos los vaya solicitando.
- Fimar el APK
- Copiamos el APK modificado a la carpeta donde hemos lanzado el comando anterior.
- Lanzamos el siguiente comando haciendo referencia al certificado que hemos creado en el punto anterior y al APK modificado. Nos pedirá la contraseña del certificado.
jarsigner
-keystore RM_PRO_unsafe_fix.jks RM_PRO_unsafe_fix.apk RM_PRO_unsafe_fix
- Re-empaquetar el APK modificado y firmado
- Desde la ventana de comandos que teníamos abierta en el paso anterior, lanzamos el siguiente comando (la ruta de la herramienta zipalign puede cambiar dependiendo de la versión de las herramientas de desarrollo de Android que tengamos instaladas en el ordenador), modificando el nombre de salida para poder distinguirlo del APK original.
"C:\Program
Files (x86)\Android\android-sdk\build-tools\25.0.3\zipalign" -f -v 4
RM_PRO_unsafe_fix.apk RM_PRO_unsafe_fix-signed.apk
Ya tenemos el APK de nuestra aplicación modificado para capturar trazas con Fiddler. Solo hay que instalarlo en el dispositivo Android, recordando que hay que activar la opción de seguridad que permite instalar aplicaciones desde fuentes desconocidas.
No hay comentarios:
Publicar un comentario