Cuando nos enfrentamos a un
proceso de reversing sobre una app Android una de las dificultades que podemos encontrar al hacer un
análisis estático
es un código complejo de trazar,
ya sea por intención propia del desarrollador al escribirlo, por el uso
de algún sistema de ofuscación, o incluso porque el propio proceso de
decompilación ha generado un código poco legible.
Para lograr encajar las piezas de estos puzzles difíciles de resolver
nos podemos apoyar en un análisis
dinámico para por ejemplo identificar
qué ocurre en las comunicaciones, qué cambios se producen en el sistema
de ficheros, qué eventos genera la app, a cuáles responde, etc. Pero
seguiremos teniendo un código muy oscuro que en algunos casos requerirá
de un gran esfuerzo para determinar por ejemplo si un fragmento de
código malicioso se llega a ejecutar.
Hace tiempo comentaba en un artículo cómo podíamos alterar en tiempo de
ejecución el código de una app
Android haciendo uso de ...
Continuar leyendo