[Cyber Jawara 2020 Qualification] – Snake 2020


pada challenge ini kami menerima sebuah file .jar >< unch unch java, pada saat dijalankan javanya akan terlihat seperti game snake kayak biasa

memang sungguh bukan ular biasa, bercanda gan, kemudian seperti yang terlihat di gambar diatas file tersebut akan membuka sebuah game snake yang terlihat biasa biasa saja, dari deskripsi soal terlihat bahwa jika kita mengganti score menjadi 8172 tidak akan menyelesaikan challenge ini, pertama hamba yang masih belajar ini mencoba untuk melakukan static analysis dengan menggunakkan tools tercinta yaitu JADX namun sayangnya tidak keluar apa-apa T_T padahal kan java, kemudian untuk analisis komperhensif dengan memperkirakan bahwa .class mengalami proses compile yang berbeda dari jar biasanya akhirnya hamba mencoba untuk melakukan static analysis dengan menggunakkan ghidra <3,

dari gambar diatas kita dapat melihat dengan jelas pada game.class tepatnya di function update kita dapat melihat bahwa ada satu varible yang akan diproses sebut saja namanya MILESTONES disini kita dapat melihat dengan jelas bahwa setiap kita menyentuh milestones maka game ULAR ULAR ini akan mengeluarkan outuput satu char, kemudian pada saat hamba yang masih belajar ini bingung untuk melakukan tracing terhadap jar ini hamba dapat pencerahaan oleh sang guru besar GOOGLE untuk menggunkkan cfr.jar yang bisa melakukan decompile terhadap .jar juga.

hamba ingin mengakui sebuah kesalah seharusnya ini didapatkan lebih cepat jika lebih teliti pada saat memperhatikan ghidra millestonenya akan terlihat seperti ini versi ghidra. andaikan hamba lebih teliti ><

langsung saja terlihat BUNG terlihat variable MILESTONES yang isinya adalah catatan score yang akan menjadi checkpoint, kemudian jika dijalankan sesuai dengan program ULAR ini maka kita akan mendapatkan titik temu bahwa setiap kita melakukan hit di score yang ada di milestones maka dia akan mengeluarkan satu letters -> ini flagnya gan makanya ga bisa langsung 8172, untung hamba tidak tertipu, oleh karena itu dengan melakukan perhitungan mundur seperti contoh 8172 – 8047 = 125 yang kalo kita type cast menjadi chr akan menjadi “}”, mantap dari sini tinggal langsung sikat BROOOOO!!!


Flag = CJ2020{ch34t1ng_15_54t15fy1ng}

Leave a Reply

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