W1-D2 Perangkat Lunak Terkunci

Detail Soal

Field Value
Nama Challenge W1-D2: Perangkat Lunak Terkunci
Kategori Reverse Binary
Event ZERO DAY Mini Games 2026
Poin 100
Difficulty Beginner
File perangkat_lunak_terkunci

Deskripsi Singkat

Pada challenge ini diberikan sebuah binary bernama perangkat_lunak_terkunci. Binary tersebut merupakan program verifikasi lisensi yang meminta input berupa kunci lisensi. Tujuan dari challenge ini adalah menganalisis cara program memvalidasi input, lalu menemukan license key yang benar agar program berhasil diaktifkan.

Analisis Awal

Pertama, binary dijalankan untuk melihat perilakunya.

./perangkat_lunak_terkunci

Program meminta input lisensi. Jika input salah, program akan menampilkan pesan bahwa lisensi tidak valid. Berdasarkan catatan soal, nilai yang tersimpan di dalam binary kemungkinan tidak disimpan dalam bentuk asli, sehingga perlu dianalisis menggunakan teknik reverse engineering sederhana.

Selanjutnya dilakukan pengecekan string yang ada di dalam binary.

strings perangkat_lunak_terkunci

Dari hasil pengecekan ditemukan sebuah string panjang berbentuk hexadecimal:

666c61677b6833785f737472316e675f6c3163336e73335f637234636b33647d

String tersebut terlihat seperti data yang sudah di-encode, bukan teks biasa.

Langkah Penyelesaian

Karena string yang ditemukan berbentuk hexadecimal, langkah berikutnya adalah melakukan decode dari hex ke ASCII.

Decode dapat dilakukan menggunakan command berikut:

echo "666c61677b6833785f737472316e675f6c3163336e73335f637234636b33647d" | xxd -r -p

Hasil decode-nya adalah:

flag{h3x_str1ng_l1c3ns3_cr4ck3d}

Setelah itu, hasil decode tersebut dicoba sebagai input lisensi ke program.

./perangkat_lunak_terkunci

Kemudian masukkan:

flag{h3x_str1ng_l1c3ns3_cr4ck3d}

Program memberikan output bahwa lisensi valid dan perangkat lunak berhasil diaktifkan. Ini membuktikan bahwa string hexadecimal di dalam binary adalah license key yang benar setelah didecode.

Flag

flag{h3x_str1ng_l1c3ns3_cr4ck3d}

Kesimpulan / Hal yang Dipelajari

Pada challenge ini, validasi lisensi dilakukan dengan membandingkan input pengguna dengan nilai yang sudah disimpan di dalam binary dalam bentuk hexadecimal. Dari challenge ini dapat dipelajari bahwa pada reverse engineering, string penting seperti password, key, atau flag tidak selalu disimpan dalam bentuk plaintext, tetapi bisa disamarkan menggunakan encoding sederhana seperti hex.

Previous post
W1-D3 Pemeriksa Kredensial
Next post
W1-B3 Perusahaan Bayangan