Analisis Dinamis dengan GDB dan pwndbg
Atur titik henti, periksa memori, lacak panggilan sistem, dan otomatisasikan sesi GDB dengan pwndbg.
Analisis Dinamis dengan GDB dan pwndbg adalah pelajaran Cyber Security Academy gratis di CoddyKit. Ini adalah pelajaran 3 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Cyber Security Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Cyber Security Academy mencakup 4 pelajaran total.
Apa itu Analisis Dinamis
Analisis dinamis menjalankan biner dan mengamati perilakunya secara waktu nyata: isi memori, nilai register, panggilan sistem, dan koneksi jaringan. Analisis ini melengkapi analisis statis (Ghidra) dengan menampilkan nilai serta alur kontrol yang sebenarnya saat berjalan.
Dasar-Dasar GDB
GDB (GNU Pengawakutu) adalah pengawakutu Linux standar:
gdb ./vuln # load binary
gdb -p 1234 # attach to running process
run [args] # start execution
break main # set breakpoint at main
continue (c) # continue execution
next (n) # step over
step (s) # step intoPeningkatan pwndbg
pwndbg adalah pengaya GDB yang menambahkan bantuan untuk pengembangan eksploitasi:
- Tampilan visual tumpukan/register setiap kali eksekusi berhenti
- Pembuatan pola
cyclic - Perintah
heapuntuk visualisasi memori heap - Pencari potongan kode ROP
- Pemeriksaan perlindungan biner dengan
checksec
git clone https://github.com/pwndbg/pwndbg && ./setup.shTitik Henti dan Titik Pantau
Kendalikan eksekusi:
# Break at address:
break *0x401234
# Break at function:
break strncpy
# Watch memory address:
watch *0x7ffd1234 # break when value changes
# Conditional break:
break *0x401234 if $rax == 0
# List and delete:
info break
delete 1Memeriksa Memori dan Register
Memeriksa keadaan:
info registers # show all registers
print $rax # print register value
x/10xg $rsp # examine 10 qwords at RSP
x/s 0x402000 # examine as string
x/20i $rip # disassemble 20 instructions at RIP
pwndbg: telescope $rsp 20 # smart stack displayMenelusuri Kode Langkah demi Langkah
Perintah navigasi:
ni (nexti) # step over (instruction level)
si (stepi) # step into (instruction level)
finish # run until function returns
until 0x401234 # run until addressMembuat Skrip GDB
Otomatiskan GDB dengan Python:
# GDB Python script:
gdb ./vuln << EOF
python
for i in range(10):
gdb.execute("continue")
gdb.execute("x/4xg $rsp")
end
EOFMenganalisis Memori Heap dengan pwndbg
Perintah pemeriksaan memori heap dalam pwndbg:
heap # show all heap chunks
heap -a # show all allocations
bin # show free list bins
tcachebins # show tcache entries
vis_heap_chunks # visual heap mapMelacak Panggilan Sistem
Gunakan strace untuk melacak panggilan sistem tanpa pengawakutuan penuh:
strace ./vuln # trace all syscalls
strace -e trace=open,read,write ./vuln # filter syscalls
strace -f ./vuln # follow forks
# ltrace for library calls:
ltrace ./vulnMenyiapkan Lingkungan Pengawakutuan
Penyiapan penting untuk pengembangan eksploitasi:
# Disable ASLR for testing:
echo 0 | sudo tee /proc/sys/kernel/randomize_va_space
# Or per-process:
setarch $(uname -m) -R gdb ./vuln
# Verify with:
ldd ./vuln # check libc baseMengawakutu Biner Tanpa Simbol
Banyak biner produksi tidak memiliki simbol debug karena telah dihapus. Tekniknya:
- Gunakan
filedanreadelfuntuk memahami biner - Tetapkan titik henti pada alamat, bukan simbol
- Gunakan tanda tangan fungsi untuk mengidentifikasi panggilan pustaka umum
- Muat simbol libc secara terpisah jika tersedia
Pemeriksaan Singkat: GDB
Perintah apa dalam GDB yang menetapkan titik henti yang hanya aktif ketika kondisi tertentu terpenuhi?
Ringkasan Pelajaran
GDB dengan pwndbg memungkinkan analisis dinamis: menetapkan titik henti, memeriksa register dan memori, serta melacak eksekusi. Perintah utama: break, run, ni/si, x/format, info registers. pwndbg menambahkan visualisasi memori heap, penelusuran tumpukan, dan alat pola. strace/ltrace melacak panggilan sistem dan panggilan pustaka tanpa penyiapan pengawakutuan penuh.
Belajar Cyber Security Academy dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 76
- Pelajaran
- 303
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Analisis Dinamis dengan GDB dan pwndbg” gratis?
Ya — teks lengkap “Analisis Dinamis dengan GDB dan pwndbg” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Cyber Security Academy, upgrade ke CoddyKit PRO. Kursus Cyber Security Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Analisis Dinamis dengan GDB dan pwndbg”?
Atur titik henti, periksa memori, lacak panggilan sistem, dan otomatisasikan sesi GDB dengan pwndbg. Kamu berlatih Cyber Security Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Cyber Security Academy?
Tidak diperlukan pengalaman sebelumnya. Cyber Security Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 3 dari 4.
Berapa lama pelajaran “Analisis Dinamis dengan GDB dan pwndbg” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Cyber Security Academy ini?
Ya. Setiap pelajaran Cyber Security Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Ghidra: Menavigasi dan Memberi Anotasi pada Biner
- Dasar-Dasar Assembly x86/x64 untuk Reverse Engineer
- Analisis Dinamis dengan GDB dan pwndbg
- Dek obfuskasi dan Trik Antianalisis