4.2 KiB
Google CTF 2018 - Shall We Play a Game?
Learn AWS hacking from zero to hero with htARTE (HackTricks AWS Red Team Expert)!
Other ways to support HackTricks:
- If you want to see your company advertised in HackTricks or download HackTricks in PDF Check the SUBSCRIPTION PLANS!
- Get the official PEASS & HackTricks swag
- Discover The PEASS Family, our collection of exclusive NFTs
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @carlospolopm.
- Share your hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
Download the APK here:
I am going to upload the APK to https://appetize.io/ (free account) to see how the apk is behaving:
Looks like you need to win 1000000 times to get the flag.
Following the steps from pentesting Android you can decompile the application to get the smali code and read the Java code using jadx.
Reading the java code:
It looks like the function that is going print the flag is m().
Smali changes
Call m() the first time
Lets make the application call m() if the variable this.o != 1000000 to do so, just cange the condition:
if-ne v0, v9, :cond_2
to:
if-eq v0, v9, :cond_2
Follow the steps of pentest Android to recompile and sign the APK. Then, upload it to https://appetize.io/ and lets see what happens:
Looks like the flag is written without being completely decrypted. Probably the m() function should be called 1000000 times.
Other way to do this is to not change the instrucction but change the compared instructions:
Another way is instead of comparing with 1000000, set the value to 1 so this.o is compared with 1:
A forth way is to add an instruction to move to value of v9(1000000) to v0 (this.o):
Solution
Make the application run the loop 100000 times when you win the first time. To do so, you only need to create the :goto_6 loop and make the application jump there if this.o
does not value 100000:
You need to do this inside a physical device as (I don't know why) this doesn't work in an emulated device.
Learn AWS hacking from zero to hero with htARTE (HackTricks AWS Red Team Expert)!
Other ways to support HackTricks:
- If you want to see your company advertised in HackTricks or download HackTricks in PDF Check the SUBSCRIPTION PLANS!
- Get the official PEASS & HackTricks swag
- Discover The PEASS Family, our collection of exclusive NFTs
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @carlospolopm.
- Share your hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.