miasm
Reverse engineering framework
|
Go to the source code of this file.
Classes | |
struct | block_id |
struct | JitCpu |
struct | _reg_dict |
Macros | |
#define | _MIASM_EXPORT |
#define | RAISE(errtype, msg) {PyObject* p; p = PyErr_Format( errtype, msg ); return p;} |
#define | RAISE_ret0(errtype, msg) {PyObject* p; p = PyErr_Format( errtype, msg ); return 0;} |
#define | getset_reg_bn(regname, size) |
#define | getset_reg_u64(regname) |
#define | getset_reg_u32(regname) |
#define | getset_reg_u16(regname) |
#define | getset_reg_u8(regname) |
#define | get_reg(reg) |
#define | get_reg_bn(reg, size) |
#define | get_reg_off(reg) |
#define | Resolve_dst(b, arg_addr, arg_is_local) do {(b)->address = (arg_addr); (b)->is_local = (arg_is_local);} while(0) |
#define | VM_exception_flag (jitcpu->pyvm->vm_mngr.exception_flags) |
#define | CPU_exception_flag (((struct vm_cpu*)jitcpu->cpu)->exception_flags) |
#define | CPU_exception_flag_at_instr ((CPU_exception_flag) && ((CPU_exception_flag) > EXCEPT_NUM_UPDT_EIP)) |
#define | JIT_RET_EXCEPTION 1 |
#define | JIT_RET_NO_EXCEPTION 0 |
Typedefs | |
typedef struct _reg_dict | reg_dict |
Functions | |
void | JitCpu_dealloc (JitCpu *self) |
PyObject * | JitCpu_new (PyTypeObject *type, PyObject *args, PyObject *kwds) |
PyObject * | JitCpu_get_vmmngr (JitCpu *self, void *closure) |
PyObject * | JitCpu_set_vmmngr (JitCpu *self, PyObject *value, void *closure) |
PyObject * | JitCpu_get_vmcpu (JitCpu *self, void *closure) |
PyObject * | JitCpu_set_vmcpu (JitCpu *self, PyObject *value, void *closure) |
PyObject * | JitCpu_get_jitter (JitCpu *self, void *closure) |
PyObject * | JitCpu_set_jitter (JitCpu *self, PyObject *value, void *closure) |
void | Resolve_dst (block_id *BlockDst, uint64_t addr, uint64_t is_local) |
_MIASM_EXPORT uint8_t | MEM_LOOKUP_08 (JitCpu *jitcpu, uint64_t addr) |
_MIASM_EXPORT uint16_t | MEM_LOOKUP_16 (JitCpu *jitcpu, uint64_t addr) |
_MIASM_EXPORT uint32_t | MEM_LOOKUP_32 (JitCpu *jitcpu, uint64_t addr) |
_MIASM_EXPORT uint64_t | MEM_LOOKUP_64 (JitCpu *jitcpu, uint64_t addr) |
_MIASM_EXPORT bn_t | MEM_LOOKUP_BN_BN (JitCpu *jitcpu, int size, bn_t addr) |
_MIASM_EXPORT bn_t | MEM_LOOKUP_INT_BN (JitCpu *jitcpu, int size, uint64_t addr) |
_MIASM_EXPORT uint64_t | MEM_LOOKUP_BN_INT (JitCpu *jitcpu, int size, bn_t addr) |
_MIASM_EXPORT void | MEM_WRITE_BN_BN (JitCpu *jitcpu, int size, bn_t addr, bn_t src) |
_MIASM_EXPORT void | MEM_WRITE_BN_INT (JitCpu *jitcpu, int size, bn_t addr, uint64_t src) |
_MIASM_EXPORT void | MEM_WRITE_INT_BN (JitCpu *jitcpu, int size, uint64_t addr, bn_t src) |
_MIASM_EXPORT void | MEM_LOOKUP_INT_BN_TO_PTR (JitCpu *jitcpu, int size, uint64_t addr, char *ptr) |
_MIASM_EXPORT void | MEM_WRITE_INT_BN_FROM_PTR (JitCpu *jitcpu, int size, uint64_t addr, char *ptr) |
#define _MIASM_EXPORT |
#define CPU_exception_flag (((struct vm_cpu*)jitcpu->cpu)->exception_flags) |
#define CPU_exception_flag_at_instr ((CPU_exception_flag) && ((CPU_exception_flag) > EXCEPT_NUM_UPDT_EIP)) |
#define get_reg | ( | reg | ) |
#define get_reg_bn | ( | reg, | |
size | |||
) |
#define get_reg_off | ( | reg | ) |
#define getset_reg_bn | ( | regname, | |
size | |||
) |
#define getset_reg_u16 | ( | regname | ) |
#define getset_reg_u32 | ( | regname | ) |
#define getset_reg_u64 | ( | regname | ) |
#define getset_reg_u8 | ( | regname | ) |
#define JIT_RET_EXCEPTION 1 |
#define JIT_RET_NO_EXCEPTION 0 |
#define RAISE | ( | errtype, | |
msg | |||
) | {PyObject* p; p = PyErr_Format( errtype, msg ); return p;} |
#define RAISE_ret0 | ( | errtype, | |
msg | |||
) | {PyObject* p; p = PyErr_Format( errtype, msg ); return 0;} |
#define Resolve_dst | ( | b, | |
arg_addr, | |||
arg_is_local | |||
) | do {(b)->address = (arg_addr); (b)->is_local = (arg_is_local);} while(0) |
#define VM_exception_flag (jitcpu->pyvm->vm_mngr.exception_flags) |
void JitCpu_dealloc | ( | JitCpu * | self | ) |
PyObject* JitCpu_get_jitter | ( | JitCpu * | self, |
void * | closure | ||
) |
PyObject* JitCpu_get_vmcpu | ( | JitCpu * | self, |
void * | closure | ||
) |
PyObject* JitCpu_get_vmmngr | ( | JitCpu * | self, |
void * | closure | ||
) |
PyObject* JitCpu_new | ( | PyTypeObject * | type, |
PyObject * | args, | ||
PyObject * | kwds | ||
) |
PyObject* JitCpu_set_jitter | ( | JitCpu * | self, |
PyObject * | value, | ||
void * | closure | ||
) |
PyObject* JitCpu_set_vmcpu | ( | JitCpu * | self, |
PyObject * | value, | ||
void * | closure | ||
) |
PyObject* JitCpu_set_vmmngr | ( | JitCpu * | self, |
PyObject * | value, | ||
void * | closure | ||
) |
_MIASM_EXPORT uint8_t MEM_LOOKUP_08 | ( | JitCpu * | jitcpu, |
uint64_t | addr | ||
) |
_MIASM_EXPORT uint16_t MEM_LOOKUP_16 | ( | JitCpu * | jitcpu, |
uint64_t | addr | ||
) |
_MIASM_EXPORT uint32_t MEM_LOOKUP_32 | ( | JitCpu * | jitcpu, |
uint64_t | addr | ||
) |
_MIASM_EXPORT uint64_t MEM_LOOKUP_64 | ( | JitCpu * | jitcpu, |
uint64_t | addr | ||
) |
_MIASM_EXPORT bn_t MEM_LOOKUP_BN_BN | ( | JitCpu * | jitcpu, |
int | size, | ||
bn_t | addr | ||
) |
_MIASM_EXPORT uint64_t MEM_LOOKUP_BN_INT | ( | JitCpu * | jitcpu, |
int | size, | ||
bn_t | addr | ||
) |
_MIASM_EXPORT bn_t MEM_LOOKUP_INT_BN | ( | JitCpu * | jitcpu, |
int | size, | ||
uint64_t | addr | ||
) |
_MIASM_EXPORT void MEM_LOOKUP_INT_BN_TO_PTR | ( | JitCpu * | jitcpu, |
int | size, | ||
uint64_t | addr, | ||
char * | ptr | ||
) |
_MIASM_EXPORT void MEM_WRITE_BN_BN | ( | JitCpu * | jitcpu, |
int | size, | ||
bn_t | addr, | ||
bn_t | src | ||
) |
_MIASM_EXPORT void MEM_WRITE_BN_INT | ( | JitCpu * | jitcpu, |
int | size, | ||
bn_t | addr, | ||
uint64_t | src | ||
) |
_MIASM_EXPORT void MEM_WRITE_INT_BN | ( | JitCpu * | jitcpu, |
int | size, | ||
uint64_t | addr, | ||
bn_t | src | ||
) |
_MIASM_EXPORT void MEM_WRITE_INT_BN_FROM_PTR | ( | JitCpu * | jitcpu, |
int | size, | ||
uint64_t | addr, | ||
char * | ptr | ||
) |
void Resolve_dst | ( | block_id * | BlockDst, |
uint64_t | addr, | ||
uint64_t | is_local | ||
) |