Simple examples for learning Kernel Module of various platform.
For English version, see README.EN.md.
Repositori ini menghimpun contoh-contoh kode dan kerangka program untuk membangun Kernel Module di beragam platform.
Semua code yang disertakan dalam repositori ini mencakup instruksi kompilasi yang dibutuhkan.
Kernel Module adalah potongan kode yang memperluas atau memperkaya kemampuan kernel Operating System. Sebagian besar operating system mendukung Kernel Module dengan istilah berbeda. Beberapa istilah populer antara lain:
Kernel Loadable
module (kld) untukFreeBSD
Kernel Extension
(kext) untukMacOS
Loadble Kernel Module
(lkm) untuklinux
Kernel Module sering disebut pula dengan driver atau device driver
. Meskipun banyak kernel module diciptakan untuk mengimplementasikan interface antara kernel dan perangkat, namun istilah ini tidak sepenuhnya benar. Kernel Module tidak hanya digunakan sebagai antarmuka ke perangkat, namun juga dapat mengimplementasikan fitur tertentu di sisi kernel.
Dukungan terhadap Kernel Module membuat kernel menjadi modular dan lebih fleksibel. Penambahan fungsionalitas kernel dapat dilakukan tanpa harus membangun ulang kernel setiap perubahan terjadi.
Repository ini merupakan inisiatif dari komunitas Reversing.ID untuk mendalami pengembangan Kernel Module.
Reversing.ID tidak berafiliasi dengan vendor atau vendor platform manapun. Repositori ini memiliki tujuan utama sebagai bahan belajar.
Repositori ini terbagi menjadi beberapa bagian dengan direktori berbeda, berdasarkan platform Kernel Module.
Repository dapat diunduh secara keseluruhan atau kode dapat diunduh secara terpisah.
Ini adalah projek terbuka.
Kamu bisa memberikan sumbangsih berupa kode untuk arsitektur yang belum terdaftar, menambah atau memodifikasi kode yang sudah ada untuk memberikan informasi yang lebih baik.
Yang harus kamu lakukan:
- melakukan pull request.
- mengirimkan email ke pengurus [at] reversing.id
- memberi tahu di telegram @ReversingID