Tools yang dibutuhkan untuk menyelesaikan soal ini adalah :
Jadx
Android studio
Apktool
Jarsigner
Langkah pertama, jalankan program three.apk menggunakan jadx
Cek file FlagstaffHill, lalu kita akan fokus pada function FlagstaffHill
Pada function getFlag, variable flag memiliki nilai yaitu nope(input), dimana nope(input) jika dijalankan hanya akan menghasilkan “don’t wanna”.
Jika kita liat pada function yep, sepertinya function ini yang memiliki potensi adanya flag, lalu bagaimana caranya?
Mari kita lakukan decompile dulu pada aplikasi three.apk menggunakan apktools
Lalu penulis melakukan akses folder “three” menggunakan android studio, dan membuka file FlagstaffHill.smali
Disini kita akan merubah function nope menjadi yep, silahkan diperhatikan detailnya
After edit
Simpan lalu kita akan compile menjadi file baru dengan nama new_three.apk
“apktool b three -o new_three.apk”
Sekarang kita install aplikasi baru untuk mendapatkan flagnya.
Ooopsiee, gagal menginstall karna tadi kita melakukan compile dari file hasil decompile, maka aplikasi baru ini tidak memiliki signature yang valid, makanya tidak bisa diinstal.
Sekarang kita akan membuat sign untuk aplikasi new_three.apk
new_three.jks adalah nama file untuk sign aplikasi baru
new-key adalah alias untuk kunci sign kita.
Penulis akan memasukan sign baru yang dibuat kedapalam aplikasi new_three.apk agar aplikasi bisa diinstal.
Mari kita coba install aplikasi new_three.apk pada perangkat emulator kita
Yupp success, waktunya mendapatkan flag(?) I think hehehe
Gotchaaaa :D
EmoticonEmoticon