إنشاء مكالمات نظام جديدة عبر KLD في FreeBSD
-
29-09-2019 - |
سؤال
هل هناك أي دروس تعليمية جيدة (للمبتدئين) حول إضافة مكالمات النظام إلى FreebsD عبر وحدات kernel القابلة للتحميل؟ على وجه التحديد ، الشكل المطلوب للطرق ، والحصول على المعلومات من العمليات ، إلخ.
المحلول
يسعدني حقًا أن أرى أن أستاذك يمنحك هذه المهام العملية. أتمنى لو كان لدي مثل هذه الأساس.
على أي حال ، الشيء عندما تعمل في مجال kernel يمكنك بالكاد ابحث عن أي موارد. الأشخاص الذين يعملون في مجال kernel لا يوثقون الأشياء أو يكتبون البرامج التعليمية. لذلك ، من الصعب حقًا العثور على أي مستندات "مستوى الدخول". أيضًا ، حتى لو وجدت أي برنامج تعليمي من هذا القبيل ، فإن الأشياء الموجودة في Kernel تستمر في التغيير ولن يتم تحديث المستند. عندما بدأت ، اضطررت إلى تعلم الأشياء من خلال قراءة رمز kernel.
شيء مهم آخر هو أن Linux موثقة أكثر من أي UNIX. في بعض الأحيان يمكنك قراءة أشياء Linux والمنفذ تلك المعرفة إلى Unix. يكفي مع الشكوى. الآن إليك الموارد التي قد تساعدك.
BSD UNIX:
- البرنامج التعليمي لبرمجة مرفق Kernel Linker (KLD) لديه "هيكل عظمي تنفيذ KLD SYSCALL"
- تصميم BSD Rootkits: مقدمة لقرصنة النواة هذا يعلمك نهجا آخر باستخدام ترقيع وقت التشغيل (عمومًا ، استخدم أحصنة طروادة هذا النهج) لتصحيح مرسل استدعاء النظام وإنشاء مكالمة نظام.
لينكس:
- إضافة مكالمة نظام إلى Linux kernel : تعليمي خطوة بخطوة
- أمر kernel باستخدام مكالمات نظام Linux : استكشف واجهة استدعاء نظام Linux (SCI) ، وتعلم كيفية إضافة مكالمات نظام جديدة (والبدائل للقيام بذلك)