Пројекат Лунатик развија алате који вам омогућавају да користите језик Луа за проширење функционалности Линук кернела и брзо писање скрипти за руковање које се покрећу на нивоу кернела. За извршавање кода користи се Луа интерпретер, модификован да ради на нивоу кернела. Код пројекта је написан на Ц и дистрибуира се под МИТ лиценцом.
Посебан драјвер се користи за учитавање и извршавање Луа скрипти на нивоу кернела, а услужни програм командне линије се нуди за контролу Луа окружења у кернелу из корисничког простора. Пројекат такође обезбеђује Ц АПИ за контролу учитавања и извршавања Луа скрипти из Линук кернела, који се може користити, на пример, за извршавање појединачних Луа руковалаца из традиционалних модула кернела написаних у Ц. Луа АПИ и скуп везивања су обезбеђени за приступ функцијама кернела из Луа кода.
Луа скрипте могу да користе подскуп библиотечких функција и могућности, ограничених због специфичности рада унутар кернела. На пример, код не подржава операције са покретним зарезом, ио и ос библиотеке не могу да се користе, а многе функције математичке библиотеке нису доступне. Ц АПИ не подржава функције луаЛ_Стреам, луаЛ_екецресулт, луаЛ_филересулт, луаопен_ио и луаопен_ос.
Међу могућностима услужног програма командне линије, можете да откажете команде за учитавање, истовар и поновно учитавање Лунатик модула у кернелу, приказ статуса учитаних модула, преглед листе скрипти који се покрећу у кернелу, покретање скрипти, креирање и заустављање Луа рунтиме-а окружења у кернелу, користећи интерактивну љуску РЕПЛ (Реад –Евал–Принт Лооп).
Пројекат такође пружа скуп примера који ће вам помоћи да процените могућности Лунатика. На пример, доступни су скриптови који имплементирају драјвер карактерног уређаја, мрежни снифер са евидентирањем MAC адреса и базу података за чување података кључ/вредност. сервер за ECHO протокол, кејлогер за евидентирање притиснутих тастера, закључавање тастатуре (након притиска на „↑ ↑ ↓ ↓ ← → ← → LCTRL LALT“, језгро зауставља обраду притисака тастера док се секвенца поново не унесе), драјвер за праћење системских позива, сервис рутирања и разни додаци за подсистеме Netfilter и XDP.
Извор: опеннет.ру
