#! /usr/bin/env python3 from capstone import Cs, CS_ARCH_X86, CS_MODE_64 import json capstone = Cs(CS_ARCH_X86, CS_MODE_64) def disasm(shellcode: bytes) -> list: opcodes = list() for opcode in capstone.disasm(shellcode, 0): opcodes.append([opcode.mnemonic, opcode.op_str]) return opcodes def objdump(shellcode: bytes) -> str: opcodes = str() for opcode in capstone.disasm(shellcode, 0): opcodes += f'{opcode.mnemonic} {opcode.op_str}\n' return opcodes