Table of Contents

Class CilStateTransitioner

Namespace
Echo.Platforms.AsmResolver
Assembly
Echo.Platforms.AsmResolver.dll

Provides an implementation of a state transition resolver for the CIL instruction set.

public class CilStateTransitioner : StateTransitioner<CilInstruction>, IStateTransitioner<CilInstruction>
Inheritance
CilStateTransitioner
Implements
Inherited Members

Constructors

CilStateTransitioner(CilArchitecture)

Creates a new instance of the CilStateTransitioner class.

public CilStateTransitioner(CilArchitecture architecture)

Parameters

architecture CilArchitecture

The CIL architecture variant to compute state transitions for.

Methods

GetInitialState(long)

Gets the initial state of the program at a provided entry point address.

public override SymbolicProgramState<CilInstruction> GetInitialState(long entrypointAddress)

Parameters

entrypointAddress long

The entry point address.

Returns

SymbolicProgramState<CilInstruction>

The object representing the initial state of the program.

GetTransitions(in SymbolicProgramState<CilInstruction>, in CilInstruction, IList<StateTransition<CilInstruction>>)

Resolves all possible program state transitions that the provided instruction can apply.

public override void GetTransitions(in SymbolicProgramState<CilInstruction> currentState, in CilInstruction instruction, IList<StateTransition<CilInstruction>> transitionsBuffer)

Parameters

currentState SymbolicProgramState<CilInstruction>

The current state of the program.

instruction CilInstruction

The instruction to evaluate.

transitionsBuffer IList<StateTransition<CilInstruction>>

The output buffer to add the transitions that the instruction might apply.