02 2022 档案

摘要:内核samples/bpf代码中tracex1_kernel中把bpr_probe_read中的第二个参数变成*2,相当于恶意读取字段数值,编译没有错误,但是在load bpf的时候verfify checker会有大量的错误 /* non-portable! works for the given 阅读全文
posted @ 2022-02-19 14:51 honpey 阅读(379) 评论(0) 推荐(0) 编辑
摘要:bpf程序是如何控制内存类型的访问 bpf_probe_read试着把类型转化的部分,换成一个内核不识别的函数,看下下编译和执行是否都能正确地进行~把内核中samples/bpf中的tracex1_kern.c中的skb = (struct sk_buff*) PT_REGS_PARM1(ctx); 阅读全文
posted @ 2022-02-19 14:42 honpey 阅读(70) 评论(0) 推荐(0) 编辑
摘要:普通的ebpf程序是比较简单的,包括当前cilium/bpf中其实都提供了比较完整的案例,对于比较复杂的程序,即比如这个trace点是放在了kprobe上面,对于这种的bpf程序的入口函数其实是变成了bt_regs,这种的话,首先你是需要去获得寄存器的信息的,第二个呢,从寄存器中找到相应的函数的信息 阅读全文
posted @ 2022-02-19 13:15 honpey 阅读(476) 评论(0) 推荐(0) 编辑