Belajar Bahasa Assembler #4

Ditulis oleh robzlabz pada Jumat, 04 Mei 2012

Pada pelajaran bahasa asembler kali ini agak unik karena kita akan berusaha menghilangkan setan dari code yang dibuat, codenya kira kira seperti ini

#include <iostream>
#include <conio>

main ()
{
   cout<<"Saya Header";
   while(true){
    cout<<"Saya Setannya";
   }
   cout<<"Saya Footer";

   getch();
}

Bila kita lihat dari code yang ada, pada perulangan while terdapat cout setan dan perulangan itu tidak akan berhenti karena nilai dari while selalu true. Nah, tugas kita kali ini adalah menghapus setan dari kode tersebut sehingga program dapat berjalan tanpa setan :D

Tampilan setan, tidak berhenti


Oke, mari kita mulai, pertama alat yang kita butuhkan adalah
- OllyDbg
 - Aplikasi setan.exe 

Setelah download kedua aplikasi tersebut, bukalah aplikasi setan.exe dengan OllyDbg, dan analisa code mainnya

Main Section dari Program Setan.exe
oke, code main aplikasi ini berada pada address 00401108  sampai 0040114D, okay nah sekarang mari kita mencari address dari 3 code yaitu header, setan, dan footernya

Kuncinya disini setiap code header, setan dan footer mempunyai code PUSH 0. jadi jika kamu menemukan code PUSH 0 berati itu adalah awalan dari kode cout. Kalau begitu kita temukan ketiga kode tersebut di address 00401117 (header), 00401123 (setan), dan  00401134 (footer)

Nah, mari kita laksanakan misi kita kali ini, misinya adalah menghilangkan setan yang ada dalam program. Karena kita sudah menetahui lokasi address dari ketiga kode tersebut maka yang kita butuhkan kali ini adalah melompatkan kode. Dalam hal ini yang kita gunakan adalah JMP (Jump), nah karena kita ingin menghilangkan setan maka buatlah kodenya menjadi seperti ini Header(Jump to Footer) - Setan - Footer.

Oke, mari kita laksanakan langkah kita, cari address setelah code akhir dari Header yang kita temukan di 00401120 dengan code ADD ESP,0C dan kita ganti dengan JMP (Address Footer) jadi JMP 00401134. Nah setelah kita asembler kode ini maka kita sudah melompatkan kode dari Header langsung lompat ke footer.

Oke, bila sudah selesai simpan ke dalam bentuk file dan coba dijalankan.maka  kita akan mendapatkan tampilan yang tanpa setan

Tampilan setelah setan di hilangkan
Nah, beginilah caranya melompatkan code, jadi kode setan tidak akan di eksekusi lagi,

Selamat Mencoba :)

{ 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)