Header menu logo B2R2

SymbRunOptions Type

Represents options for bounded symbolic execution.

Record fields

Record Field Description

Avoid

Full Usage: Avoid

Field type: SymbAvoid

Address or state predicates to discard before further exploration.

Field type: SymbAvoid

Calls

Full Usage: Calls

Field type: SymbCallPolicy

Call-handling policy.

Field type: SymbCallPolicy

LoopBound

Full Usage: LoopBound

Field type: int

Maximum visits allowed at the same address. Zero means unlimited.

Field type: int

MaxDepth

Full Usage: MaxDepth

Field type: int

Maximum instructions to execute per path. Zero means unlimited.

Field type: int

MaxStates

Full Usage: MaxStates

Field type: int

Maximum number of states to expand. Zero means unlimited.

Field type: int

PruneInfeasiblePaths

Full Usage: PruneInfeasiblePaths

Field type: bool

Enable solver-backed infeasible path pruning.

Field type: bool

Query

Full Usage: Query

Field type: SymbQuery

Query to answer.

Field type: SymbQuery

QueryValues

Full Usage: QueryValues

Field type: IQueryExpr

Symbolic values to extract for satisfiability queries.

Field type: IQueryExpr

RunTimeout

Full Usage: RunTimeout

Field type: int

Maximum milliseconds to spend in Run. Zero means unlimited.

Field type: int

Solver

Full Usage: Solver

Field type: SymbSolver

Solver backend used for path queries and optional pruning.

Field type: SymbSolver

StopAtFirstAnswer

Full Usage: StopAtFirstAnswer

Field type: bool

Stop exploration as soon as the first query answer is found.

Field type: bool

WarmUpRanges

Full Usage: WarmUpRanges

Field type: (Addr * Addr) list

Half-open address ranges [start, finish) to pre-lift before Run. Empty means no pre-lifting.

Field type: (Addr * Addr) list

Instance members

Instance member Description

this.AddAvoid

Full Usage: this.AddAvoid

Parameters:
Returns: SymbRunOptions

Adds one avoid condition.

avoid : SymbAvoid
Returns: SymbRunOptions

this.AddAvoidAddress

Full Usage: this.AddAvoidAddress

Parameters:
Returns: SymbRunOptions

Adds one address to the avoid set.

addr : Addr
Returns: SymbRunOptions

this.AddAvoidAddresses

Full Usage: this.AddAvoidAddresses

Parameters:
Returns: SymbRunOptions

Adds addresses to the avoid set.

addrs : Addr seq
Returns: SymbRunOptions

this.AddAvoidState

Full Usage: this.AddAvoidState

Parameters:
Returns: SymbRunOptions

Adds one state predicate to the avoid conditions.

predicate : SymbStopPoint -> bool
Returns: SymbRunOptions

this.AddQueryBuffer

Full Usage: this.AddQueryBuffer

Parameters:
Returns: SymbRunOptions

Adds all symbolic bytes of the given buffer to value extraction.

buffer : SymbByteBuffer
Returns: SymbRunOptions

this.AddQueryBuffers

Full Usage: this.AddQueryBuffers

Parameters:
Returns: SymbRunOptions

Adds all symbolic bytes of the given buffers to value extraction.

buffers : SymbByteBuffer seq
Returns: SymbRunOptions

this.AddQueryValue

Full Usage: this.AddQueryValue

Parameters:
Returns: SymbRunOptions

Adds one symbolic value to solver value extraction.

value : SymbExpr
Returns: SymbRunOptions

this.AddQueryValues

Full Usage: this.AddQueryValues

Parameters:
Returns: SymbRunOptions

Adds symbolic values to solver value extraction.

values : SymbExpr seq
Returns: SymbRunOptions

this.DisablePathPruning

Full Usage: this.DisablePathPruning

Returns: SymbRunOptions

Disables solver-backed infeasible path pruning.

