mirror of
https://github.com/S3cur3Th1sSh1t/Creds
synced 2026-06-08 12:24:00 +00:00
51 lines
1.3 KiB
Python
51 lines
1.3 KiB
Python
# stolen from https://gist.github.com/ajpc500/a9695eca6a660d1fb5ec30a2e356f33e
|
|
from uuid import UUID
|
|
import os
|
|
import sys
|
|
|
|
# Usage: python3 binToUUIDs.py shellcode.bin [--print]
|
|
|
|
print("""
|
|
____ _ _______ _ _ _ _ _____ _____
|
|
| _ \(_) |__ __| | | | | | | |_ _| __ \
|
|
| |_) |_ _ __ | | ___ | | | | | | | | | | | | |___
|
|
| _ <| | '_ \| |/ _ \| | | | | | | | | | | | / __|
|
|
| |_) | | | | | | (_) | |__| | |__| |_| |_| |__| \__ \
|
|
|____/|_|_| |_|_|\___/ \____/ \____/|_____|_____/|___/
|
|
\n""")
|
|
|
|
with open(sys.argv[1], "rb") as f:
|
|
bin = f.read()
|
|
|
|
if len(sys.argv) > 2 and sys.argv[2] == "--print":
|
|
outputMapping = True
|
|
else:
|
|
outputMapping = False
|
|
|
|
offset = 0
|
|
|
|
print("Length of shellcode: {} bytes\n".format(len(bin)))
|
|
|
|
out = ""
|
|
|
|
while(offset < len(bin)):
|
|
countOfBytesToConvert = len(bin[offset:])
|
|
if countOfBytesToConvert < 16:
|
|
ZerosToAdd = 16 - countOfBytesToConvert
|
|
byteString = bin[offset:] + (b'\x00'* ZerosToAdd)
|
|
uuid = UUID(bytes_le=byteString)
|
|
else:
|
|
byteString = bin[offset:offset+16]
|
|
uuid = UUID(bytes_le=byteString)
|
|
offset+=16
|
|
|
|
out += "\"{}\",\n".format(uuid)
|
|
|
|
if outputMapping:
|
|
print("{} -> {}".format(byteString, uuid))
|
|
|
|
with open(sys.argv[1] + "UUIDs", "w") as f:
|
|
f.write(out)
|
|
|
|
print("Outputted to: {}".format(sys.argv[1] + "UUIDs"))
|