Пример #1
0
 static PyObject* SymbolicVariable_setConcreteValue(PyObject* self, PyObject* value) {
   try {
     if (!PyLong_Check(value) && !PyInt_Check(value))
       return PyErr_Format(PyExc_TypeError, "SymbolicVariable::setConcretevalue(): Expected an integer as argument.");
     PySymbolicVariable_AsSymbolicVariable(self)->setConcreteValue(PyLong_AsUint512(value));
     Py_INCREF(Py_None);
     return Py_None;
   }
   catch (const std::exception& e) {
     return PyErr_Format(PyExc_TypeError, "%s", e.what());
   }
 }
Пример #2
0
      static PyObject* MemoryOperand_setConcreteValue(PyObject* self, PyObject* value) {
        try {
          triton::arch::MemoryOperand *mem;

          if (!PyLong_Check(value) && !PyInt_Check(value))
            return PyErr_Format(PyExc_TypeError, "Memory::setConcretevalue(): Expected an integer as argument.");

          mem = PyMemoryOperand_AsMemoryOperand(self);
          mem->setConcreteValue(PyLong_AsUint512(value));
          Py_INCREF(Py_None);
          return Py_None;
        }
        catch (const std::exception& e) {
          return PyErr_Format(PyExc_TypeError, "%s", e.what());
        }
      }
Пример #3
0
      static PyObject* RegisterOperand_setConcreteValue(PyObject* self, PyObject* value) {
        try {
          triton::arch::RegisterOperand *reg;

          if (!PyLong_Check(value) && !PyInt_Check(value))
            return PyErr_Format(PyExc_TypeError, "Register::setConcretevalue(): Expected an integer as argument.");

          reg = PyRegisterOperand_AsRegisterOperand(self);
          if (reg->isFlag())
            return PyErr_Format(PyExc_TypeError, "Register::setConcreteValue(): You cannot set a concrete value on a flag.");

          reg->setConcreteValue(PyLong_AsUint512(value));
          Py_INCREF(Py_None);
          return Py_None;
        }
        catch (const std::exception& e) {
          return PyErr_Format(PyExc_TypeError, "%s", e.what());
        }
      }