Sur un device physique connecté en USB, débogage USB activé :
adb install reverse_me_1.apk
apktool d reverse_me_1.apk
cd reverse_me_1/smali/ctf/interiut/reverse_me_1/
ls # on trouve NotFlag.smali et MainActivity.smali
-
MainActivity.smali :
On voit que l'appli apelle la méthode
getFlag()
de la classe NotFlag, avec comme argument le texte entré par l'utilisateur. Si la méthode retournetrue
un Toast est créé et affiche un message qui dit que c'est bien le flag. Sinon nique vous. -
NotFlag.smali :
Une seule méthode est présente :
getFlag()
, des Strings sont instanciés, puis concaténés dans un certain ordre. L'entrée utilisateur est ensuite testée, si elle est identique à la chaîne formée, la méthode renvoietrue
,false
sinon.
Dans la classe NotFlag on a le flag, on fait la concaténation des différents Strings dans le bon ordre et on a le flag.