问题描述
考虑一个用户空间进程,它启动了一个子进程并通过 ptrace
附加到它。子进程当前已暂停,未执行任何代码。我希望父进程现在可以映射和取消映射子进程的任意内存页面,无需向子进程注入任何代码。
我期待找到一些内核函数,它可以让我为 task_struct
系统调用传递一个 mmap
和通常的地址、偏移量等参数。但是,例如 int vm_munmap(unsigned long start,size_t len)
不带 task_struct
,而是使用神奇的 current
来确定内存需要映射到哪个进程。接受依赖于进程的参数的最接近的函数是 __do_munmap
,但该函数未导出。
- 有没有办法将内存从内核模块直接映射到另一个进程?
- 如果没有,是否有任何方法可以强制“上下文切换”到正确的进程,而无需将代码注入该进程以触发 ioctl 或系统调用?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)