Gemastik CTF 2016 : Power Plant - 125

by Abdillah Muhamad — on  , 

cover-image

Problem :

Power plant

Solusi :

Ketika kita mencoba melakukan koneksi ke service kita di tampilkan dengan input yang meminta untuk memasukan Access Code.Kemudian kita mencoba melihat source code nya untuk mengetahui bagaimana Access Code itu di validasi.

Power Plant Redacted

Sayangnya di source code ternyata tidak memberikan full source. Jadi memaksa kita untuk melakukan reverse engineering.

Power Plant IDA

Kami menggunakan IDA Pro untuk menganalisa fungsi yang di redacted pada source code C nya. Di pseudocode terlihat ada variable &unk_8048940 yang membandingkan dengan v5[21]. ada urutan hex yang di simpan di &unk_8048940

Power Plant Hex

“40 4A 49 55 4A 4F 4B 3A 38 49 3A 36 38 3E 40 3E 36 42 3C 41 3E” untuk mendapatkan plaintext dari access code nya kita melakukan aritmatika kebalikan pada pseudocode adalah substract dari bitwise.

   v3 = 0;
    for ( i = 0; i <= 20; ++i 
)
    {
      if ( v5[i] == ~i + a1[i] 
)
        ++v3;
    }

Menggunakan python

Power Plant Convert

Di dapatkan access code :

Power Plant Access Code

Dan FLAG GEMASTIK{_______________all_ur_c0de_belong_2_us}

Power Plant Flag

Comments