miasm
Reverse engineering framework
JitCore_ppc32.h
Go to the documentation of this file.
1 /*
2  * _size can't be used yet because all register accesses are homogeneously
3  * 32-bit
4  */
5 struct vm_cpu {
6 #define JITCORE_PPC_REG_EXPAND(_name, _size) \
7  uint32_t _name;
8 #include "JitCore_ppc32_regs.h"
9 #undef JITCORE_PPC_REG_EXPAND
10 
11  uint64_t exception_flags;
12  uint32_t spr_access;
13  uint32_t reserve;
14  uint32_t reserve_address;
15 };
16 
17 _MIASM_EXPORT void dump_gpregs(struct vm_cpu *);
18 
19 _MIASM_EXPORT void MEM_WRITE_08(JitCpu* jitcpu, uint64_t addr, uint8_t src);
20 _MIASM_EXPORT void MEM_WRITE_16(JitCpu* jitcpu, uint64_t addr, uint16_t src);
21 _MIASM_EXPORT void MEM_WRITE_32(JitCpu* jitcpu, uint64_t addr, uint32_t src);
22 _MIASM_EXPORT void MEM_WRITE_64(JitCpu* jitcpu, uint64_t addr, uint64_t src);
dse_crackme.found
bool found
Definition: dse_crackme.py:270
vm_cpu::reserve_address
uint32_t reserve_address
Definition: JitCore_ppc32.h:14
dump_gpregs
_MIASM_EXPORT void dump_gpregs(struct vm_cpu *)
Definition: JitCore_aarch64.c:170
_reg_dict
Definition: JitCore.h:194
MOD_DEF
#define MOD_DEF(ob, name, doc, methods)
Definition: compat_py23.h:218
cpu_init_regs
PyObject * cpu_init_regs(JitCpu *self)
Definition: JitCore_ppc32.c:74
MEM_WRITE_64
_MIASM_EXPORT void MEM_WRITE_64(JitCpu *jitcpu, uint64_t addr, uint64_t src)
Definition: JitCore_aarch64.c:249
PyGetInt_uint32_t
#define PyGetInt_uint32_t(item, value)
Definition: compat_py23.h:194
JitCore_ppc32.h
MEM_WRITE_32
void MEM_WRITE_32(JitCpu *jitcpu, uint64_t addr, uint32_t src)
Definition: JitCore_ppc32.c:152
JitCpu_new
PyObject * JitCpu_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
Definition: JitCore.c:20
vm_MEM_WRITE_32
void vm_MEM_WRITE_32(vm_mngr_t *vm_mngr, uint64_t addr, unsigned int src)
Definition: vm_mngr.c:473
RET_MODULE
#define RET_MODULE
Definition: compat_py23.h:221
JitCpu_get_vmmngr
PyObject * JitCpu_get_vmmngr(JitCpu *self, void *closure)
Definition: JitCore.c:28
modint.i
i
Definition: modint.py:70
cpu_get_gpreg
PyObject * cpu_get_gpreg(JitCpu *self)
Definition: JitCore_ppc32.c:20
get_gpreg_offset_all
PyObject * get_gpreg_offset_all(void)
Definition: JitCore_ppc32.c:197
gpreg_dict
reg_dict gpreg_dict[]
Definition: JitCore_ppc32.c:13
cpu_set_gpreg
PyObject * cpu_set_gpreg(JitCpu *self, PyObject *args)
Definition: JitCore_ppc32.c:36
cpu_dump_gpregs_with_attrib
PyObject * cpu_dump_gpregs_with_attrib(JitCpu *self, PyObject *args)
Definition: JitCore_ppc32.c:111
PyGetStr
#define PyGetStr(dest, name)
Definition: compat_py23.h:181
cpu_get_exception
PyObject * cpu_get_exception(JitCpu *self, PyObject *args)
Definition: JitCore_ppc32.c:133
vm_MEM_WRITE_64
void vm_MEM_WRITE_64(vm_mngr_t *vm_mngr, uint64_t addr, uint64_t src)
Definition: vm_mngr.c:478
JitCpu_set_vmmngr
PyObject * JitCpu_set_vmmngr(JitCpu *self, PyObject *value, void *closure)
Definition: JitCore.c:38
JitCpu_set_jitter
PyObject * JitCpu_set_jitter(JitCpu *self, PyObject *value, void *closure)
Definition: JitCore.c:73
cpu_dump_gpregs
PyObject * cpu_dump_gpregs(JitCpu *self, PyObject *args)
Definition: JitCore_ppc32.c:102
MEM_WRITE_08
void MEM_WRITE_08(JitCpu *jitcpu, uint64_t addr, uint8_t src)
Definition: JitCore_ppc32.c:142
RAISE
#define RAISE(errtype, msg)
Definition: JitCore.h:19
dump_gpregs
void dump_gpregs(struct vm_cpu *vmcpu)
Definition: JitCore_ppc32.c:88
export_llvm.name
name
Definition: export_llvm.py:70
VmMngr
Definition: vm_mngr_py.h:8
vm_MEM_WRITE_08
void vm_MEM_WRITE_08(vm_mngr_t *vm_mngr, uint64_t addr, unsigned char src)
Definition: vm_mngr.c:462
JitCpu_get_jitter
PyObject * JitCpu_get_jitter(JitCpu *self, void *closure)
Definition: JitCore.c:63
MOD_INIT
MOD_INIT(JitCore_ppc32)
Definition: JitCore_ppc32.c:280
MEM_WRITE_16
void MEM_WRITE_16(JitCpu *jitcpu, uint64_t addr, uint16_t src)
Definition: JitCore_ppc32.c:147
MEM_WRITE_08
_MIASM_EXPORT void MEM_WRITE_08(JitCpu *jitcpu, uint64_t addr, uint8_t src)
Definition: JitCore_aarch64.c:234
PyGetInt_uint64_t
#define PyGetInt_uint64_t(item, value)
Definition: compat_py23.h:195
vm_MEM_WRITE_16
void vm_MEM_WRITE_16(vm_mngr_t *vm_mngr, uint64_t addr, unsigned short src)
Definition: vm_mngr.c:468
dse_crackme.stderr
stderr
Definition: dse_crackme.py:320
_MIASM_EXPORT
#define _MIASM_EXPORT
Definition: JitCore_x86.h:6
vm_cpu::spr_access
uint32_t spr_access
Definition: JitCore_ppc32.h:12
shellcode.args
args
Definition: shellcode.py:26
_reg_dict::offset
size_t offset
Definition: JitCore.h:196
MEM_WRITE_32
_MIASM_EXPORT void MEM_WRITE_32(JitCpu *jitcpu, uint64_t addr, uint32_t src)
Definition: JitCore_aarch64.c:244
vm_cpu::reserve
uint32_t reserve
Definition: JitCore_ppc32.h:13
JitCpu::pyvm
PyObject_HEAD VmMngr * pyvm
Definition: JitCore.h:188
vm_cpu::exception_flags
uint64_t exception_flags
Definition: JitCore_ppc32.h:11
cpu_set_exception
PyObject * cpu_set_exception(JitCpu *self, PyObject *args)
Definition: JitCore_ppc32.c:117
MEM_WRITE_16
_MIASM_EXPORT void MEM_WRITE_16(JitCpu *jitcpu, uint64_t addr, uint16_t src)
Definition: JitCore_aarch64.c:239
JitCpu_dealloc
void JitCpu_dealloc(JitCpu *self)
Definition: JitCore.c:14
dis_binary.addr
addr
Definition: dis_binary.py:24
JitCore_ppc32_regs.h
simplification_tools.o
o
Definition: simplification_tools.py:24
example_types.val
val
Definition: example_types.py:218
miasm.arch.aarch64.regs.exception_flags
exception_flags
Definition: regs.py:7
JitCpu
Definition: JitCore.h:186
vm_cpu
Definition: JitCore_aarch64.h:2
MEM_WRITE_64
void MEM_WRITE_64(JitCpu *jitcpu, uint64_t addr, uint64_t src)
Definition: JitCore_ppc32.c:157