Types

tritondse.types.Addr

Integer representing an address

flag tritondse.types.ArchMode(value)[source]

Various architecture specific modes that can be enabled or disabled. (meant to be fulfilled)

Member Type:

int

Valid values are as follows:

THUMB = <ArchMode.THUMB: 1>

set thumb mode for ARM32 architecture

enum tritondse.types.Architecture(value)[source]

Common architecture Enum fully compatible with Triton ARCH

Member Type:

int

Valid values are as follows:

AARCH64 = <Architecture.AARCH64: 1>

Aarch64 architecture

ARM32 = <Architecture.ARM32: 2>

ARM architecture (32 bits)

X86 = <Architecture.X86: 3>

x86 architecture (32 bits)

X86_64 = <Architecture.X86_64: 4>

x86-64 architecture (64 bits)

class tritondse.types.AstNode

SMT logic formula as returned by Triton (AstNode)

alias of TypeVar(‘AstNode’)

tritondse.types.BitSize

Integer representing a value in bits

tritondse.types.ByteSize

Integer representing a value in bytes

tritondse.types.Edge

Type representing a edge in the program

alias of Tuple[int, int]

enum tritondse.types.Endian(value)[source]

Endianness of the binary.

Member Type:

int

Valid values are as follows:

LITTLE = <Endian.LITTLE: 1>

Little-endian

BIG = <Endian.BIG: 2>

Big-endian

class tritondse.types.Expression

Symbolic Expression as returned by Triton (SymbolicExpression)

alias of TypeVar(‘Expression’)

class tritondse.types.FileDesc(id: int, name: str, fd: IOBase)[source]

Type representing a file descriptor

fd: IOBase
fgets(max_size: int) bytes[source]

Performs a fgets on the file descriptor. Warning: It does not add a trailing if reaching a

or EOF.

id: int

Name of the file

is_input_fd() bool[source]
is_real_fd() bool[source]
name: str

The python file stream object

property offset: int
read(size: int) bytes[source]
enum tritondse.types.Format(value)[source]

Executable File Format

Member Type:

int

Valid values are as follows:

ELF = <Format.ELF: 1>

ELF file format

PE = <Format.PE: 2>

PE file format

MACHO = <Format.MACHO: 3>

Mach-O file format

tritondse.types.Input

Type representing an Input (which is bytes)

class tritondse.types.Model

Solver Model as returned by Triton

alias of TypeVar(‘Model’)

class tritondse.types.PathBranch[source]

PathBranchobject as returned by Triton. Thus it is a dictionary with the keys:

constraint: AstNode
dstAddr: Addr
isTaken: bool
srcAddr: Addr
class tritondse.types.PathConstraint

PathConstraint object as returned by Triton

alias of TypeVar(‘PathConstraint’)

tritondse.types.PathHash

Type representing the hash of path to uniquely identify any path

tritondse.types.PathLike

Type representing file either as a file, either as a Path object

alias of str | Path

flag tritondse.types.Perm(value)[source]

Flags encoding permissions. Used for memory pages. They can be combined as flags. e.g:

rw = Perm.R | Perm.W
Member Type:

int

Valid values are as follows:

R = <Perm.R: 4>

Read

W = <Perm.W: 2>

Write

X = <Perm.X: 1>

Execute

enum tritondse.types.Platform(value)[source]

Platform associated to a binary

Member Type:

int

Valid values are as follows:

LINUX = <Platform.LINUX: 1>

Linux platform

WINDOWS = <Platform.WINDOWS: 2>

Windows platform

MACOS = <Platform.MACOS: 3>

Mac OS platform

ANDROID = <Platform.ANDROID: 4>

Android platform

IOS = <Platform.IOS: 5>

IOS platform

class tritondse.types.Register

Register identifier as used by Triton (not the Register object itself)

alias of TypeVar(‘Register’)

class tritondse.types.Registers

Set of registers as used by Triton

alias of TypeVar(‘Registers’)

enum tritondse.types.SmtSolver(value)[source]

Common SMT Solver Enum fully compatible with Triton

Member Type:

int

Valid values are as follows:

Z3 = <SmtSolver.Z3: 2>

Z3 SMT solver

BITWUZLA = <SmtSolver.BITWUZLA: 3>

bitwuzla solver

enum tritondse.types.SolverStatus(value)[source]

Common Solver Enum fully compatible with Triton ARCH

Member Type:

int

Valid values are as follows:

SAT = <SolverStatus.SAT: 1>

Formula is satisfiable (SAT)

UNSAT = <SolverStatus.UNSAT: 0>

Formula is unsatisfiable (UNSAT)

TIMEOUT = <SolverStatus.TIMEOUT: 2>

Formula solving did timeout

UNKNOWN = <SolverStatus.UNKNOWN: 4>

Formula solving failed

enum tritondse.types.SymExType(value)[source]

Symbolic Expression type enum. (internal usage only)

Member Type:

str

Valid values are as follows:

CONDITIONAL_JMP = <SymExType.CONDITIONAL_JMP: 'cond-jcc'>

symbolic expression is a conditional jump

DYNAMIC_JMP = <SymExType.DYNAMIC_JMP: 'dyn-jmp'>

symbolic expression is a dynamic jump

SYMBOLIC_READ = <SymExType.SYMBOLIC_READ: 'sym-read'>

symbolic expression is a symbolic memory read

SYMBOLIC_WRITE = <SymExType.SYMBOLIC_WRITE: 'sym-write'>

symbolic expression is a symbolic memory write

class tritondse.types.SymbolicVariable

Symbolic Variable as returned by Triton (SymbolicVariable)

alias of TypeVar(‘SymbolicVariable’)

tritondse.types.rAddr

Integer representing a relative address