PAWNYABLE kernel ebpf 笔记
这里 pwn ebpf 的逻辑是让 verifier 对数据的范围估算错误,从而越界访问或者有任意读写的效果。
关于 ebpf
eBPF Docs ebpf 的自己的文档
maps
BPF数据传递的桥梁——BPF Map(一) – My X Files
ebpf 的 maps 创建之后返回一个 fd,因此可以在 user 和 kernel 的空间访问这个 map 里面的数据。
ebpf insn
字节码可以参考 【译】eBPF 概述:第 2 部分:机器和字节码 | Head First eBPF
可以不用 c 来写一个 ebpf 程序,能直接用宏来写 ebpf 的机器码,比如 linux/samples/bpf/bpf_insn.h 里面定义的