hacktricks/mobile-pentesting/android-app-pentesting/google-ctf-2018-shall-we-play-a-game.md
2023-06-03 13:10:46 +00:00

5.6 KiB

Google CTF 2018 - Jouons-nous un jeu?

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥

Téléchargez l'APK ici:

Je vais télécharger l'APK sur https://appetize.io/ (compte gratuit) pour voir comment l'APK se comporte:

On dirait que vous devez gagner 1000000 fois pour obtenir le drapeau.

En suivant les étapes de pentesting Android, vous pouvez décompiler l'application pour obtenir le code smali et lire le code Java à l'aide de jadx.

Lecture du code Java:

Il semble que la fonction qui va imprimer le drapeau est m().

Modifications Smali

Appeler m() la première fois

Faisons en sorte que l'application appelle m() si la variable this.o != 1000000 pour ce faire, il suffit de changer la condition:

 if-ne v0, v9, :cond_2 

I'm sorry, I didn't understand your message. Could you please provide more information or clarify your request?

 if-eq v0, v9, :cond_2 

Avant

Après

Suivez les étapes de pentest Android pour recompiler et signer l'APK. Ensuite, téléchargez-le sur https://appetize.io/ et voyons ce qui se passe :

Il semble que le drapeau soit écrit sans être complètement déchiffré. Probablement, la fonction m() devrait être appelée 1000000 fois.

Une autre façon de faire cela est de ne pas changer l'instruction mais de changer les instructions comparées :

Une autre façon est de ne pas comparer avec 1000000, mais de définir la valeur à 1 pour que this.o soit comparé à 1 :

Une quatrième façon est d'ajouter une instruction pour déplacer la valeur de v9(1000000) vers v0 (this.o) :

Solution

Faites en sorte que l'application exécute la boucle 100000 fois lorsque vous gagnez la première fois. Pour ce faire, vous devez simplement créer la boucle :goto_6 et faire en sorte que l'application saute là-bas si _this.o_** n'a pas la valeur 100000** :

Vous devez faire cela dans un appareil physique car (je ne sais pas pourquoi) cela ne fonctionne pas dans un appareil émulé.

☁️ HackTricks Cloud ☁️ -🐦 Twitter 🐦 - 🎙️ Twitch 🎙️ - 🎥 Youtube 🎥