about summary refs log tree commit diff stats
path: root/miasm/tools/to_c_helper.py
diff options
context:
space:
mode:
Diffstat (limited to 'miasm/tools/to_c_helper.py')
-rw-r--r--miasm/tools/to_c_helper.py22
1 files changed, 14 insertions, 8 deletions
diff --git a/miasm/tools/to_c_helper.py b/miasm/tools/to_c_helper.py
index f29ccbd4..c65f5b2a 100644
--- a/miasm/tools/to_c_helper.py
+++ b/miasm/tools/to_c_helper.py
@@ -928,26 +928,32 @@ def updt_pe_from_emul(e):
 def updt_automod_code(known_blocs):
     w_ad, w_size = vm_get_last_write_ad(), vm_get_last_write_size()
     print hex(w_ad), hex(w_size)
-    #all_bloc_funcs = del_bloc_in_range([bn.b for bn in known_blocs], w_ad, w_ad+w_size/8)
     known_blocs = del_bloc_in_range(known_blocs, w_ad, w_ad+w_size/8)
-    
     code_addr = blocs_to_memory_ranges([bn.b for bn in known_blocs.values()])
     merge_memory_ranges(code_addr)
-    
     reset_code_bloc_pool_py()
+
     for a, b in  code_addr:
         vm_add_code_bloc(a, b)
-        
-    #dump_code_bloc_pool_py()
-    
     vm_reset_exception()
 
 
     return known_blocs, code_addr
 
-import random
 
-    
+def flush_all_blocs(known_blocs):
+    for ad in known_blocs.keys():
+        known_blocs = del_bloc_in_range(known_blocs, ad, ad+1)
+    code_addr = blocs_to_memory_ranges([bn.b for bn in known_blocs.values()])
+    merge_memory_ranges(code_addr)
+    reset_code_bloc_pool_py()
+
+    for a, b in  code_addr:
+        vm_add_code_bloc(a, b)
+    vm_reset_exception()
+    return known_blocs, code_addr
+
+import random
 
 def c_emul_bloc(known_blocs, my_eip):
     if not my_eip in known_blocs: