maat::serial::Serializable class

Virtual interface that serializable classes must implement.


❱   Derived classes

class maat::Arch
Base class representing an architecture.

class maat::ConstraintObject
Constraint object representing constraints between symbolic expressions. This class should never be manipulated directly but used transparently through Constraint instances.

class maat::env::EnvEmulator
Main class emulating a process environment.

class maat::env::FileAccessor

class maat::env::PhysicalFile

class maat::ExprObject

struct maat::info::Branch
Struct holding information about a regular or conditional branch operation.

class maat::info::Info
This class is used by the engine to make relevant information easily available to the user when it stops executing emulated code. The accessible information depends on the reason why the engine stopped. For instance if the engine encountered a breakpoint, the class will hold breakpoint related info, e.g register/memory that was read/written, path constraints that was encountered, etc.

struct maat::info::MemAccess
Struct holding information about a memory access.

struct maat::info::RegAccess
Struct holding information about a register access.

class maat::IntervalTree
Class used internally for symbolic memory management.

class maat::ir::CPU

class maat::ir::CPUContext

struct maat::ir::IRMap::InstLocation
The location of a given IR instruction, it is made of an IR block and the id of the instruction within the block.

class maat::ir::TmpContext

class maat::Lifter
The lifter is responsible for translating binary assembly code into Maat's IR.

class maat::MaatEngine
The main engine class of the Maat framework. It is a wrapper around core components (lifter, memory engine, IR CPU, binary loader, environment simulation, etc) that enables to symbolically emulate a process.

class maat::MemAbstractBuffer

class maat::MemConcreteBuffer

class maat::MemEngine

class maat::MemMap
A memory mapping.

class maat::MemMapManager
Basic manager for page permissions.

class maat::MemPageManager
Basic manager for page permissions.

class maat::MemSegment

class maat::MemStatusBitmap

class maat::Number
Represents a constant value on an arbitrary number of bits.

class maat::PageSet
A set of contiguous memory pages.

class maat::PathManager
A class recording the constraints associated with the current execution path.

class maat::ProcessInfo
This class contains information about a process.

struct maat::SavedMemState
Struct used by snapshots to record previous contents of an overwritten memory area.

class maat::Settings
Tweakable settings and options for the engine.

class maat::SimpleInterval
Class used internally for symbolic memory management.

class maat::Snapshot
Data container class used by the engine for snapshoting.

template<typename T>
class maat::SnapshotManager
Wrapper class to manage a list of snapshots.

class maat::Symbol
A class representing a symbol.

class maat::SymbolicMemEngine
Dedicated memory engine handling the 'symbolic' memory state resulting from symbolic pointer writes.

class maat::SymbolicMemWrite
Represents a symbolic pointer memory write.

class maat::SymbolManager
Manager for all symbols in an engine.

class maat::Value

class maat::ValueSet

class maat::VarContext

❱   Public functions

auto class_uid() const -> uid_t pure virtual
Return the class uid (see ClassId enum)

void dump(Serializer&) const pure virtual
Dump the object contents in a serializer stream.

void load(Deserializer&) pure virtual
Restore an object from a deserializer stream.