jueves, 5 de noviembre de 2015

¿Se puede recompilar un reversing de una APK ?



Una de las partes fundamentales a la hora del estudio de aplicaciones móviles es controlar el reversing de las mismas, con APKTool y Dex2Jar se puede hacer de forma muy sencilla.
Dex2Jar para hacer el reversing a archivos. Jar que seguro os suenan o resultan más familiares de leer.
APKTool es la herramienta que “aglutina” varias herramientas la que nos interesa para este caso es backsmali, hace un reversing de la aplicación a código SMALI, este es el código que entiende la DVM, por decirlo de otro modo, el código que entiende internamente la máquina virtual de Android.
Lo habitual es hacer reversing con el Dex2Jar, abrir los archivos con JD-GUI y después desde la misma se guardan de forma que, ya son más o menos legibles desde tu editor de códigoi habitual (eclipse, Androdi Studio…).
Existe la forma de que, con paciencia, hacer el árbol de directorios de la aplicación Android y meter estos jar en su correspondiente carpeta dando la falsa ilusión de que se podría modificar ese código Java y volver a compilar.
Pues esto es erróneo, no se puede volver a compilar este código. El compilador cuando realiza el compilado (menudo trabalenguas) de las aplicaciones modifica el código optimizándolo y variándolo a su necesidad. El resultado de ello es que cuando estas revisando el código con JD-GUI puede ver casos en que devuelve un error y no muestra el código:
 

Esto es porque no ha podido hacer el reversing completo de ese archivo, en cuanto tengas en el resto del programa alguna referencia al mismo éste devolvería un error. Además de que no tienes la certeza de que el 100% de código Java obtenido por reingeniería es el auténtico. Como os digo el compilador realiza muchos trabajo sobre el mismo.
¿Existe alguna manera entonces de modificar el código fuente de una APK?
Si, tal y como hemos mencionado al principio APKTool incluye BackSmali. El código Smali sí se puede tocar, modificar y volver a compilar.
Para ser un código más cercano al hardware que Java es bastante legible por lo que os invito a que hagáis la prueba, en Smali cambios básicos no son excesivamente complicados de hacer y rápidamente te orientas en el código.
Os dejo un par de enlaces para quienes quieran quieran aprender más sobre Smali:
 

jueves, 15 de octubre de 2015

Diapositivas del taller de Android de Navaja Negra



Estaba esperando que las subieran a la web del evento pero como me las habéis pedido varias personas las he subido al repositorio de GitHub creado para este fin.
Para los más despistados os las pongo aquí mismo, recordar que todas las apks y códigos de malware usados durante el taller los tenéis disponibles en:

https://github.com/mirojo/NN5EDAndroid

martes, 6 de octubre de 2015

Navaja Negra 5 fin, hasta el año que viene



Se terminó Navaja Negra, después de más de 3 días por tierras de Albacete disfrutando, habrá que esperar al año que viene para poder volver a sus aulas.

Este año la Navaja era muy especial para mí ya que era mi estreno como ponente con un taller sobre “Android desde 0 hasta crear nuestro primer malware”. Sinceramente, creía que estaría en la sala sola o con muy poca gente.

Mi primera sorpresa llegó el Miércoles por la noche,  donde ya me comentaron que en la intención de acudir a los talleres el mío había tenido un gran poder de convocatoria, y así fue, ¡llenamos el aula más grande!

Mil gracias a todos los que fuisteis a verme en el taller, al parecer causó buena sensación porque las críticas fueron muy favorables.

Y mil gracias a la organización por ponerme al comienzo del evento, estaba muy nerviosa y el poder hacerlo lo primero me hizo disfrutar del resto de la navaja.



Yéndonos a cosas menos serias esta Navaja ha sido muy divertida, hubo una puja de hackers y conocí a Eve Mae, la dibujante de Hacker Épico. Desde aquí os animo a que conozcáis su trabajo. Muchas gracias por la dedicatoria que me hizo en mi ejemplar del comic.

También conocí por allí a la gente de Koodous.com, ya tenía puesta su web en mis diapositivas cuando me dieron la sorpresa de que estarían por allí. Un gran proyecto llevado por gran gente. Y encima me regalaron una camiseta :) Dos nuevas camisetas para mi colección.


No quiero acabar el post sin dar un abrazo a toda esa gente de la navaja, he conocido a muchísima gente nueva por allí (no quiero olvidarme de nadie aunque es difícil) pero un especial abrazo al grupo de “Amateur” que no pudimos hacer nada del CTF pero sí que logramos hacer ondas de vidrio.