linux内核模块如何绕过系统vermagic检查,insmod成功?

prowanter 2011-11-17 11:50:04
问题描述:
某个发行版X,想在上面添加一个内核模块hello.ko,想让它能安装到其它安装同版本X的机器上。
现在的问题是,在A机器上编译出hello.ko,拿到B机器(硬件配置不同,X一样)上,结果无法插入,提示invalid module format,dmesg看不到打印。查看其它自带驱动,发现问题在vermagic的值不同,所以插入不了。
1. 尝试--force-vermagic,还是提示invalid module format
2. 重新在B机器上编译hello.ko,可以insmod,但拷回A机器,同样的问题。
3. 考虑过使用脚本在每个机器上编译源代码,但并不一定每个机器上都安装了编译环境吧?

在X发行版没办法改变的情况下,如何做到A机器上编译hello.ko,拿到所有装同版本X的其它B、C、D等机器上能使用?
期盼各位赐教!谢谢
...全文
1115 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
prowanter 2011-11-17
  • 打赏
  • 举报
回复
相同的光盘在不同机器上安装,内核模块vermagic的值都不一样啊
deep_pro 2011-11-17
  • 打赏
  • 举报
回复
只要对方提供uname -a 的结果,你自己改你本地的makefile就可以了
内核版本差别太大也不行啊
prowanter 2011-11-17
  • 打赏
  • 举报
回复
谢谢您的回复。比如,我想做个驱动,对于vermagic强制检查的系统,只能提供源码包给他们自己编译?谢谢
deep_pro 2011-11-17
  • 打赏
  • 举报
回复
正常人不需要破坏这样的规则
除非是黑客要在没有编译环境的服务器上安装后门才最希望破坏这个验证
wzt 写过这样的文章

http://hi.baidu.com/wzt85/blog/item/d6c0a0954a2774037af4804b.html

4,436

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