summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tools/sploit/sploit/__init__.py2
-rw-r--r--tools/sploit/sploit/arch.py28
2 files changed, 29 insertions, 1 deletions
diff --git a/tools/sploit/sploit/__init__.py b/tools/sploit/sploit/__init__.py
index c90b980..d9ea6b0 100644
--- a/tools/sploit/sploit/__init__.py
+++ b/tools/sploit/sploit/__init__.py
@@ -1 +1 @@
-__all__ = ["log","comm","until"]
+__all__ = ["log","comm","until","arch"]
diff --git a/tools/sploit/sploit/arch.py b/tools/sploit/sploit/arch.py
new file mode 100644
index 0000000..d75bbda
--- /dev/null
+++ b/tools/sploit/sploit/arch.py
@@ -0,0 +1,28 @@
+def btoi(b, signed=False):
+ return int.from_bytes(b, arch.endianness, signed=signed)
+
+def itob(i, signed=False):
+ return i.to_bytes(arch.wordsize, arch.endianness, signed=signed)
+
+class Arch:
+ def __init__(self, wordsize, endianness, alignment, nop):
+ self.wordsize = wordsize
+ self.endianness = endianness
+ self.alignment = alignment
+ self.nop = nop
+
+archx86 = Arch(
+ wordsize = 4,
+ endianness = "little",
+ alignment = 16,
+ nop = b'\x90'
+)
+
+archx86_64 = Arch(
+ wordsize = 8,
+ endianness = "little",
+ alignment = 16,
+ nop = b'\x90'
+)
+
+arch = archx86_64