我想使用ebpf.在閱讀了一些帖子和博客之后,我知道%fs:0xfffffffffffffff8指向ggo 的結構和mov %fs:0xfffffffffffffff8,%rcx指令總是出現在 go 函數的開頭。舉main.main個例子:func main() { 177341 458330: 64 48 8b 0c 25 f8 ff mov %fs:0xfffffffffffffff8,%rcx 177342 458337: ff ff 177343 458339: 48 3b 61 10 cmp 0x10(%rcx),%rsp 177344 45833d: 76 1a jbe 458359 <main.main+0x29> 177345 45833f: 48 83 ec 08 sub $0x8,%rsp 177346 458343: 48 89 2c 24 mov %rbp,(%rsp) 177347 458347: 48 8d 2c 24 lea (%rsp),%rbp 177348 myFunc() 177349 45834b: e8 10 00 00 00 callq 458360 <main.myFunc> 177350 }我也知道 goid 信息存儲在ggo 的 struct 中。fs 寄存器的值可以通過函數的ctx參數獲取ebpf。但我不知道真正的地址是什么,%fs:0xfffffffffffffff8因為我是匯編語言的新手。誰能給我一些提示?如果 fs 寄存器的值為 0x88,那么 的值是%fs:0xfffffffffffffff8多少?
1 回答
- 1 回答
- 0 關注
- 162 瀏覽
添加回答
舉報
0/150
提交
取消