if __name__ == '__main__': import argparse parser = argparse.ArgumentParser() parser.add_argument('-l', '--language', help='the original source language', required=True) parser.add_argument('-s', '--srcmap', help='include line numbers from the debug info', action='store_true') parser.add_argument('-y', '--yaml', help='produce YAML output instead of plaintext', action='store_true') parser.add_argument('binary', help='path to an ELF binary to disassemble') parser.add_argument('patterns', help='function names (glob patterns)', nargs='+') args = parser.parse_args() binary = Binary(args.binary, args.language) disasm = binary.disassemble(args.patterns, args.srcmap) if args.yaml: print_yaml(disasm) else: print_text(disasm)
def main(app_path, output_path): binary = Binary(fromfile=app_path) disassembly = binary.disassemble() disassembly.save(output_path)