文件名称:unfork:unfork(2)是fork(2)的逆函数。 有点
文件大小:15KB
文件格式:ZIP
更新时间:2024-05-13 15:10:15
C++
解叉(2) 介绍 问:这到底是什么? 答: fork(2)的逆函数。 问:这并不能说明太多。 答:这不是一个真正的问题,但可以肯定。 fork(2)将一个进程(实际上是地址空间)拆分为两个。 unfork(2)将两个地址空间合并为一个。 问:听起来不是很有用。 答:再说一遍。 可以将这种技术视为对另一个应用程序的廉价快照,您可以在不留下任何p跟踪且不发送信号的情况下进行读取,写入,执行,丢弃,重复操作。 嘿。 问:那将如何工作? 答: Linux的魔力! 通过将与结合使用,任何用户空间应用程序都可以获得其从未拥有的内存的写时复制映射(有一些限制)。 它需要的只是ptrace特权,也就是说,具有相同的uid通常可以正常工作。 问:但是,您实际上需要什么呢? 答:具有内置完整性检查的动态二进制分析和应用程序检测。 据我所知,如果代理进程比被检查者进程更具有特权,则甚至无法检测到pro
【文件预览】:
unfork-master
----.gitignore(6B)
----Makefile(418B)
----unfork.hh(525B)
----musl-no-vdso.patch(2KB)
----musl-gcc-64.specs(699B)
----README.md(3KB)
----unfork.cc(27KB)
----musl-gcc-32.specs(697B)
----agent.cc(915B)
----LICENSE-0BSD.txt(653B)