# analyze binary # todo: 不要な解析を無視 elf = ELF(args.elf) # _write4 libc = ELF(args.libc) if args.libc else None sect = Section(elf) functions = Functions(elf) plt = elf.plt got = elf.got # dump simple if not args.symbols: print("") # dump sections print("[+]: all sections") sect.dump_all_sections() print("") # all functions # todo: 関数の中身を調べる方法(ローカル変数の数やできるなら初期値も調べたい) print("[+]: all functions") functions.dump_all_functions() # plt print("") print("[+]: plt") table_header = "{0:30} : {1:15}" print(table_header.format("symbol name", "address")) print("-" * 50) for p in plt.items(): print(table_header.format(p[0], hex(p[1])))