#!/usr/bin/env python3 import argparse import binascii import socket import sys from pwnlib.elf import ELF parser = argparse.ArgumentParser(description="solve script for 'read_it'") parser.add_argument('--host', default="challenge", help="the host for the instance") parser.add_argument('--port', type=int, default=5000, help="the port of the instance") args = parser.parse_args() elf = ELF('read_it') key = elf.string(elf.symbols["key"]) secret1 = elf.string(elf.symbols["secret1"]) secret2 = elf.string(elf.symbols["secret2"]) print("key: ", key.decode()) print("secret1:", secret1.decode()) print("secret2:", secret2.decode()) def encode_first(data): r = bytearray() for i in range(0, 16): r.append(data[i] ^ 0x17) return r def encode_second(data): k = "" for i in range(0, 16):