Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var RegisterR8Offsets map[string]int16 = map[string]int16{
"r15": 0,
"r14": 8,
"r13": 16,
"r12": 24,
"rbp": 32,
"rbx": 40,
"r11": 48,
"r10": 56,
"r9": 64,
"r8": 72,
"rax": 80,
"rcx": 88,
"rdx": 96,
"rsi": 104,
"rdi": 112,
"orig_rax": 120,
"rip": 128,
"cs": 136,
"eflags": 144,
"rsp": 152,
"ss": 160,
}
Functions ¶
func MatchWildcard ¶
Types ¶
type FetchArg ¶
func (*FetchArg) CompileBpfInstructions ¶
func (f *FetchArg) CompileBpfInstructions(vacantR10Offset int16, destR6Offset int64) (insts asm.Instructions)
type FuncTree ¶
type ParseOptions ¶
type ReadMemory ¶
type ReadMemory struct {
// contains filtered or unexported fields
}
ReadMemory: offset(FETCH):size
func (*ReadMemory) BpfInstructions ¶
func (op *ReadMemory) BpfInstructions(srcR10Offset int16, dstBase asm.Register, dstOffset int64) (insts asm.Instructions)
BpfInstructions: bpf_probe_read_user(dstBase+dstOffset, op.size, (void*)R10+srcR10Offset+op.offset)
func (*ReadMemory) TargetSize ¶
func (op *ReadMemory) TargetSize() int16
type ReadReg ¶
type ReadReg struct {
// contains filtered or unexported fields
}
ReadReg: %rsp
func (*ReadReg) BpfInstructions ¶
func (op *ReadReg) BpfInstructions(_ int16, dstBase asm.Register, dstOffset int64) (insts asm.Instructions)
BpfInstructions: dstBase[dstOffset] = op.register
func (*ReadReg) TargetSize ¶
type Uprobe ¶
type Uprobe struct { Funcname string Location UprobeLocation Offset uint64 UserSpecified, Backtrace bool FetchArgs []*FetchArg }
type UprobeLocation ¶
type UprobeLocation int
const ( AtEntry UprobeLocation = iota AtFramePointer AtRet )
Click to show internal directories.
Click to hide internal directories.