Documentation
¶
Index ¶
- type Addr
- type BinaryRegexp
- func (b *BinaryRegexp) FindBytesMatchStartingAt(bytes []byte, startAt int) (*binexp.Match, error)
- func (b *BinaryRegexp) FindNextMatch(m *binexp.Match) (*binexp.Match, error)
- func (b *BinaryRegexp) FindNextOverlappingMatch(m *binexp.Match) (*binexp.Match, error)
- func (b *BinaryRegexp) String() string
- type EntropyQualityIndex
- type Fingerprint
- type FingerprintComparison
- type Gadget
- type GadgetDecoderFunc
- type GadgetId
- type GadgetInstance
- type GadgetInstances
- type GadgetSpec
- type Instruction
- type InstructionDecoderFunc
- type InstructionInstance
- type Library
- type Octets
- type Offset
- type Process
- type RegionsResult
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Addr ¶
type Addr uint64
func (Addr) MarshalJSON ¶
func (Addr) MarshalText ¶ added in v0.0.8
func (*Addr) UnmarshalJSON ¶
func (*Addr) UnmarshalText ¶ added in v0.0.8
type BinaryRegexp ¶
type BinaryRegexp struct {
// contains filtered or unexported fields
}
func MustCompile ¶
func MustCompile(expr string) *BinaryRegexp
func (*BinaryRegexp) FindBytesMatchStartingAt ¶
func (*BinaryRegexp) FindNextMatch ¶
func (*BinaryRegexp) FindNextOverlappingMatch ¶
func (*BinaryRegexp) String ¶
func (b *BinaryRegexp) String() string
type EntropyQualityIndex ¶
type EntropyQualityIndex float64
type Fingerprint ¶
func FingerprintFromGadgets ¶
func FingerprintFromGadgets(gadgetInstances []*GadgetInstance) (Fingerprint, error)
func (Fingerprint) CompareTo ¶
func (f1 Fingerprint) CompareTo(f2 Fingerprint, includeSurvived bool) FingerprintComparison
type FingerprintComparison ¶
type FingerprintComparison struct {
Survived int `json:"survived"`
Moved int `json:"moved"`
Dead int `json:"dead"`
GadgetsByOffset map[Offset]int `json:"gadgetCountsByOffset"`
GadgetDisplacements map[Addr]map[GadgetId][]Offset `json:"gadgetDisplacements"`
NewGadgets map[GadgetId][]Addr `json:"newGadgets"`
}
type GadgetDecoderFunc ¶
type GadgetInstance ¶
func (*GadgetInstance) String ¶
func (gi *GadgetInstance) String() string
type GadgetInstances ¶
type GadgetInstances []*GadgetInstance
func (GadgetInstances) SortAlphabetically ¶
func (gis GadgetInstances) SortAlphabetically()
func (GadgetInstances) SortByAddress ¶
func (gis GadgetInstances) SortByAddress()
func (GadgetInstances) SortByLength ¶
func (gis GadgetInstances) SortByLength()
func (GadgetInstances) String ¶
func (gis GadgetInstances) String() string
type GadgetSpec ¶
type GadgetSpec struct {
Opcode *BinaryRegexp
Size int
Align Addr
}
Specifies the termination conditions for a gadget A gadget is typically <Some instruction set> + <some termination condition> A termination is a control-flow change
type Instruction ¶
func (*Instruction) String ¶
func (i *Instruction) String() string
type InstructionDecoderFunc ¶
type InstructionDecoderFunc func([]byte) (*Instruction, error)
type InstructionInstance ¶ added in v0.0.8
type InstructionInstance struct {
Address Addr `json:"address"`
Octets Octets `json:"octets"`
DisAsm string `json:"disasm"`
}
func MakeInstructionInstance ¶ added in v0.0.8
func MakeInstructionInstance(instruction *Instruction, address Addr) *InstructionInstance
type Offset ¶
type Offset int64
func (Offset) MarshalJSON ¶
func (Offset) MarshalText ¶
func (*Offset) UnmarshalJSON ¶
func (*Offset) UnmarshalText ¶
type Process ¶
type Process struct {
Info *process.ProcessInfo `json:"info"`
Libraries []Library `json:"libraries"`
}
type RegionsResult ¶ added in v0.0.10
type RegionsResult struct {
Span *memaccess.MemoryRegion `json:"span"`
Size uint `json:"size"`
Regions []memaccess.MemoryRegion `json:"regions"`
}
Click to show internal directories.
Click to hide internal directories.