about summary refs log tree commit diff stats
path: root/miasm2/analysis/sandbox.py
diff options
context:
space:
mode:
authorFabrice Desclaux <fabrice.desclaux@cea.fr>2015-10-05 22:41:23 +0200
committerFabrice Desclaux <fabrice.desclaux@cea.fr>2015-10-05 22:41:23 +0200
commit52e39256ae3da3b0fcf37812fc402340cd7db646 (patch)
treef7c8668a6829b10452ad31c7720f8717cf7a3fc3 /miasm2/analysis/sandbox.py
parent4be10d5c341bfef79478483e54301e1abce77202 (diff)
downloadmiasm-52e39256ae3da3b0fcf37812fc402340cd7db646.tar.gz
miasm-52e39256ae3da3b0fcf37812fc402340cd7db646.zip
Sandbox: add stack base manipulation
Diffstat (limited to 'miasm2/analysis/sandbox.py')
-rw-r--r--miasm2/analysis/sandbox.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/miasm2/analysis/sandbox.py b/miasm2/analysis/sandbox.py
index 7dc5d76e..688c7592 100644
--- a/miasm2/analysis/sandbox.py
+++ b/miasm2/analysis/sandbox.py
@@ -266,6 +266,7 @@ class OS_Linux_str(OS):
 class Arch_x86(Arch):
     _ARCH_ = None # Arch name
     STACK_SIZE = 0x100000
+    STACK_BASE = 0x123000
 
     def __init__(self):
         super(Arch_x86, self).__init__()
@@ -278,6 +279,7 @@ class Arch_x86(Arch):
 
         # Init stack
         self.jitter.stack_size = self.STACK_SIZE
+        self.jitter.stack_base = self.STACK_BASE
         self.jitter.init_stack()
 
 
@@ -298,46 +300,54 @@ class Arch_x86_64(Arch_x86):
 class Arch_arml(Arch):
     _ARCH_ = "arml"
     STACK_SIZE = 0x100000
+    STACK_BASE = 0x100000
 
     def __init__(self):
         super(Arch_arml, self).__init__()
 
         # Init stack
         self.jitter.stack_size = self.STACK_SIZE
+        self.jitter.stack_base = self.STACK_BASE
         self.jitter.init_stack()
 
 class Arch_armb(Arch):
     _ARCH_ = "armb"
     STACK_SIZE = 0x100000
+    STACK_BASE = 0x100000
 
     def __init__(self):
         super(Arch_armb, self).__init__()
 
         # Init stack
         self.jitter.stack_size = self.STACK_SIZE
+        self.jitter.stack_base = self.STACK_BASE
         self.jitter.init_stack()
 
 class Arch_aarch64l(Arch):
     _ARCH_ = "aarch64l"
     STACK_SIZE = 0x100000
+    STACK_BASE = 0x100000
 
     def __init__(self):
         super(Arch_aarch64l, self).__init__()
 
         # Init stack
         self.jitter.stack_size = self.STACK_SIZE
+        self.jitter.stack_base = self.STACK_BASE
         self.jitter.init_stack()
 
 
 class Arch_aarch64b(Arch):
     _ARCH_ = "aarch64b"
     STACK_SIZE = 0x100000
+    STACK_BASE = 0x100000
 
     def __init__(self):
         super(Arch_aarch64b, self).__init__()
 
         # Init stack
         self.jitter.stack_size = self.STACK_SIZE
+        self.jitter.stack_base = self.STACK_BASE
         self.jitter.init_stack()