Reverse Engineering

Challenge
Link

Help Maxine (364 pts)

Count the Flag (400 pts)

MaskManGem (500 pts)πŸ₯‡

5P Authenticator (500 pts)πŸ₯‡

Help Maxine (364 pts)

Description

-

Solution

Diberikan source code sebagai berikut

Ubah exec menjadi print untuk mendapatkan source code yang dieksekusi. Lakukan deobfuscate manual dengan mengubah nama obfuscated functionnya, berikut hasilnya

Selanjutnya tinggal di reverse saja, decrypt dengan fernet (known key) , reverse nilainya, dan bruteforce xor key (1-256). Berikut solver yang kami gunakan.

Flag : IFEST22{it5_th3_ups1d3_d0wN}

Count the Flag (400 pts)

Description

-

Solution

Diberikan executable

Jadi validasi sebenarnya ada pada potongan kode yang kami blok. Berikut salah satu contoh potongan kode validasinya

Entah kenapa z3 error, namun karena value per index nya urut, jika index ke i diketahui maka i+1 bisa didapatkan dimana i>=0 . Jadi tinggal brute per byte dngan validasi manual. Berikut solvernya

Flag : IFEST22{NluVCPPa_H0hO}

MaskManGem (500 pts)

Description

-

Solution

Diberikan executable yang dicompile menggunakan pyinstaller. Lakukan decompile dengan https://github.com/extremecoders-re/pyinstxtractor/blob/master/pyinstxtractor.pyarrow-up-right . Disini python saya build dari source code untuk 3.8.9

Selanjutnya tinggal jalankan file py dan dapat hasil extractnya. Sempat terjebak mengira bahwa array congratuliaions lah flagnya tapi salah. Jadinya cari lagi ternyata ada di fungsi secret_func. Namun aneh hasil pyz encrypted, mencari referensi menemukan https://github.com/extremecoders-re/pyinstxtractor/wiki/Frequently-Asked-Questions#are-encrypted-pyz-archives-supportedarrow-up-right . Jadi tinggal ikuti saja caranya , berikut script decrypt yang kami gunakan

Selanjutnya tinggal decompile file secret.pyc

Jalankan dapat flag

Flag : IFEST22{mAsm4n_sEnan9_1stri_tEnanG}

5P Authenticator (500 pts)

Description

-

Solution

Executable golang. Mudahnya lakukan debugging, coba bypass setiap pengecekan

Contohnya ubah nilai rax menjadi 0x41 pada saat pc ada pada instruksi tersebut. Setelah bypass semua ternyata dapat format flag

Selanjutnya tinggal cari input 3 4 5 saja.

Kurang lebih hanya aritmatika biasa. Berikut solvernya

Flag : IFEST22{93n3r4t3_4000200070_1000200050_2000400010}

Last updated