Bugdroid Fight [2/2]

404CTF{4v4D0_K1dAvR0!}

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

Challenge

file-archive
2MB
circle-info

Description


Vous venez de consulter le message du Bugdroid...

Dans son message, il explique que le combat ne peut être gagné à la seule force des poings... À moins que vous ne soyez aidé d'une force divine : une formule magique se cache ici, elle vous permettra de gagner le duel.

Format de flag : 404CTF{formule_magique}

Décompilation

On a un fichier .aab. Après quelques recherches, il est possible de générer un apk depuis celui-ci.

bundletool build-apks --bundle=Bugdroid_Fight_-_Part_2.aab --output=Bugdroid_Fight_-_Part_2.apks

Une fois l'archive créée, à l'intérieur se trouve universal.apk, il faut alors la décompiler avec apktool (ou autre).


Résolution

On commence par une recherche globale dans les fichiers avec le mot "Bugdroid" (c'est le nom du challenge). Bingo, on trouve app_name :

En se rendant dans strings.xml, on observe une valeur un peu bizarre nommée action_header

Maintenant, on peut relancer une recherche avec action_header :

Le fichier r0/C0428a.java semble intéressant puisqu'à l'intérieur, on trouve une comparaison entre deux strings qui affiche Correct ou Incorrect. Surement la vérification du mot de passe.

Les valeurs utilisées dans alphabet, action_header et edit se trouvent dans strings.xml

Si l'on regarde les lignes au-dessus (j'ai supprimé les lignes inutiles et commenté) :

Il suffit donc d'inverser le chiffrement depuis le résultat attendu.

Mis à jour