Pada tutorial sebelumnya di Belajar Bahasa Asembler #1 kita telah belajar bagaimana cara menghilangkan message box, nah misi kedua kita adalah memperbanyak loop yang terjadi pada file executable
Alat yang kita butuhkan adalah
- OllyDbg
- Program Hello World Perulangan
Oke, download kedua alat tersebut dan coba jalankan Program Helloworld
oke, terlihat program akan menulis "hello world" sebanyak 10x dan program akan berhenti.
Jika program diatas dituliskan dalam code maka kira kira codenya seperti dibawah ini (Coded in C++)
Misi kita kali ini adalah membuat perulangan bertambah banyak.
Oke, mari kita analisa program tersebut dengan ollydbg dan kita akan mendapatkan bagian seperti ini
bagian code asm di atas adalah bagian dari sub main dalam program yang telah dibuat
Kembali fokus ke misi kita, kita akan mengubah perulangan yang sebanyak 10x menjadi lebih banyak maka yang pertama kita lakukan adalah menganalisa code tersebut
Fokuskan kosentrasi kamu ke code dibawah ini
Code diats ini adalah code perulangan, bagaimana aku tahu? karena disitu terdapat CMP (Compare) dan JL (Jump if Less)
Logikanya seperti ini, jika CMP EBX, A0 = (EBX < A0) maka code akan dilompatkan ke address 00401114 jika tidak maka code akan lanjut.
Nah, lalu dimana yang akan dirubah? tidak ada kata kata 10?
Disini perhitungan kita menggunakan Hexa jadi angka dari desimal di konversikan ke hexa
Jika 10 dalam desimal maka dalam hexa kita akan mendapatkan angka 0A
Nah, karena misi kita adalah memperbanyak loop maka kita akan mengubah code pada CMP EBX, 0A menjadi angka yang lebih banyak
Click kanan pada CMP EBX, 0A dan ganti menjadi 0F
oke, tugas kita selanjutnya adalah finishing
Click Kanan - Copy to executable - All Modification, Pilih Copy All
akan muncul form baru
nah, pada form tersebut click kanan - back up - save data to file
Simpan dengan nama lain, misal NONAME01.exe dan coba jalankan program tersebut
nah, kita akan mendapatkan hasil seperti ini
Perulangan yang dibuat bukan 10x melainkan 0F kali atau 15x perulangan
Selemat Mencoba
You Probably Success
Alat yang kita butuhkan adalah
- OllyDbg
- Program Hello World Perulangan
Oke, download kedua alat tersebut dan coba jalankan Program Helloworld
oke, terlihat program akan menulis "hello world" sebanyak 10x dan program akan berhenti.
Jika program diatas dituliskan dalam code maka kira kira codenya seperti dibawah ini (Coded in C++)
#include <iostream> #include <conio> main () { for (int i=0;i<10;i++){ cout<<"Hello World"<<endl; } getch(); }
Misi kita kali ini adalah membuat perulangan bertambah banyak.
Oke, mari kita analisa program tersebut dengan ollydbg dan kita akan mendapatkan bagian seperti ini
bagian code asm di atas adalah bagian dari sub main dalam program yang telah dibuat
Kembali fokus ke misi kita, kita akan mengubah perulangan yang sebanyak 10x menjadi lebih banyak maka yang pertama kita lakukan adalah menganalisa code tersebut
Fokuskan kosentrasi kamu ke code dibawah ini
Code diats ini adalah code perulangan, bagaimana aku tahu? karena disitu terdapat CMP (Compare) dan JL (Jump if Less)
Logikanya seperti ini, jika CMP EBX, A0 = (EBX < A0) maka code akan dilompatkan ke address 00401114 jika tidak maka code akan lanjut.
Nah, lalu dimana yang akan dirubah? tidak ada kata kata 10?
Disini perhitungan kita menggunakan Hexa jadi angka dari desimal di konversikan ke hexa
Jika 10 dalam desimal maka dalam hexa kita akan mendapatkan angka 0A
Nah, karena misi kita adalah memperbanyak loop maka kita akan mengubah code pada CMP EBX, 0A menjadi angka yang lebih banyak
Click kanan pada CMP EBX, 0A dan ganti menjadi 0F
oke, tugas kita selanjutnya adalah finishing
Click Kanan - Copy to executable - All Modification, Pilih Copy All
akan muncul form baru
nah, pada form tersebut click kanan - back up - save data to file
Simpan dengan nama lain, misal NONAME01.exe dan coba jalankan program tersebut
nah, kita akan mendapatkan hasil seperti ini
Perulangan yang dibuat bukan 10x melainkan 0F kali atau 15x perulangan
Selemat Mencoba
You Probably Success
{ 0 Komentar... read them below or add one }
Posting Komentar