No Symbols
Published on July 13, 2025
No Symbols
Kita diberikan sebuah file binary (no_symbols) yang meminta input:
Tujuannya adalah menemukan flag yang benar. Setelah membuka file ini di disassembler, kami menemukan fungsi seperti ini:
Artinya:
- Program membaca 51 karakter input dari user ke dalam array v13.
- Tiap karakter akan di-XOR dengan 0x14 (heksadesimal untuk 20 desimal).
- Hasil XOR dibandingkan dengan array v12, yang sudah ditentukan di awal program.
- Jika semua cocok, maka input dianggap sebagai flag yang benar.
Untuk mencari flag yang benar, kita cukup membalik operasi XOR yang digunakan dalam program.
Di dalam file binary tersebut terdapat sebuah fungsi yang berisi array konstanta (disebut v12 dalam pseudocode hasil disassembly). Program akan membaca 51 karakter dari input pengguna, kemudian melakukan operasi XOR setiap karakter dengan 0x14 (heksadesimal untuk 20 desimal), lalu hasilnya dibandingkan dengan elemen-elemen di array tersebut.
Kemudian, kita menggunakan script berikut untuk membantu
Penjelasan dari kode tersebut: ● v12 adalah array yang ada di dalam binary yang digunakan untuk membandingkan input. ● Di dalam program, input user di-XOR dengan 0x14, lalu dibandingkan dengan elemen di v12. ● Untuk mendapatkan input yang benar (flag), kita cukup membalik proses itu: karakter = elemen ^ 0x14. ● Script ini mengembalikan flag yang tepat setelah proses XOR dibalik. Terakhir, tinggal jalankan program tersebut untuk mendapatkan flag