about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--miasm2/ir/translators/smt2.py10
-rw-r--r--miasm2/ir/translators/z3_ir.py9
2 files changed, 19 insertions, 0 deletions
diff --git a/miasm2/ir/translators/smt2.py b/miasm2/ir/translators/smt2.py
index 96f8dab3..f5fbf427 100644
--- a/miasm2/ir/translators/smt2.py
+++ b/miasm2/ir/translators/smt2.py
@@ -125,11 +125,21 @@ class TranslatorSMT2(Translator):
         @endianness: (optional) memory endianness
         """
         super(TranslatorSMT2, self).__init__(**kwargs)
+        # endianness
+        self.endianness = endianness
         # memory abstraction
         self._mem = SMT2Mem(endianness)
         # map of translated bit vectors
         self._bitvectors = dict()
 
+    def is_little_endian(self):
+        """True if this memory is little endian."""
+        return self.endianness == "<"
+
+    def is_big_endian(self):
+        """True if this memory is big endian."""
+        return not self.is_little_endian()
+
     def from_ExprInt(self, expr):
         return bit_vec_val(expr.arg.arg, expr.size)
 
diff --git a/miasm2/ir/translators/z3_ir.py b/miasm2/ir/translators/z3_ir.py
index b6645d2b..1e02ea9a 100644
--- a/miasm2/ir/translators/z3_ir.py
+++ b/miasm2/ir/translators/z3_ir.py
@@ -115,8 +115,17 @@ class TranslatorZ3(Translator):
         @endianness: (optional) memory endianness
         """
         super(TranslatorZ3, self).__init__(**kwargs)
+        self.endianness = endianness
         self._mem = Z3Mem(endianness)
 
+    def is_little_endian(self):
+        """True if this memory is little endian."""
+        return self.endianness == "<"
+
+    def is_big_endian(self):
+        """True if this memory is big endian."""
+        return not self.is_little_endian()
+
     def from_ExprInt(self, expr):
         return z3.BitVecVal(expr.arg.arg, expr.size)