TGTGInsighttelegram intelligenceLIVE / telegram public index
Post content
Post content
散步时一些不成熟的奇思妙想: 1. 重新实现 uretprobe 。这是看 Asphaltt 推荐的材料时想到的,散步时不断细化各种细节。核心是使其不再修改栈,从而可以直接运用在 go 上。对普通进程也有好处,那就是栈回溯的第一层不会混乱。 2. 重新实现 uprobe。核心是不再依赖 0xcc 。我推测使用 0xcc 是 ptrace 时代的后遗症,毕竟 uprobe 是在 08 年就开始讨论的功能,受 gdb 影响很大,再加上当时没有 ebpf ,uprobe 的接口是注入 printk 之类的。 3. 可编程化的 ftrace。先考虑笨办法,kmulti attach vmlinux 模块下的函数,在我 6.2 的内核上有 47171 个,虽然很多,但也不至于不可行。 4. tc-bpf / xdp-bpf 的反汇编(by Asphaltt again)。能有多难,不就围绕 skb / xmd 花式取字段、赋值,构造结构体,call helper。但是这太体力活了,光想想就。但我怀疑 IDA 可以直接导出来,可恶,太贵了!