コード例 #1
0
ファイル: tritonToZ3Ast.cpp プロジェクト: illera88/Triton
void TritonToZ3Ast::operator()(triton::ast::BvNode& e) {
    Z3Result value        = this->eval(*e.getChilds()[0]);
    Z3Result size         = this->eval(*e.getChilds()[1]);
    triton::uint32 bvsize = static_cast<triton::uint32>(size.getUintValue());

    z3::expr newexpr = this->result.getContext().bv_val(value.getStringValue().c_str(), bvsize);

    this->result.setExpr(newexpr);
}
コード例 #2
0
ファイル: analysisProcessor.cpp プロジェクト: h0wl/Triton
uint512 AnalysisProcessor::evaluateAST(smt2lib::smtAstAbstractNode *node) {
  Z3ast z3ast{};
  Z3Result result = z3ast.eval(*node);
  uint512 nbResult{result.getStringValue()};
  return nbResult;
}