[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Incluir una "huella" en módulo del kernel



El 05/04/12 19:06, Camaleón escribió:
> El Thu, 05 Apr 2012 13:43:44 -0300, Gonzalo Rivero escribió:
> 
>> El jue, 05-04-2012 a las 16:32 +0000, Camaleón escribió:
>>> El Thu, 05 Apr 2012 16:52:12 +0200, Juan Antonio escribió:
> 
> (...)
> 
>>>> Por último, lo que te comentaba antes era que tu misma añadieses al
>>>> parche un printk, que es un como un printf de libc de toda la vida,
>>>>
>>>> http://www.kernel-labs.org/?q=printk
>>>>
>>>> en la función init_module(), que es la que se llama cuando cargas el
>>>> módulo.
>>>
>>> Huys, no entiendo ni jota. Voy a ver si logro sacar algo útil del
>>> "objdump" que me parece más asequible :-)
>>>
>> esto entendí yo: en algún lugar del módulo hay una init_module() (man 2
>> init_module), en ese tal lugar podés agregar algo como:
>> printk(KERN_WARNING "Hola mundo!\n");
> 
> ¿Del archivo "main.c" que tengo que modificar? 
> 
> No, no aparece ninguna llamada a la función "init_module", un grep me 
> devuelve esa cadena ("init_module") en un archivo "*.o", binario.
> 
> ¿Dónde tendría que poner el "printk"? :-?
> 
>> y recompilarlo. Entonces, al cargarse, el módulo debería mostrarte en
>> dmesg (o similares) un: Hola mundo!
>>
>> Y esa sería tu huella para saber que tenés el módulo modificado
> 
> Ya lo pillo... y la idea es buena pero no sé cómo llevarla a la práctica.
> 
> Saludos,
> 


perdona camaleon, lo de init_module parece que ha cambiado, asi lo
recordaba yo del 2.4

Busca en el código la llamada a module_init(). Como parámetro lleva el
numbre de una función y ahora esa función es el punto de entrada del
código del módulo.

Por ejemplo de bsr.c

[ código ]

static int __init bsr_init(void)   <------- *
{
    struct device_node *np;
    dev_t bsr_dev;

    [ mas código ]

}

[ mas código aun ]

module_init(bsr_init);   <----- * Esta
module_exit(bsr_exit);


Y dentro de la función escribes el printk que te ha dicho Gonzalo.

Lo siento, un saludo.

-- 
"Tanto en los deportes como en todo lo demás, soy un experto. Pero para
mantener viva mi inteligencia natural y fuera de serie, tengo que comer
mucho"


Reply to: