标题:新进展:init_task 出处:Felix021 时间:Wed, 20 May 2009 16:35:17 +0000 作者:felix021 地址:https://www.felix021.com/blog/read.php?1603 内容: XenLab项目里我这一块有了新进展:从System.map里面找到了init_task的虚拟地址。 简而言之,init_task就是linux的第一个进程,在载入init以后,它就进入一个无限循环,然后就变成传说中的idle进程。 更详细的内容参考《深入理解Linux内核》等相关资料。 当然,init_task的地址本来是不用费心去找的,如果你写一个内核模块,这个符号是可以直接引用的: struct task_struct *task = &init_task; 但是我的目标是:从“Linux外”找到这个init_task的地址 因为我是要从Xen虚拟机的Dom0(类似宿主机的概念)去入侵DomU(类似客户机的概念) 找到init_task以后,我们就可以遍历Linux中的所有进程,然后就可以做一些ooxx的事情了。 因为宿主机是无法直接调用客户机的API,自然无法通过上述方式获得init_task地址。 本来是想通过某种方式直接从DomU中找出这个地址,但是毫无头绪 后来发现System.map可以挖出这个地址,虽然这个方法很挫,但是起码可以进行下一步的动作了。 Generated by Bo-blog 2.1.0