Ejemplo n.º 1
0
#!/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):