Hackit’2012, solucionario. Level 4

Así que tenemos que destripar un binario .apk para Android… bien, empecemos con la cirugía.

1) Comprobemos material quirúrgico. Vamos a necesitar apktool para abrir al paciente.
2) Un vademecum de cómo y por dónde cortar tampoco vendrá mal.
3) Proceder a abrir en canal el .apk

apktool d AndroidLevel0.apk

4) Buscar un poco dentro de las tripas, a ver si encontramos algo valioso

$ grep -irn "password" * 
...
AndroidLevel0/smali/com/mobandme/hackit/euskal20/level0/services/CryptographyService.smali:114:   
direct {p0}, Lcom/mobandme/hackit/euskal20/level0/services/CryptographyService;->decodePassword()Ljava/lang/String;
 ...

5. Yo creo que tendremos que empezar examinando esa zona (decodePassword() suena bien 🙂
6. Editamos el services/CryptographyService.smali para incluir una llamada de log justo en el punto en el que la aplicación comprueba nuestro password con el que tiene almacenado.

 
const-string v0, "DL_Rules"
# Después de 
#    invoke-direct {p0}, Lcom/mobandme/hackit/euskal20/level0/services/CryptographyService;->decodePassword()Ljava/lang/String;
 #   move-result-object v2
 
invoke-static {v0, v2}, Landroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I

Por cierto, no conocíamos mucho de las interioridades de un paciente Android, asi que tuvimos que revisar varios tutoriales en la guía anteriormente citada hasta entender cómo llamar al método de la clase Log (que nos mostrará en pantalla el password en claro)

7. Ya podemos cerrar el cuerpo del delito. Sutura.

apktool b AndroidLevel0 /tmp/hack.apk

8. Firmamos nuestra obra de arte

jarsigner -keystore ~/.android/debug.keystore  /tmp/hack.apk  androiddebugkey

9. Y le decimos al paciente que se tome esta pastilla:

adb install /tmp/hack.apk

10. No perder de vista su reacción, porque seguro que nos dice algo interesante que nos permitirá pasar al nivel 5 😉

adb logcat

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.