Kamis, 05 Juli 2018

Cybertalents Practice : Malware Reverse Engineering - GUI I [Write Up]




Hai gaes kembali lagi dengan gw Yukinoshita 47 ya gw bikin write up lagi ne dari Cybertalents yahh kali ini challenge yg gw ikuti adalah Malware Reverse Engineering lagi ne.

berikut soal nya

The correct input is the flag,format flag{xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx}



 Langsung aja kita mulai pertama yang jelas harus santai dulu dengar musik. sambil coli ehh ngopi maksud nya


gw download file GUI.exe dan gw buka di dalam aplikasi nya ada tombol button1 kemudian ada 8 buah checkbox


ya daripada memperpusingkan diri langsung aja gw buka file GUI.exe nya tadi dengan CodeReflect untuk melihat isi nya

pertama gw cek bagian yang ada kaitan nya dengan button1  yaitu bagian button1_Click(Object,EventArgs) : Void

di bagian script ini


    Loop
    Me.label4.Text = num1.ToString()
    If ((Integer.Parse(Me.label3.Text.Split(New Char() {32})(Me.current)) + 10) = num1) Then
        Me.label2.Text = Me.label2.Text & CType(num1, Char)
        Me.current = (Me.current + 1)
    End If


gw liat ada bagian yang menurut gw ada hubungannya dengan label3 yaitu adalah If ((Integer.Parse(Me.label3.Text.Split(New Char() {32})(Me.current)) + 10) = num1)



 jadi di label3 tadi gw cek script nya di bagian InitializeComponent() : Void

 Me.label3.AllowDrop = True
    Me.label3.AutoSize = True
    Me.label3.Location = New System.Drawing.Point(16, 55)
    Me.label3.Name = "label3"
    Me.label3.Size = New System.Drawing.Size(478, 13)
    Me.label3.TabIndex = 12
    Me.label3.Text = "92 98 87 93 113 95 105 85 106 94 95 105 85 89 87 91 105 87 104 85 89 95 102 94 91 104 53 115"
    Me.label3.Visible = False



gw ketemu angka ASCII di bagian  Me.label3.Text = "92 98 87 93 113 95 105 85 106 94 95 105 85 89 87 91 105 87 104 85 89 95 102 94 91 104 53 115"


jadi kesimpulan jalur nya menurut versi gw If ((Integer.Parse(Me.label3.Text.Split(New Char() {32})(Me.current)) + 10) = num1) adalah setiap digit 92 98 87 93 113 95 105 85 106 94 95 105 85 89 87 91 105 87 104 85 89 95 102 94 91 104 53 115 itu ditambah 10


contoh hitungan nya dibawah ini

jadi hasil angka ASCII nya adalah 102 108 97 103 123 105 115 95 116 104 105 115 95 99 97 101 115 97 114 95 99 105 112 104 101 114 63 21

nah angka 102 108 97 103 123 105 115 95 116 104 105 115 95 99 97 101 115 97 114 95 99 105 112 104 101 114 63 21 tersebut kita convert ke plain text hasil nya berantakan seperti gambar dibawah ini


seperti biasa angka ASCII sudah pasti rata2 3 Digit penomoran nya


jadi angka yang tadi dikoreksi menjadi 102 108 097 103 123 105 115 095 116 104 105 115 095 099 097 101 115 097 114 095 099 105 112 104 101 114 063 21 dan hasil nya adalah flag{is_this_caesar_cipher?


jadi flag nya sesuai dengan format soal challenge nya adalah flag{is_this_caesar_cipher?}

done challenge selesai


oke cukup sampai disini saja write up nya kurang lebih seperti itu lah penjelasan sederhana saya jika kalia merasa write up ini jelek ya maklumin aja wkwkwkwkwk gw seperti biasa gw udah pernah bilang kan ke lu pade gw bikin write up ini cuma buat formalitas dokumentasi aja.

sekian dan terimakasih


Share: