偶然间看到的一个project,叫Ksplice,MIT的一个人弄的:
http://web.mit.edu/ksplice/
我对这个比较感兴趣,项目涉及的技术是perl和C、内核模块、ELF等,比较有含量。项目规模不大,10几个文件,大致的思路是用打过补丁的内核和原内核做binary层次的比较,然后在现有内核的地址空间中直接替换整个修改过的函数,当然要处理symbol的问题。
我准备深入研究研究,不过最近比较忙,没啥时间,大家有兴趣的可以看看,然后交流交流
这里面如何在二进制文件间比较,如何在不耽误进程运行的前提下替换内存中的代码,似乎都是值得研究的,很有意思的一个project