HeroCTF v3 2021: Ping Pong

Ping Pong

Category: Prog

chal

45 points

Could you get the flag ?

Format : Hero{}
Author : xanhacks

output.txt

PONG
PING
PONG
PONG
PING
PONG
PONG
PONG
PONG
PING
PING
PONG
PONG
PING
PONG
PING
PONG
PING
PING
PING
PONG
PONG
PING
PONG
PONG
PING
PING
PONG
PING
PING
PING
PING
PONG
PING
PING
PING
PING
PONG
PING
PING
PONG
PING
PING
PING
PONG
PONG
PONG
PONG
PONG
PONG
PING
PING
PONG
PONG
PONG
PING
PONG
PING
PING
PONG
PING
PING
PING
PONG
PONG
PONG
PING
PING
PONG
PING
PING
PONG
PONG
PING
PONG
PING
PING
PING
PING
PING
PONG
PING
PING
PING
PONG
PONG
PONG
PONG
PONG
PONG
PING
PING
PONG
PONG
PONG
PONG
PONG
PING
PING
PONG
PING
PING
PING
PONG
PONG
PONG
PING
PING
PONG
PING
PING
PONG
PONG
PING
PONG
PING
PING
PING
PING
PING
PONG
PONG
PING
PING
PONG
PONG
PONG
PING
PONG
PONG
PING
PING
PONG
PING
PONG
PING
PONG
PING
PONG
PING
PING
PING
PING
PING
PONG
PING
PING
PONG
PONG
PING
PING
PONG
PONG
PING
PING
PING
PONG
PING
PONG
PING
PONG
PING
PING
PONG
PING
PING
PING
PONG
PONG
PING
PING
PING
PING
PING
PONG
PING

Solution

Each PING equals to 1, each PONG means 0. Combined together and transformed to hex gave flag.

f = open('output.txt', 'rt')
flag = ''

for line in f.readlines():
    if line == 'PING\n':
        flag = flag + '1'
    elif line == 'PONG\n':
        flag = flag + '0'

f.close()
print('Flag: {}'.format(bytes.fromhex(hex(int(flag, 2))[2:]).decode('utf-8')))

Output:

Flag: Hero{p1n6_p0n6_15_fun}

Flag

Hero{p1n6_p0n6_15_fun}

Privacy Policy
luc © 2021