os211

Top 10 List of Week 04

  1. C Pointers
    Web ini sangat membantu saya dalam mengerti penggunaan pointers pada bahasa C yang merupakan materi di minggu ke 4 ini. Penjelasannya cukup jelas, dimulai dari hal-hal yang sederhana seperti pengertian, lalu apa itu address pada C, dan masuk pada inti pembahasan yaitu pointers dengan disertai contoh-contoh yang mudah dimengerti.

  2. Executable File and How to Create One
    Bingung dengan executable file atau bahkan ingin membuat executable file buatan diri sendiri? Website ini bisa jadi salah satu sumber referensi bagi kita yang mengalami masalah di atas. Website ini berisikan informasi mengenai definsi executable files, cara mengeksekusinya pada masing-masing operating system, dan cara membuat executable file.

  3. Static vs Dynamic Linking
    Linking adalah proses menyatukan program eksternal yang dibutuhkan oleh program yang telah kita buat agar berhasil dieksekusi. Proses linking sendiri ada 2 macam yaitu Static Linking dan Dynamic Linking. Untuk mengetahui perbedaan antara kedua proses tersebut, website ini mungkin bisa menjadi salah satu sumber referensi yang tepat bagi kita.

  4. Logical or Physical?
    Web kali akan membahas mengenai 2 tipe address dalam sebuah operating system, yakni Logical Address dan Physical Address. Perbedaan mendasar dari kedua tipe address tersebut yakni Logical Address digenerate oleh CPU pada perspektif sebuah program dan Physical Address adalah sebuah lokasi yang ada dalam memory unit. Untuk lebih lengkapnya, silahkan membaca tautan di atas.

  5. Binary Exploitation
    Bukan hanya sekedar penjelasan biasa mengenai binary exploitation, web ini memberikan contoh dan bagaimana cara simple untuk memanfaatkan buffer overflow dalam Binary Exploitation. Web ini berisi penjelasan mengenai sebuah program yang dijalankan oleh bahasa C, dimana dalam program tersebut kita bisa memanfaatkan buffer overflow untuk mengubah nilai dari suatu variabel.

  6. gets() Function
    Menurut forum diskusi yang ada pada web ini sangatlah menambah wawasan saya dalam penggunaan fungsi gets() dalam pemrograman menggunakan bahasa C. Berdasarkan contoh soal yang dibahas pada web sebelumnya, fungsi gets() menyebabkan kita bisa mengubah suatu nilai variabel dengan memanfaatkan buffer overflow. Hal ini tentunya berbahaya untuk program yang kita buat. Untuk informasi lebih lanjut mengenai pembahasan fungsi gets() dan bahkan perbedaannya dengan fgets() silahkan mengunjungi website ini.

  7. objdump ?!!
    Sesuai dengan judulnya, website ini akan membahas mengenai cara menggunakan objdump di linux. Sebelumnya apa itu objdump? objdump merupakan suatu command-line program yang bisa menampilkan berbagai macam informasi dari suatu file. Semisal kita memiliki suatu object file namun kita tidak punya source code filenya dan kita ingin menggali informasi dari file tersebut, maka kita bisa menggunakan objdump. Objdump sangat berguna bagi para programmer yang ingin melakukan proses debugging dari suatu file.

  8. GDB
    GDB atau GNU Debugger biasanya digunakan untuk mendebug file dengan debugging information dan source atau bisa juga suatu binary file. GDB mempermudah kita dalam mengetahui apa yang telah terjadi ketika program kita dieksekusi hingga berhenti. Web kali ini akan menjelaskan penggunaan gdb dalam mendebug suatu file, mulai dari perintah awal mengeksekusi, membuat breakpoints, command apa saja yang bisa digunakan serta cara kerjanya, hingga cara keluar dari gdb.

  9. Return to Libc
    Return to libc adalah sebuah computer security attack yang biasanya digunakan untuk meng-inject code kita dengan cara mengganti return address ke lokasi yang bisa kita gunakan untuk memasukan code kita. Singkatnya, kita akan membuat suatu fake function stack frame. Dalam link diatas, akan dijelaskan apa itu return to libc attack secara lebih detail dan bagaiamana tahapan-tahapan dalam melakukan return to libc attack.

  10. Stack Based BUffer Overflow
    Web terakhir di list minggu menurut saya sangat menarik dikarenakan dalam web ini akan dijelaskan mengenai EBP, EIP, dan ESP pointers yang akan mempermudah kita dalam melakukan teknik buffer overflow. Sebagai tambahan sedikit EBP adalah suatu base pointer dari current stack frame, ESP adalah current stack pointer yang berisi address yang sedang diproses, dan EIP adalah instruction pointer yang menyimpan address selanjutnya ketika suatu intruksi selesai dijalankan.