diff options
Diffstat (limited to 'tools')
| -rw-r--r-- | tools/sploit/sploit/__init__.py | 2 | ||||
| -rw-r--r-- | tools/sploit/sploit/arch.py | 28 | 
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 | 
