Belajar Bahasa Assembler #1

Ditulis oleh robzlabz pada Kamis, 26 April 2012

Jika kamu adalah pembaca setia di blog ini pasti anda bertanya tanya kenapa blog ini tidak pernah di update, yah maklum penulis masih mahasiswa yang harus menempuh ujian MID T_T

Okey, kali ini kita akan sedikit belajar tentang bahasa assembler yang sebenarnya sku juga belum begitu mengerti, tapi semoha ilmu yang sedikit ini dapat bermanfaat :)

Alat yang kita butuhkan dalam praktik assembler ini adalah
- OllyDbg
- File Project1.exe

Setelah membuka kedua alat diatas mari mulai dengan extract ollydbg ke folder dimana kamu mudah untuk mengaksesnya. Langkah kedua mari kita analisa file yang ada di project1

ketika kita buka file project1 maka akan keluar messagebox berupa
ketika kita pilih yes maka
dan ketika pilih no maka akan keluar

dari analisa tersebut dapat kita simpulkan bahwa kode tersebut


If (MsgBox("Hello world", vbYesNo, "World") = vbYes) Then
    MsgBox "Anda pilih yes"
Else
    MsgBox "Anda pilih no"
End If

bagaimana bisa dapat kode seperti itu? yak karena akulah pembuat programnya :D
tapi paling tidak kita dapat gambaran bagaimana cara menganalisanya kan :)

oke, misi pertama kita adalah menghapus message box yang terdapat pilihan opsi yes no dengan olly debugger

 maka mari kita buka ollydbg lalu open project1 maka kita akan dapat kode asm seperti ini


hmmm... jika kamu tidak mengerti dari bahasa assembler disitu tidak masalah, karena aku juga tidak mengerti semuanya. hanya yang perlu saja :)

Oke, kita akan mencari string yang mengandung "hello world", click kanan - search for - all reference text string




Double click pada text hello world lalu kita akan langsung diarahkan pada Address string tersebut pada CPU

oke, mari kita analisa code yang kita dapat

pada address 00401669 kita mendapatkan UNICODE "World" yang artinya code pada address 00401669    digunakan untuk load kata world. Lalu code pada address 0040167F terdapat UNICODE "Hello World" yang artinya code itu menyediakan kata "hello world" lalu yang terpenting adalah code pada address 004016A1 yang terdapat fungsi MSVBVM60.rtcMsgBox yang artinya program akan memanggil fungsi MsgBox.

Karena kita sudah mendapatkan address untuk menampilkan message box maka mari kita disable code trersebut dengan mengisikan NOP

click kanan pada address 004016A1 - Assemble lalu tuliskan NOP dan click Assemble




Misi kita telah selesai, hanya tinggal finishing saja dengan save program ini dengan nama yang baru

click kanan - copy to executable - all modifications, pilih copy all


maka akan muncul form baru

untuk menyimpannya click kanan - backup - save data to file
beri nama lain, misal modif_project1.exe

Oke, cobalah untuk execute file modif_project1.exe bandingkan dengan project1.exe

Silahkan mencoba... 
You Probably success :)

{ 0 Komentar... read them below or add one }

Posting Komentar

Label Could

Analisa (1) Assembler (4) c (1) cpp (3) Facebook (7) Fun (2) Galau (6) Hacking (1) Hardware (1) Java (7) JavaScript (4) Komik (10) My Family (1) My Life (14) My Way (8) NFC (1) NFC Hacking (1) Php (1) Program (47) Project (1) Script (1) Technology (1) Visual Basic 6 (2) Visual Basic.NET (4) What The Pufh (12)