18 this->defined =
false;
97 this->defined =
false;
101 template <
typename T>
103 for (
auto it = container.begin(); it != container.end(); ++it) {
124 this->defined =
false;
140 this->defined =
false;
156 this->defined =
false;
172 this->defined =
false;
188 this->defined =
false;
198 node = function(this->ctx, node);
221 function(this->ctx, mem);
247 function(this->ctx, reg);
270 function(this->ctx, mem, value);
271 this->mstore =
false;
293 function(this->ctx, reg, value);
334 return this->defined;
This is the main Triton Context class.
TRITON_EXPORT triton::engines::symbolic::SymbolicEngine * getSymbolicEngine(void)
[symbolic api] - Returns the instance of the symbolic engine.
This class is used to represent a memory access.
TRITON_EXPORT triton::ast::SharedAbstractNode getLeaAst(void) const
Returns the AST of the memory access (LEA).
This class is used when an instruction has a register operand.
TRITON_EXPORT void removeCallback(triton::callbacks::callback_e kind, ComparableFunctor< void(triton::Context &, const triton::arch::MemoryAccess &)> cb)
Deletes a GET_CONCRETE_MEMORY_VALUE callback.
std::list< triton::callbacks::symbolicSimplificationCallback > symbolicSimplificationCallbacks
[c++] Callbacks for all symbolic simplifications.
TRITON_EXPORT void clearCallbacks(void)
Clears recorded callbacks.
TRITON_EXPORT void addCallback(triton::callbacks::callback_e kind, ComparableFunctor< void(triton::Context &, const triton::arch::MemoryAccess &)> cb)
Adds a GET_CONCRETE_MEMORY_VALUE callback.
std::list< triton::callbacks::setConcreteMemoryValueCallback > setConcreteMemoryValueCallbacks
[c++] Callbacks for all concrete memory needs (STORE).
triton::usize countCallbacks(void) const
Returns the number of callbacks recorded.
std::list< triton::callbacks::getConcreteMemoryValueCallback > getConcreteMemoryValueCallbacks
[c++] Callbacks for all concrete memory needs (LOAD).
std::list< triton::callbacks::setConcreteRegisterValueCallback > setConcreteRegisterValueCallbacks
[c++] Callbacks for all concrete register needs (PUT).
TRITON_EXPORT Callbacks(triton::Context &ctx)
Constructor.
TRITON_EXPORT bool isDefined(void) const
Returns true if at least one callback is defined.
void removeSingleCallback(std::list< T > &container, T cb)
Trys to find and remove the callback, raises an exception if not able.
std::list< triton::callbacks::getConcreteRegisterValueCallback > getConcreteRegisterValueCallbacks
[c++] Callbacks for all concrete register needs (GET).
TRITON_EXPORT triton::ast::SharedAbstractNode processCallbacks(triton::callbacks::callback_e kind, triton::ast::SharedAbstractNode node)
Processes callbacks according to the kind and the C++ polymorphism.
TRITON_EXPORT void initLeaAst(triton::arch::MemoryAccess &mem, bool force=true)
Initializes the effective address of a memory access.
The exception class used by callbacks.
The root class of all exceptions.
std::shared_ptr< triton::ast::AbstractNode > SharedAbstractNode
Shared Abstract Node.
@ SYMBOLIC_SIMPLIFICATION
@ GET_CONCRETE_REGISTER_VALUE
@ GET_CONCRETE_MEMORY_VALUE
@ SET_CONCRETE_MEMORY_VALUE
@ SET_CONCRETE_REGISTER_VALUE
std::size_t usize
unsigned MAX_INT 32 or 64 bits according to the CPU.