Bugdroid Fight [1/2]

404CTF{Br4v0_tU_as_tr0uv3_m0N_m3S5ag3!}

Catégorie: Reverse Difficulté: easy Flag: -

Challenge

file-archive
6MB
circle-info

Description


Un Bugdroid sauvage apparait !

Il est temps de mettre vos compétences de boxe en pratique, mais attention, cette fois il n'y a ni ring ni arbitre. Assurez-vous de bien observer autour de vous car, comme sur le ring, il est important de connaître les habitudes de son adversaire. Bon courage,


Retrouvez le message du Bugdroid.

Format de flag : 404CTF{message}

Résolution

C'est un APK, donc direction JADX, apktool ou autre pour décompiler les .dex. Ensuite, rendez-vous dans le dossier sources.

apktool d Bugdroid_Fight_-_Part_1.apk

Le point d'entrée de l'application se trouve dans le dossier com/example/reverseintro.

Si l'on regarde le fichier MainActivityKt.java on trouve ligne 26 :

En descendant encore un peu dans le fichier (en cherchant cette string par exemple), on peut trouver à partir de la ligne 144 :

  • r3 est initialisé avec la valeur de r4, c'est-à-dire "Br4v0_tU_as_"

  • Ensuite, on a r4 qui prend la valeur de string.attr_special, puis on l'ajoute à r3

  • Enfin, r4 prend la valeur de Utils().lastPart et on l'ajoute encore à r3

Il faut donc aller récupérer ces valeurs dans le code


attr_special

Pour ma part, j'ai simplement utilisé mon IDE pour faire une recherche de attr_special dans tous les fichiers du dossier décompilé.

Dans strings.xml on trouve la valeur tr0uv3_m0N


lastPart

De même, soit avec une recherche globale, soit directement en regardant dans Utils.java puisque nous avions l'information dans le code.

La valeur est donc _m3S5ag3!


flag

Le message est donc "Br4v0_tU_as_" + "tr0uv3_m0N" + "_m3S5ag3!"

Mis à jour