Moved JavaScript/PwnCollegeV8Exploitation/ to PwnCollege/V8Exploitation/
This commit is contained in:
29
PwnCollege/V8Exploitation/ShellCode/common.py
Normal file
29
PwnCollege/V8Exploitation/ShellCode/common.py
Normal file
@@ -0,0 +1,29 @@
|
||||
from pwn import asm, disasm, util
|
||||
import struct
|
||||
|
||||
def i2f(x):
|
||||
return struct.unpack('!d', struct.pack('!Q', x))[0]
|
||||
|
||||
def f2i(x):
|
||||
return struct.unpack('!Q', struct.pack('!d', x))[0]
|
||||
|
||||
def dump_machine_code(assembly: str) -> None:
|
||||
machine_code = asm(assembly)
|
||||
print("Assembly:")
|
||||
print(assembly)
|
||||
print("Byte Array:", list(machine_code))
|
||||
padding = b"\xcc" * ((4 - len(machine_code)) % 4)
|
||||
unpacked_signed_array = util.packing.unpack_many(machine_code + padding, 32, endian='little', sign=True)
|
||||
unpacked_unsigned_array = util.packing.unpack_many(machine_code + padding, 32, endian='little', sign=False)
|
||||
print("Signed DWord Array:", unpacked_signed_array)
|
||||
print("Unsigned DWord Array:", unpacked_unsigned_array)
|
||||
print("Hex DWord Array:", list(map(hex, unpacked_unsigned_array)))
|
||||
padding = b"\xcc" * ((8 - len(machine_code)) % 8)
|
||||
unpacked_signed_array = util.packing.unpack_many(machine_code + padding, 64, endian='little', sign=True)
|
||||
unpacked_unsigned_array = util.packing.unpack_many(machine_code + padding, 64, endian='little', sign=False)
|
||||
print("Signed QWord Array:", unpacked_signed_array)
|
||||
print("Unsigned QWord Array:", unpacked_unsigned_array)
|
||||
print("Hex QWord Array:", list(map(hex, unpacked_unsigned_array)))
|
||||
print("Double Array:", list(map(i2f, unpacked_unsigned_array)))
|
||||
print("Disassembled-assembly:")
|
||||
print(disasm(machine_code))
|
||||
Reference in New Issue
Block a user