diff options
Diffstat (limited to 'bin/disasm')
-rwxr-xr-x | bin/disasm | 17 |
1 files changed, 13 insertions, 4 deletions
@@ -8,31 +8,39 @@ import sys from capstone import * from capstone.x86 import * + def SigHandler_SIGINT(signum, frame): print() sys.exit(0) + class Argparser(object): def __init__(self): parser = argparse.ArgumentParser() parser.add_argument("--hex", type=str, help="the hex code") parser.add_argument("--sp", type=str, help="separator") - parser.add_argument("--dbg", action="store_true", help="debug", default=False) + parser.add_argument("--dbg", action="store_true", + help="debug", default=False) self.args = parser.parse_args() # write code here + + def premain(argparser): signal.signal(signal.SIGINT, SigHandler_SIGINT) - #here + # here code = bytes() if argparser.args.hex: - if argparser.args.sp: hex_str = argparser.args.hex.split(argparser.args.sp) - else: hex_str = argparser.args.hex.split(" ") + if argparser.args.sp: + hex_str = argparser.args.hex.split(argparser.args.sp) + else: + hex_str = argparser.args.hex.split(" ") code = [int(byte, 16) for byte in hex_str] md = Cs(CS_ARCH_X86, CS_MODE_64) for i in md.disasm(bytes(code), 0x0): print(hex(i.address).ljust(7), i.mnemonic.ljust(7), i.op_str) + def main(): argparser = Argparser() if argparser.args.dbg: @@ -46,5 +54,6 @@ def main(): else: premain(argparser) + if __name__ == "__main__": main() |