systemadmin.es > Kernel > Ocultar modulo del kernel

Ocultar modulo del kernel

Siguiendo el ejemplo de programación de un modulo del kernel, podemos muy fácilmente ocultar un modulo (y evitar un descarga de memoria) con una única linea extra

Para ello simplemente deberemos eliminarnos de la lista de módulos mediante la función list_del():

static int hello_world_init(void)
{
        printk(KERN_ALERT "Hello World!\n");

        list_del(&__this_module.list);

        return 0;
}

Una vez compilado y cargado el modulo veremos el Hello World en el dmesg:

# make
(...)
# insmod ./helloworld.ko
# dmesg
(...)
[81321.504228] Hello World!

Pero no podremos ver el modulo listado mediante lsmod:

# lsmod  | grep hello

Ni descargarlo de memoria:

# rmmod helloworld
ERROR: Module helloworld does not exist in /proc/modules

Por lo que dicho modulo quedará oculto

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>