Returns: SymbRunOptions

this.DisableStopAtFirstAnswer

Full Usage: this.DisableStopAtFirstAnswer

Returns: SymbRunOptions

Continues exploration after finding a query answer.

Returns: SymbRunOptions

this.EnablePathPruning

Full Usage: this.EnablePathPruning

Returns: SymbRunOptions

Enables solver-backed infeasible path pruning.

Returns: SymbRunOptions

this.EnableStopAtFirstAnswer

Full Usage: this.EnableStopAtFirstAnswer

Returns: SymbRunOptions

Stops exploration as soon as the first query answer is found.

Returns: SymbRunOptions

this.FollowDirectInternalCalls

Full Usage: this.FollowDirectInternalCalls

Returns: SymbRunOptions

Follows direct internal calls without using external-call hooks.

Returns: SymbRunOptions

this.RegisterCallHook

Full Usage: this.RegisterCallHook

Parameters:
Returns: SymbRunOptions

Registers a call hook and enables hook-based call handling.

target : Addr
hook : SymbCallHook
Returns: SymbRunOptions

this.RegisterCallHooks

Full Usage: this.RegisterCallHooks

Parameters:
Returns: SymbRunOptions

Registers call hooks and enables hook-based call handling.

hooks : (Addr * SymbCallHook) seq
Returns: SymbRunOptions

this.StopAtCalls

Full Usage: this.StopAtCalls

Returns: SymbRunOptions

Stops before evaluating call instructions.

Returns: SymbRunOptions

this.WithAvoid

Full Usage: this.WithAvoid

Parameters:
Returns: SymbRunOptions

Uses the given avoid condition.

avoid : SymbAvoid
Returns: SymbRunOptions

this.WithAvoidAddresses

Full Usage: this.WithAvoidAddresses

Parameters:
Returns: SymbRunOptions

Replaces the avoid set.

addrs : Addr seq
Returns: SymbRunOptions

this.WithCallHooks

Full Usage: this.WithCallHooks

Parameters:
Returns: SymbRunOptions

Uses a prepared call hook registry for external-call dispatch.

hooks : SymbCallHookRegistry
Returns: SymbRunOptions

this.WithQueryValues

Full Usage: this.WithQueryValues

Parameters:
Returns: SymbRunOptions

Uses the given query expression for solver value extraction.

values : IQueryExpr
Returns: SymbRunOptions

this.WithQueryValues

Full Usage: this.WithQueryValues

Parameters:
Returns: SymbRunOptions

Uses the given symbolic values for solver value extraction.

values : SymbExpr seq
Returns: SymbRunOptions

this.WithSolver

Full Usage: this.WithSolver

Parameters:
Returns: SymbRunOptions

Uses the given solver backend.

solver : SymbSolver
Returns: SymbRunOptions

this.WithWarmUpRanges

Full Usage: this.WithWarmUpRanges

Parameters:
Returns: SymbRunOptions

Uses the given half-open address ranges for pre-lifting.

ranges : (Addr * Addr) list
Returns: SymbRunOptions

Static members

Static member Description

SymbRunOptions.Default(query)

Full Usage: SymbRunOptions.Default(query)

Parameters:
Returns: SymbRunOptions

SymbRunOptions.Default(query, solver)

Full Usage: SymbRunOptions.Default(query, solver)

Parameters:
Returns: SymbRunOptions
query : SymbQueryRequest
solver : SymbSolver
Returns: SymbRunOptions

SymbRunOptions.Default(query)

Full Usage: SymbRunOptions.Default(query)

Parameters:
Returns: SymbRunOptions
query : SymbQuery
Returns: SymbRunOptions

SymbRunOptions.Default(query, solver)

Full Usage: SymbRunOptions.Default(query, solver)

Parameters:
Returns: SymbRunOptions
query : SymbQuery
solver : SymbSolver
Returns: SymbRunOptions

Type something to start searching.