当前位置: 技术问答>linux和unix
不重新编译内核能修改内核函数吗?
来源: 互联网 发布时间:2016-07-29
本文导语: 需求比较特殊,不能重新编译内核,但是又需要修改某些内核函数的行为,有方法吗? 不要黑客的什么inline hook之类的,毕竟不规范 | 模块不能修改已经存在在内核里的函数的行为 我想除了...
需求比较特殊,不能重新编译内核,但是又需要修改某些内核函数的行为,有方法吗?
不要黑客的什么inline hook之类的,毕竟不规范
不要黑客的什么inline hook之类的,毕竟不规范
|
模块不能修改已经存在在内核里的函数的行为
我想除了黑客的方法,Kprobes 或许能满足lz的要求
lz如果只是想插入内核函数,打印一些信息,SystemTap脚本就能满足要求
例如以下代码就能打印do_timer的地址和运行时调用堆栈
我想除了黑客的方法,Kprobes 或许能满足lz的要求
lz如果只是想插入内核函数,打印一些信息,SystemTap脚本就能满足要求
例如以下代码就能打印do_timer的地址和运行时调用堆栈
#!/usr/bin/stap -v
probe kernel.function("do_timer").return
{
printf("call do_timer from 0x%xn",caller_addr());
print_backtrace();
printf("n");
}