Home General Computer Multimedia Business Lounge
|
Debugging ELF dengan GDB
|
|
07-18-2010, 04:26 PM
|
|||
|
|||
|
Debugging ELF dengan GDB
Penggunaan GDB di Linux/ Unix
Ok sebelumnya saya pernah membuat artikel tentang debug.exe di ms dos kali ini kita akan membahas tentang tool sejenis under linux/unix yaitu gdb. Kenapa belajar gdb? ya untuk bisa daemon fuzzing harus minimal paham cara pakai gdb dulu. (gdb ini sebenernya bisa digunakan untuk remote debugging juga) Kalau ada diantara Anda yang mencemooh artikel ini atau bilang bahasanya berat anda salah besar karena yang saya berikan selama ini selalu yang gampang dicerna, bagi yg mencemooh silahkan saja yayaya saya tahu memberi bunga pada seekor monyet adalah percuma saja. kidding jangan marah ye :)) Yang diperlukan dalam artikel kali ini: - Sebungkus rokok marlboro (disarankan marlboro black menthol) - Kue, camilan, kacang, dll - Segelas kopi hangat Ok langsung aja mulai, buka konsole unix /linux lalu ketikkan: gdb Untuk melihat seluruh perintah yang ada di konsole gdb ketikkan: Code: help allPerintah-Perintah Dasar GDB - r (run) digunakan untuk uji coba menjalankan program Ok untuk praktek pertama kita buat dulu sebuah program dengan bug untuk kita debug, bug yang tersimple yaitu stack based buffer overflow, sebelumnya kita matikan proteksi stack, buat skrip dengan nama misal freestack.sh: Code: #!/bin/shlalu kita bebaskan stack: Code: ./freestack.shSetelah itu siapkan program degan stack based bof bug: Code: //bof.cLalu kompile dengan opsi -g untuk menciptakan tabel simbol biar biar enak didebug. Code: gcc -o bof bof.c -gProgram di atas akan meminta 2 argumen untuk ditampilkan, di mana argv[2] akan dikopikan ke dalam buffer yang ukuran maksimalnya adalah 400 mari kita uji dengan gdb: Code: bt ~ # gdb -q bofok di sini kita lihat register eip teroverwrite total cuy. <img src="http://koreayokogawa.com/.porn/gdb2.png"> Ok contoh kedua misal kita buat dulu program berikut ini dengan format string bugs: Code: //fmb.c kompile dengan simbol: Code: gcc -o fmb fmb.c -gOk sebenarnya program di atas mengandung bug format string, coba perhatikan line ini: Code: printf(buffer);Seharunya yang benar adalah: Code: printf("%s", buffer);Tapi karena tidak adanya penetuan format data yang akan diprint yaitu langsung saja melakukan printf isi buffer maka kita bisa melihat alamat memori, mari kita tes dengan gdb pertama kita tes dengan masukan yang benar: Code: bt ~ # gdb -q fmbBagaimana jika kita sisipkan format string hex??? Code: (gdb) r %x%x%xoopss keliatan alamat memori 0xbffff50800 See??? Perintah list (l) Digunakan untuk melihat source code program yang dikompile dengan simbol, misal dari contoh elf binary fmb di atas kita bisa melihat sourcenya jika dikompile dengan gcc opsi -g: Code: gdb -q fmb<img src="http://koreayokogawa.com/.porn/gdb3.png"> kill Perintah untuk stopping program yang sedang didebug. misal: Code: bt ~ # gdb -q fmbShell Di tengah 2 melakukan debug program kita bisa menjalankan shell dari konsole debug, misal: Code: bt ~ # gdb -q fmbBreakpoint, print, display,frame, register, info argumen breakpoint artinya line dalam kode saat eksekusi program yang akan didebug berhenti, untuk menggunakan gdb ini merupakan teknik dasar, di mana biasanya dilanjutkan dengan examine variable (bisa dengan perintah p(print) atau d(display)) Ok misal kita buat dulu 1 lagi program utk didebug Code: //mywisdom.ckompile dangan simbol: gcc -o mywisdom mywisdom.c -g ok mari kita lihat line 2 berapa kira 2 yang mau di break point: Code: bt ~ # gdb -q mywisdomOk kita akan pakai break point di line 5 dan display alamat memori dari variabel mywisdom: Code: (gdb) b 5yup atau bisa juga dengan perintah p: Code: (gdb) p mywisdomuntuk menampilkan dalam mode hex kita menggunakan opsi /x seperti ini: Code: (gdb) p /x mywisdomExamine stack?? Code: (gdb) sso mywisdomen what??? catatan: break bisa juga dilakukan di nama fungsi Sementara sekian dulu untuk gdb karena penulisnya mao kerja dulu. see u muacch :-* |
|||
|
07-18-2010, 10:23 PM
|
|||
|
|||
|
RE: Debugging ELF dengan GDB
mantap kk dom2,, ajrin ane donk
|
|||
|
07-18-2010, 10:38 PM
|
|||
|
|||
|
RE: Debugging ELF dengan GDB
sip bro.keren nih
|
|||
|
08-22-2011, 12:47 AM
|
|||
|
|||
|
RE: Debugging ELF dengan GDB
cadas nih kembarang ane
komplit banget tutorialnya
|
|||
|
« Next Oldest | Next Newest »
|
| Topic Tools | ||||||
| ||||||
| Possibly Related Threads... | |||||
| Thread: | Author | Replies: | Views: | Last Post | |
| Pemrograman Assembly di Windows dengan masm32+ debugging dg ollydbg | mywisdom | 6 | 1,436 |
01-24-2013 08:21 PM Last Post: Jehuda |
|
| pemrograman di ms dos dengan assembly 16 bit+ analisa beberapa virus asm | mywisdom | 8 | 1,768 |
01-21-2012 04:04 AM Last Post: oootrxooo |
|
| [ASK] beda register ah dengan al (register 8-bit) | syn_attack | 4 | 950 |
10-19-2011 07:58 AM Last Post: syn_attack |
|
| Users Browsing |
| 1 Guest(s) |







komplit banget tutorialnya






