about summary refs log tree commit diff stats
path: root/miasm2/jitter/jitload.py
diff options
context:
space:
mode:
authorajax <devnull@localhost>2014-06-14 20:19:44 +0200
committerajax <devnull@localhost>2014-06-14 20:19:44 +0200
commit3a36d6c8af4a02722d11a639cde8c77e3f0203f0 (patch)
treea9021076091b166c7355bbb0430bf53492d59f47 /miasm2/jitter/jitload.py
parent4e517fdd127932b69f138da7426e0fea50648fbc (diff)
downloadmiasm-3a36d6c8af4a02722d11a639cde8c77e3f0203f0.tar.gz
miasm-3a36d6c8af4a02722d11a639cde8c77e3f0203f0.zip
Jitter: Add PoC jitter engine based on Miasm2 Symbolic execution engine
This way, we hope to:
 - make symbexec more reliable
 - provide a full Python based Jitter (but *very* slow)

Currently, memory writes, self-modiying code and exceptions aren't handled
Diffstat (limited to 'miasm2/jitter/jitload.py')
-rw-r--r--miasm2/jitter/jitload.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/miasm2/jitter/jitload.py b/miasm2/jitter/jitload.py
index d9aca929..c410730a 100644
--- a/miasm2/jitter/jitload.py
+++ b/miasm2/jitter/jitload.py
@@ -14,6 +14,7 @@ from csts import *
 from miasm2.core.utils import *
 from jitcore_tcc import JitCore_Tcc
 from jitcore_llvm import JitCore_LLVM
+from jitcore_python import JitCore_Python
 from miasm2.core.bin_stream import bin_stream
 
 from miasm2.ir.ir2C import init_arch_C
@@ -575,6 +576,7 @@ class jitter:
         @jit_type: JiT backend to use. Available options are:
             - "tcc"
             - "llvm"
+            - "python"
         """
 
         self.arch = my_ir.arch
@@ -599,6 +601,8 @@ class jitter:
             self.jit = JitCore_Tcc(self.my_ir, self.bs)
         elif jit_type == "llvm":
             self.jit = JitCore_LLVM(self.my_ir, self.bs)
+        elif jit_type == "python":
+            self.jit = JitCore_Python(self.my_ir, self.bs)
         else:
             raise Exception("Unkown JiT Backend")