文件名称:zeromaps:没有内存的“活跃” Linux进程
文件大小:3KB
文件格式:ZIP
更新时间:2024-04-02 01:35:20
C
没有内存的“活跃” Linux进程 tl; dr 线程1进入不间断的睡眠 thread2取消对所有内容和段错误的映射 由于线程1的D状态,segv无法终止该进程 / proc / pid / maps现在为空 ??? 利润!!! 实施细节 这段代码从/proc/self/maps获取所有内存映射的列表,然后创建一个新的可执行映射,在其中映射一些代码,在刚刚获取的每个映射上调用munmap() ,最后在其上的映射上调用munmap() 。 这只是一个快速示例,没有考虑可移植性,因此源代码包含x64编译器将发出的实际字节。 取消映射jit代码所在的最终映射后,没有新的指令要执行,并且将引发段错误。 如果一个线程陷入不间断的睡眠状态,则此段错误将无法杀死整个进程。 为了可靠地发送处于这种状态的线程,我们在python中创建了一个简单的FUSE文件系统,在该文件系统中,对特定文件执行的任何操
【文件预览】:
zeromaps-master
----fs.py(306B)
----README.md(1KB)
----zeromaps.c(3KB)