Public Member Functions | |
def | __init__ |
def | set_options |
def | add_disassembly_splits |
def | remove_disassembly_splits |
def | load |
def | get_bloc_min_max |
def | add_bloc_to_mem_interval |
def | jitirblocs |
def | add_bloc |
def | disbloc |
def | jit_call |
def | runbloc |
def | blocs2memrange |
def | del_bloc_in_range |
def | updt_automod_code |
def | automod_cb |
Public Attributes | |
ir_arch | |
bs | |
known_blocs | |
lbl2jitbloc | |
lbl2bloc | |
log_mn | |
log_regs | |
log_newbloc | |
segm_to_do | |
job_done | |
jitcount | |
addr2obj | |
addr2objref | |
blocs_mem_interval | |
disasm_cb | |
split_dis | |
addr_mod | |
options | |
Static Public Attributes | |
jitted_block_delete_cb = None | |
int | jitted_block_max_size = 10000 |
Private Member Functions | |
def | __updt_jitcode_mem_range |
Definition at line 24 of file jitcore.py.
def miasm2.jitter.jitcore.JitCore.__init__ | ( | self, | |
ir_arch, | |||
bs = None |
|||
) |
Initialise a JitCore instance. @ir_arch: ir instance for current architecture @bs: bitstream
Definition at line 31 of file jitcore.py.
|
private |
Rebuild the VM blocs address memory range @vm: VmMngr instance
Definition at line 195 of file jitcore.py.
def miasm2.jitter.jitcore.JitCore.add_bloc | ( | self, | |
b | |||
) |
def miasm2.jitter.jitcore.JitCore.add_bloc_to_mem_interval | ( | self, | |
vm, | |||
bloc | |||
) |
Definition at line 85 of file jitcore.py.
def miasm2.jitter.jitcore.JitCore.add_disassembly_splits | ( | self, | |
args | |||
) |
The disassembly engine will stop on address in args if they are not at the block beginning
Definition at line 64 of file jitcore.py.
def miasm2.jitter.jitcore.JitCore.automod_cb | ( | self, | |
addr = 0 , |
|||
size = 0 |
|||
) |
Definition at line 260 of file jitcore.py.
def miasm2.jitter.jitcore.JitCore.blocs2memrange | ( | self, | |
blocs | |||
) |
Return an interval instance standing for blocs addresses @blocs: list of asm_bloc instances
Definition at line 183 of file jitcore.py.
def miasm2.jitter.jitcore.JitCore.del_bloc_in_range | ( | self, | |
ad1, | |||
ad2 | |||
) |
Find and remove jitted bloc in range [ad1, ad2]. Return the list of bloc removed. @ad1: First address @ad2: Last address
Definition at line 207 of file jitcore.py.
def miasm2.jitter.jitcore.JitCore.disbloc | ( | self, | |
addr, | |||
cpu, | |||
vm | |||
) |
def miasm2.jitter.jitcore.JitCore.get_bloc_min_max | ( | self, | |
cur_bloc | |||
) |
Definition at line 78 of file jitcore.py.
def miasm2.jitter.jitcore.JitCore.jit_call | ( | self, | |
label, | |||
cpu, | |||
_vmmngr, | |||
breakpoints | |||
) |
Call the function label with cpu and vmmngr states @label: function's label @cpu: JitCpu instance @breakpoints: Dict instance of used breakpoints
Definition at line 156 of file jitcore.py.
def miasm2.jitter.jitcore.JitCore.jitirblocs | ( | self, | |
label, | |||
irblocs | |||
) |
JiT a group of irblocs. @label: the label of the irblocs @irblocs: a gorup of irblocs
Definition at line 94 of file jitcore.py.
def miasm2.jitter.jitcore.JitCore.load | ( | self, | |
arch, | |||
attrib | |||
) |
Definition at line 73 of file jitcore.py.
def miasm2.jitter.jitcore.JitCore.remove_disassembly_splits | ( | self, | |
args | |||
) |
The disassembly engine will no longer stop on address in args
Definition at line 69 of file jitcore.py.
def miasm2.jitter.jitcore.JitCore.runbloc | ( | self, | |
cpu, | |||
vm, | |||
lbl, | |||
breakpoints | |||
) |
Run the bloc starting at lbl. @cpu: JitCpu instance @vm: VmMngr instance @lbl: target label
Definition at line 164 of file jitcore.py.
def miasm2.jitter.jitcore.JitCore.set_options | ( | self, | |
kwargs | |||
) |
Definition at line 59 of file jitcore.py.
def miasm2.jitter.jitcore.JitCore.updt_automod_code | ( | self, | |
vm | |||
) |
Remove code jitted in range self.addr_mod @vm: VmMngr instance
Definition at line 251 of file jitcore.py.
miasm2.jitter.jitcore.JitCore.addr2obj |
Definition at line 49 of file jitcore.py.
miasm2.jitter.jitcore.JitCore.addr2objref |
Definition at line 50 of file jitcore.py.
miasm2.jitter.jitcore.JitCore.addr_mod |
Definition at line 54 of file jitcore.py.
miasm2.jitter.jitcore.JitCore.blocs_mem_interval |
Definition at line 51 of file jitcore.py.
miasm2.jitter.jitcore.JitCore.bs |
Definition at line 38 of file jitcore.py.
miasm2.jitter.jitcore.JitCore.disasm_cb |
Definition at line 52 of file jitcore.py.
miasm2.jitter.jitcore.JitCore.ir_arch |
Definition at line 37 of file jitcore.py.
miasm2.jitter.jitcore.JitCore.jitcount |
Definition at line 48 of file jitcore.py.
|
static |
Definition at line 28 of file jitcore.py.
|
static |
Definition at line 29 of file jitcore.py.
miasm2.jitter.jitcore.JitCore.job_done |
Definition at line 47 of file jitcore.py.
miasm2.jitter.jitcore.JitCore.known_blocs |
Definition at line 39 of file jitcore.py.
miasm2.jitter.jitcore.JitCore.lbl2bloc |
Definition at line 42 of file jitcore.py.
miasm2.jitter.jitcore.JitCore.lbl2jitbloc |
Definition at line 40 of file jitcore.py.
miasm2.jitter.jitcore.JitCore.log_mn |
Definition at line 43 of file jitcore.py.
miasm2.jitter.jitcore.JitCore.log_newbloc |
Definition at line 45 of file jitcore.py.
miasm2.jitter.jitcore.JitCore.log_regs |
Definition at line 44 of file jitcore.py.
miasm2.jitter.jitcore.JitCore.options |
Definition at line 56 of file jitcore.py.
miasm2.jitter.jitcore.JitCore.segm_to_do |
Definition at line 46 of file jitcore.py.
miasm2.jitter.jitcore.JitCore.split_dis |
Definition at line 53 of file jitcore.py.