diff options
author | terminaldweller <thabogre@gmail.com> | 2021-08-05 05:14:10 +0000 |
---|---|---|
committer | terminaldweller <thabogre@gmail.com> | 2021-08-05 05:14:10 +0000 |
commit | 5f596a3f401a0a40eefcc0f8b6c6b5083748cc1a (patch) | |
tree | a892e31077574f1c1a340af257bb6e27ae0ad89c /bin/disasm | |
parent | update for neomutt (diff) | |
download | scripts-5f596a3f401a0a40eefcc0f8b6c6b5083748cc1a.tar.gz scripts-5f596a3f401a0a40eefcc0f8b6c6b5083748cc1a.zip |
a lot of updates and fixes
Diffstat (limited to '')
-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() |