libTriton version 1.0 build 1592
|
The path manager class. More...
#include <pathManager.hpp>
Public Member Functions | |
TRITON_EXPORT | PathManager (const triton::modes::SharedModes &modes, const triton::ast::SharedAstContext &astCtxt) |
Constructor. | |
TRITON_EXPORT | PathManager (const PathManager &other) |
Constructor by copy. | |
TRITON_EXPORT PathManager & | operator= (const PathManager &other) |
Copies a PathManager. | |
TRITON_EXPORT triton::usize | getSizeOfPathConstraints (void) const |
Returns the size of the path constraints. | |
TRITON_EXPORT const std::vector< triton::engines::symbolic::PathConstraint > & | getPathConstraints (void) const |
Returns the logical conjunction vector of path constraints. | |
TRITON_EXPORT std::vector< triton::engines::symbolic::PathConstraint > | getPathConstraints (triton::usize start, triton::usize end) const |
Returns the logical conjunction vector of path constraints from a given range. | |
TRITON_EXPORT std::vector< triton::engines::symbolic::PathConstraint > | getPathConstraintsOfThread (triton::uint32 threadId) const |
Returns the logical conjunction vector of path constraint of a given thread. | |
TRITON_EXPORT triton::ast::SharedAbstractNode | getPathPredicate (void) const |
Returns the current path predicate as an AST of logical conjunction of each taken branch. | |
TRITON_EXPORT std::vector< triton::ast::SharedAbstractNode > | getPredicatesToReachAddress (triton::uint64 addr) const |
Returns path predicates which may reach the targeted address. | |
TRITON_EXPORT void | pushPathConstraint (const triton::arch::Instruction &inst, const triton::engines::symbolic::SharedSymbolicExpression &expr) |
Pushs constraints of a branch instruction to the path predicate. | |
TRITON_EXPORT void | pushPathConstraint (const triton::ast::SharedAbstractNode &node, const std::string &comment="") |
Pushes constraint created from node to the current path predicate. | |
TRITON_EXPORT void | pushPathConstraint (const triton::engines::symbolic::PathConstraint &pco) |
Pushes constraint to the current path predicate. | |
TRITON_EXPORT void | popPathConstraint (void) |
Pops the last constraints added to the path predicate. | |
TRITON_EXPORT void | clearPathConstraints (void) |
Clears the current path predicate. | |
Protected Attributes | |
std::vector< triton::engines::symbolic::PathConstraint > | pathConstraints |
The logical conjunction vector of path constraints. | |
The path manager class.
Definition at line 47 of file pathManager.hpp.
triton::engines::symbolic::PathManager::PathManager | ( | const triton::modes::SharedModes & | modes, |
const triton::ast::SharedAstContext & | astCtxt ) |
Constructor.
Definition at line 19 of file pathManager.cpp.
triton::engines::symbolic::PathManager::PathManager | ( | const PathManager & | other | ) |
Constructor by copy.
Definition at line 24 of file pathManager.cpp.
void triton::engines::symbolic::PathManager::clearPathConstraints | ( | void | ) |
Clears the current path predicate.
Definition at line 271 of file pathManager.cpp.
std::vector< triton::engines::symbolic::PathConstraint > triton::engines::symbolic::PathManager::getPathConstraints | ( | triton::usize | start, |
triton::usize | end ) const |
Returns the logical conjunction vector of path constraints from a given range.
Definition at line 64 of file pathManager.cpp.
const std::vector< triton::engines::symbolic::PathConstraint > & triton::engines::symbolic::PathManager::getPathConstraints | ( | void | ) | const |
Returns the logical conjunction vector of path constraints.
Definition at line 44 of file pathManager.cpp.
std::vector< triton::engines::symbolic::PathConstraint > triton::engines::symbolic::PathManager::getPathConstraintsOfThread | ( | triton::uint32 | threadId | ) | const |
Returns the logical conjunction vector of path constraint of a given thread.
Definition at line 50 of file pathManager.cpp.
triton::ast::SharedAbstractNode triton::engines::symbolic::PathManager::getPathPredicate | ( | void | ) | const |
Returns the current path predicate as an AST of logical conjunction of each taken branch.
Definition at line 88 of file pathManager.cpp.
std::vector< triton::ast::SharedAbstractNode > triton::engines::symbolic::PathManager::getPredicatesToReachAddress | ( | triton::uint64 | addr | ) | const |
Returns path predicates which may reach the targeted address.
Definition at line 107 of file pathManager.cpp.
triton::usize triton::engines::symbolic::PathManager::getSizeOfPathConstraints | ( | void | ) | const |
Returns the size of the path constraints.
Definition at line 38 of file pathManager.cpp.
PathManager & triton::engines::symbolic::PathManager::operator= | ( | const PathManager & | other | ) |
Copies a PathManager.
Definition at line 30 of file pathManager.cpp.
void triton::engines::symbolic::PathManager::popPathConstraint | ( | void | ) |
Pops the last constraints added to the path predicate.
Definition at line 264 of file pathManager.cpp.
void triton::engines::symbolic::PathManager::pushPathConstraint | ( | const triton::arch::Instruction & | inst, |
const triton::engines::symbolic::SharedSymbolicExpression & | expr ) |
Pushs constraints of a branch instruction to the path predicate.
Definition at line 155 of file pathManager.cpp.
void triton::engines::symbolic::PathManager::pushPathConstraint | ( | const triton::ast::SharedAbstractNode & | node, |
const std::string & | comment = "" ) |
Pushes constraint created from node to the current path predicate.
Definition at line 234 of file pathManager.cpp.
void triton::engines::symbolic::PathManager::pushPathConstraint | ( | const triton::engines::symbolic::PathConstraint & | pco | ) |
Pushes constraint to the current path predicate.
Definition at line 258 of file pathManager.cpp.
|
protected |
The logical conjunction vector of path constraints.
Definition at line 57 of file pathManager.hpp.