about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorCamille Mougey <commial@gmail.com>2015-10-06 13:24:49 +0200
committerCamille Mougey <commial@gmail.com>2015-10-06 13:24:49 +0200
commiteb3cdbbd84e9c616b03408e5ec80cc4edb2ad41f (patch)
tree94076bd6326ac0c9c7b2c131623bd4143d8282a8
parent57aeee7fbe49ebc3f63d83b8376aeb401e12db6c (diff)
parent52e39256ae3da3b0fcf37812fc402340cd7db646 (diff)
downloadmiasm-eb3cdbbd84e9c616b03408e5ec80cc4edb2ad41f.tar.gz
miasm-eb3cdbbd84e9c616b03408e5ec80cc4edb2ad41f.zip
Merge pull request #223 from serpilliere/fix_stack_base
Sandbox: add stack base manipulation
-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()