[Codegate CTF 2018 Preliminary] – Welcome to droid – 635

Original Writeup : https://github.com/vsnrain/ctf-writeups/tree/master/2018/codegate-pre/welcome\_to\_droid

Download : https://drive.google.com/file/d/1H8wDt4STvJhrILUhh1johiZnfq97KTXL/view?usp=sharing

Untuk challenge ini kita diberikan sebuah apk. Kita pun mencoba untuk menjalankan apk tersebut pada device android kami, tetapi aplikasi ternyata force close ketika dibuka. Lalu kita membuka apk tersebut pada jadx, yaitu sebuah java decompiler.

Disini bisa kita lihat bahwa class MainActivity akan mengecek jika panjang input diantara 10 dan 26. Mari kita lihat Main2Activity

Sepertinya ia melakukan fungsi xor, mari kita lanjutkan ke Main3Activity

Pada class Main3Activity fungsi k dijalankan, yang kemudian memberikan hasil yang random setiap kali ia dijalankan. Masalahnya, program tidak mau melanjutkan ke Main4Activity dimana terletak flagnya. Untuk melewati ini, kita meng-unpack apk nya menggunakan apktool dan melakukan perubahan pada AndroidManifest.xml

Setelah mengedit file tersebut kita harus compile kembali apk nya menggunakan apktool lagi.

Lalu sekarang kita perlu sign apk nya. Untuk itu kita perlu keystore terlebih dahulu. Kita menggunakan command keytool.

Lalu kita sign apk nya menggunakan jarsigner

Lalu tahap terakhir yaitu melakukan zipalign agar app teroptimisasi.

Sekarang kita akan menginstall apk ke dalam android device. Kali ini kita menggunakan adb karena kita lupa mematikan test mode, sehingga apk tidak dapat di install jika tidak di force menggunakan adb

Setelah menjalankan apk nya, flag akan ter-print pada app.

Leave a Reply

Your email address will not be published. Required fields are marked *