Gafna Blog

Back

XOR#

image

Kita diberikan sebuah file binary (xor) yang meminta input

image

Kemudian, kita membuka program tersebut menggunakan Ghidra untuk melakukan proses dekompilasi. Didapatkan fungsi berikut:

image image

Analisis program:

  • Terdapat sebuah string panjang berisi karakter acak: “asdghkashdfclkamsdfjalxsdkjfxhcaksvjnalsckuqpoiewt”
  • Program memilih beberapa karakter dari string tersebut dengan pola tertentu, lalu menyimpannya ke dalam variabel local_148. Karakter-karakter ini nantinya akan digunakan sebagai hasil pembanding akhir.
  • Password yang dimasukkan pengguna akan di-XOR satu per satu dengan nilai dari array local_e8. Hasilnya kemudian disimpan di variabel local_108.
  • Program akan membandingkan local_108 (hasil XOR dari input) dengan local_148. Jika sama, berarti password benar.

Karena kita tahu hasil akhirnya (local_148) dan kunci XOR-nya (local_e8), maka kita bisa membalik prosesnya. Berikut program yang kita buat untuk membantu.

image

Dalam program ini, program meminta user memasukkan password sepanjang 50 karakter. Password tersebut akan di-XOR satu per satu dengan array kunci (local_e8) dan hasilnya dibandingkan dengan string acuan (local_148) yang dibentuk dari string local_168. Jika hasil XOR cocok, maka password benar dan ditampilkan flagnya.

image
Flag: LK25{remov1ng_symb0l_table5_is_4_comm0n_rev_tr1ck}
```
XOR
https://gafnaa.vercel.app/blog/liga-komatik/rev/xor
Author Gafna Al Faatiha Prabowo
Published at July 13, 2025