fuzzer

package
v0.0.0-...-3ba885b Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 30, 2024 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Candidate

type Candidate struct {
	Prog      *prog.Prog
	Smashed   bool
	Minimized bool
}

type Config

type Config struct {
	Debug          bool
	Corpus         *corpus.Corpus
	Logf           func(level int, msg string, args ...interface{})
	Coverage       bool
	FaultInjection bool
	Comparisons    bool
	Collide        bool
	EnabledCalls   map[*prog.Syscall]bool
	NoMutateCalls  map[int]bool
	FetchRawCover  bool
	NewInputFilter func(call string) bool
}

type Cover

type Cover struct {
	// contains filtered or unexported fields
}

Cover keeps track of the signal known to the fuzzer.

func (*Cover) AddMaxSignal

func (cover *Cover) AddMaxSignal(sign signal.Signal)

Signal that should no longer be chased after. It is not returned in GrabSignalDelta().

func (*Cover) CopyMaxSignal

func (cover *Cover) CopyMaxSignal() signal.Signal

func (*Cover) GrabSignalDelta

func (cover *Cover) GrabSignalDelta() (plus, minus signal.Signal)

type Fuzzer

type Fuzzer struct {
	Stats
	Config *Config
	Cover  *Cover
	// contains filtered or unexported fields
}

func NewFuzzer

func NewFuzzer(ctx context.Context, cfg *Config, rnd *rand.Rand,
	target *prog.Target) *Fuzzer

func (*Fuzzer) AddCandidates

func (fuzzer *Fuzzer) AddCandidates(candidates []Candidate)

func (*Fuzzer) ChoiceTable

func (fuzzer *Fuzzer) ChoiceTable() *prog.ChoiceTable

func (*Fuzzer) Done

func (fuzzer *Fuzzer) Done(req *Request, res *Result)

func (*Fuzzer) Logf

func (fuzzer *Fuzzer) Logf(level int, msg string, args ...interface{})

func (*Fuzzer) NextInput

func (fuzzer *Fuzzer) NextInput() *Request

func (*Fuzzer) RotateMaxSignal

func (fuzzer *Fuzzer) RotateMaxSignal(items int)

type ProgTypes

type ProgTypes int

type Request

type Request struct {
	Prog       *prog.Prog
	NeedSignal SignalType
	NeedCover  bool
	NeedHints  bool
	// If specified, the resulting signal for call SignalFilterCall
	// will include subset of it even if it's not new.
	SignalFilter     signal.Signal
	SignalFilterCall int
	// contains filtered or unexported fields
}

type Result

type Result struct {
	Info *ipc.ProgInfo
	Stop bool
}

type SignalType

type SignalType int
const (
	NoSignal  SignalType = iota // we don't need any signal
	NewSignal                   // we need the newly seen signal
	AllSignal                   // we need all signal
)

type Stats

type Stats struct {
	StatCandidates *stats.Val
	// contains filtered or unexported fields
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL