diff options
Diffstat (limited to 'miasm2/jitter/vm_mngr_py.c')
| -rw-r--r-- | miasm2/jitter/vm_mngr_py.c | 38 |
1 files changed, 37 insertions, 1 deletions
diff --git a/miasm2/jitter/vm_mngr_py.c b/miasm2/jitter/vm_mngr_py.c index 215517ee..af41709e 100644 --- a/miasm2/jitter/vm_mngr_py.c +++ b/miasm2/jitter/vm_mngr_py.c @@ -460,6 +460,39 @@ PyObject* vm_is_mapped(VmMngr* self, PyObject* args) return PyLong_FromUnsignedLongLong((uint64_t)ret); } +PyObject* vm_reset_code_bloc_write(VmMngr* self, PyObject* args) +{ + reset_code_bloc_write(&self->vm_mngr); + Py_INCREF(Py_None); + return Py_None; +} + +PyObject* vm_get_code_bloc_write(VmMngr* self, PyObject* args) +{ + uint64_t start, stop; + PyObject* range; + PyObject* result; + uint32_t valid; + + valid = get_code_bloc_write(&self->vm_mngr, &start, &stop); + if (!valid) { + result = PyList_New(0); + return result; + } + + range = PyTuple_New(2); + PyTuple_SetItem(range, 0, PyLong_FromUnsignedLongLong((uint64_t)start)); + PyTuple_SetItem(range, 1, PyLong_FromUnsignedLongLong((uint64_t)stop)); + + + result = PyList_New(1); + PyList_SET_ITEM(result, 0, range); + + return result; +} + + + static PyObject * vm_set_big_endian(VmMngr *self, PyObject *value, void *closure) @@ -529,6 +562,8 @@ static PyMethodDef VmMngr_methods[] = { "X"}, {"is_mapped", (PyCFunction)vm_is_mapped, METH_VARARGS, "X"}, + {"reset_code_bloc_write", (PyCFunction)vm_reset_code_bloc_write, METH_VARARGS, + "X"}, {"add_code_bloc",(PyCFunction)vm_add_code_bloc, METH_VARARGS, "X"}, {"get_mem", (PyCFunction)vm_get_mem, METH_VARARGS, @@ -551,13 +586,14 @@ static PyMethodDef VmMngr_methods[] = { "X"}, {"reset_code_bloc_pool", (PyCFunction)vm_reset_code_bloc_pool, METH_VARARGS, "X"}, + {"get_code_bloc_write", (PyCFunction)vm_get_code_bloc_write, METH_VARARGS, + "X"}, {"set_alarm", (PyCFunction)set_alarm, METH_VARARGS, "X"}, {"get_exception",(PyCFunction)vm_get_exception, METH_VARARGS, "X"}, {"get_exception",(PyCFunction)vm_get_exception, METH_VARARGS, "X"}, - {"set_big_endian",(PyCFunction)vm_set_big_endian, METH_VARARGS, "X"}, {"set_little_endian",(PyCFunction)vm_set_little_endian, METH_VARARGS, |