diff options
| author | Camille Mougey <commial@gmail.com> | 2016-09-01 11:09:21 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2016-09-01 11:09:21 +0200 |
| commit | 9f135c02e9bce299a700fa0191388542d141ea22 (patch) | |
| tree | d8ad86407e24ae9435ca4ca344ae7ec61e8568d2 /miasm2/jitter/jitcore.py | |
| parent | fb7501f4bb0bc77a0262ad4894732e4de6ccb2b2 (diff) | |
| parent | 2858e916f35f0469baeea23632ddd8befdd7ca5d (diff) | |
| download | miasm-9f135c02e9bce299a700fa0191388542d141ea22.tar.gz miasm-9f135c02e9bce299a700fa0191388542d141ea22.zip | |
Merge pull request #411 from serpilliere/fix_memory_breakpoint
Fix memory breakpoint
Diffstat (limited to '')
| -rw-r--r-- | miasm2/jitter/jitcore.py | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/miasm2/jitter/jitcore.py b/miasm2/jitter/jitcore.py index e81acc4e..04bd707a 100644 --- a/miasm2/jitter/jitcore.py +++ b/miasm2/jitter/jitcore.py @@ -51,8 +51,6 @@ class JitCore(object): self.blocs_mem_interval = interval() self.disasm_cb = None self.split_dis = set() - self.addr_mod = interval() - self.options = {"jit_maxline": 50 # Maximum number of line jitted } @@ -261,12 +259,21 @@ class JitCore(object): return modified_blocs - def updt_automod_code(self, vm): - """Remove code jitted in range self.addr_mod + def updt_automod_code_range(self, vm, mem_range): + """Remove jitted code in range @mem_range @vm: VmMngr instance + @mem_range: list of start/stop addresses """ - for addr_start, addr_stop in vm.get_code_bloc_write(): + for addr_start, addr_stop in mem_range: self.del_bloc_in_range(addr_start, addr_stop) self.__updt_jitcode_mem_range(vm) - self.addr_mod = interval() - vm.reset_code_bloc_write() + vm.reset_memory_access() + + def updt_automod_code(self, vm): + """Remove jitted code updated by memory write + @vm: VmMngr instance + """ + mem_range = [] + for addr_start, addr_stop in vm.get_memory_write(): + mem_range.append((addr_start, addr_stop)) + self.updt_automod_code_range(vm, mem_range) |