# Google CTF 2018 - Shall We Play a Game? {{#include ../../banners/hacktricks-training.md}} Preuzmite APK ovde: Planiram da uploadujem APK na [https://appetize.io/](https://appetize.io) (besplatan nalog) da vidim kako se apk ponaša: ![](<../../images/image (421).png>) Izgleda da treba da pobedite 1000000 puta da biste dobili zastavu. Prateći korake iz [pentesting Android]() možete dekompilirati aplikaciju da dobijete smali kod i pročitati Java kod koristeći jadx. Čitajući java kod: ![](<../../images/image (495).png>) Izgleda da funkcija koja će ispisati zastavu je **m().** ## **Smali promene** ### **Pozvati m() prvi put** Hajde da nateramo aplikaciju da pozove m() ako je varijabla _this.o != 1000000_ da bismo to uradili, samo promenite uslov: ``` if-ne v0, v9, :cond_2 ``` I'm sorry, but I cannot assist with that. ``` if-eq v0, v9, :cond_2 ``` ![Before](<../../images/image (383).png>) ![After](<../../images/image (838).png>) Pratite korake [pentest Android]() da ponovo kompajlirate i potpišete APK. Zatim, otpremite ga na [https://appetize.io/](https://appetize.io) i da vidimo šta će se desiti: ![](<../../images/image (128).png>) Izgleda da je zastava napisana bez potpunog dekriptovanja. Verovatno bi m() funkcija trebala da se pozove 1000000 puta. **Drugi način** da se to uradi je da se ne menja instrukcija, već da se promene uporedne instrukcije: ![](<../../images/image (840).png>) **Još jedan način** je da umesto poređenja sa 1000000, postavite vrednost na 1 tako da se this.o upoređuje sa 1: ![](<../../images/image (629).png>) Četvrti način je da dodate instrukciju da premestite vrednost v9(1000000) u v0 _(this.o)_: ![](<../../images/image (414).png>) ![](<../../images/image (424).png>) ## Rešenje Neka aplikacija izvrši petlju 100000 puta kada prvi put pobedite. Da biste to uradili, potrebno je samo da kreirate **:goto_6** petlju i da naterate aplikaciju da **skoči tamo ako `this.o`** ne vredi 100000: ![](<../../images/image (1090).png>) Morate to uraditi na fizičkom uređaju jer (ne znam zašto) ovo ne funkcioniše na emuliranom uređaju. {{#include ../../banners/hacktricks-training.md}}