Tags: misc 

Rating:

just a solution code, I think everything is clear

```
from pwn import *
import numpy as np

standard_dic = {
'$': u' _ \n | | \n/ __)\n\\__ \\\n( /\n |_| \n',
'(': u' __\n / /\n| | \n| | \n| | \n \\_\\\n',
',': u' \n \n \n _ \n( )\n|/ \n',
#'0': u' ___ \n / _ \\ \n| | | |\n| |_| |\n \\___/ \n \n',
'4': u' _ _ \n| || | \n| || |_ \n|__ _|\n |_| \n \n',
'8': u' ___ \n ( _ ) \n / _ \\ \n| (_) |\n \\___/ \n \n',
'<': u' __\n / /\n/ / \n\\ \\ \n \\_\\\n \n',
'@': u' ____ \n / __ \\ \n / / _` |\n| | (_| |\n \\ \\__,_|\n \\____/ \n',
'D': u' ____ \n| _ \\ \n| | | |\n| |_| |\n|____/ \n \n',
'H': u' _ _ \n| | | |\n| |_| |\n| _ |\n|_| |_|\n \n',
'L': u' _ \n| | \n| | \n| |___ \n|_____|\n \n',
'P': u' ____ \n| _ \\ \n| |_) |\n| __/ \n|_| \n \n',
'T': u' _____ \n|_ _|\n | | \n | | \n |_| \n \n',
'X': u'__ __\n\\ \\/ /\n \\ / \n / \\ \n/_/\\_\\\n \n',
'\\': u'__ \n\\ \\ \n \\ \\ \n \\ \\ \n \\_\\\n \n',
'`': u' _ \n( )\n \\|\n \n \n \n',
'd': u' _ \n __| |\n / _` |\n| (_| |\n \\__,_|\n \n',
'h': u" _ \n| |__ \n| '_ \\ \n| | | |\n|_| |_|\n \n",
'l': u' _ \n| |\n| |\n| |\n|_|\n \n',
'p': u" \n _ __ \n| '_ \\ \n| |_) |\n| .__/ \n|_| \n",
't': u' _ \n| |_ \n| __|\n| |_ \n \\__|\n \n',
'x': u' \n__ __\n\\ \\/ /\n > < \n/_/\\_\\\n \n',
'|': u' _ \n| |\n| |\n| |\n| |\n|_|\n',
'#': u' _ _ \n _| || |_ \n|_ .. _|\n|_ _|\n |_||_| \n \n',
"'": u' _ \n( )\n|/ \n \n \n \n',
#'+': u' \n _ \n _| |_ \n|_ _|\n |_| \n \n',
'/': u' __\n / /\n / / \n / / \n/_/ \n \n',
'3': u' _____ \n|___ / \n |_ \\ \n ___) |\n|____/ \n \n',
'7': u' _____ \n|___ |\n / / \n / / \n /_/ \n \n',
';': u' \n _ \n(_)\n _ \n( )\n|/ \n',
'?': u' ___ \n|__ \\\n / /\n |_| \n (_) \n \n',
'C': u' ____ \n / ___|\n| | \n| |___ \n \\____|\n \n',
'G': u' ____ \n / ___|\n| | _ \n| |_| |\n \\____|\n \n',
'K': u" _ __\n| |/ /\n| ' / \n| . \\ \n|_|\\_\\\n \n",
'O': u' ___ \n / _ \\ \n| | | |\n| |_| |\n \\___/ \n \n',
'S': u' ____ \n/ ___| \n\\___ \\ \n ___) |\n|____/ \n \n',
'W': u'__ __\n\\ \\ / /\n \\ \\ /\\ / / \n \\ V V / \n \\_/\\_/ \n \n',
'[': u' __ \n| _|\n| | \n| | \n| | \n|__|\n',
'_': u' \n \n \n \n _____ \n|_____|\n',
'c': u' \n ___ \n / __|\n| (__ \n \\___|\n \n',
'g': u' \n __ _ \n / _` |\n| (_| |\n \\__, |\n |___/ \n',
'k': u' _ \n| | __\n| |/ /\n| < \n|_|\\_\\\n \n',
'o': u' \n ___ \n / _ \\ \n| (_) |\n \\___/ \n \n',
's': u' \n ___ \n/ __|\n\\__ \\\n|___/\n \n',
'w': u' \n__ __\n\\ \\ /\\ / /\n \\ V V / \n \\_/\\_/ \n \n',
'{': u' __\n / /\n | | \n< < \n | | \n \\_\\\n',
'"': u' _ _ \n( | )\n V V \n \n \n \n',
'&': u' ___ \n ( _ ) \n / _ \\/\\\n| (_> <\n \\___/\\/\n \n',
'*': u' \n__/\\__\n\\ /\n/_ _\\\n \\/ \n \n',
'.': u' \n \n \n _ \n(_)\n \n',
'2': u' ____ \n|___ \\ \n __) |\n / __/ \n|_____|\n \n',
'6': u" __ \n / /_ \n| '_ \\ \n| (_) |\n \\___/ \n \n",
':': u' \n _ \n(_)\n _ \n(_)\n \n',
'>': u'__ \n\\ \\ \n \\ \\\n / /\n/_/ \n \n',
'B': u' ____ \n| __ ) \n| _ \\ \n| |_) |\n|____/ \n \n',
'F': u' _____ \n| ___|\n| |_ \n| _| \n|_| \n \n',
'J': u' _ \n | |\n _ | |\n| |_| |\n \\___/ \n \n',
'N': u' _ _ \n| \\ | |\n| \\| |\n| |\\ |\n|_| \\_|\n \n',
'R': u' ____ \n| _ \\ \n| |_) |\n| _ < \n|_| \\_\\\n \n',
'V': u'__ __\n\\ \\ / /\n \\ \\ / / \n \\ V / \n \\_/ \n \n',
'Z': u' _____\n|__ /\n / / \n / /_ \n/____|\n \n',
'^': u' /\\ \n|/\\|\n \n \n \n \n',
'b': u" _ \n| |__ \n| '_ \\ \n| |_) |\n|_.__/ \n \n",
'f': u' __ \n / _|\n| |_ \n| _|\n|_| \n \n',
'j': u' _ \n (_)\n | |\n | |\n _/ |\n|__/ \n',
'n': u" \n _ __ \n| '_ \\ \n| | | |\n|_| |_|\n \n",
'r': u" \n _ __ \n| '__|\n| | \n|_| \n \n",
'v': u' \n__ __\n\\ \\ / /\n \\ V / \n \\_/ \n \n',
'z': u' \n ____\n|_ /\n / / \n/___|\n \n',
'~': u' /\\/|\n|/\\/ \n \n \n \n \n',
'!': u' _ \n| |\n| |\n|_|\n(_)\n \n',
'%': u' _ __\n(_)/ /\n / / \n / /_ \n/_/(_)\n \n',
')': u'__ \n\\ \\ \n | |\n | |\n | |\n/_/ \n',
'-': u' \n \n _____ \n|_____|\n \n \n',
'1': u' _ \n/ |\n| |\n| |\n|_|\n \n',
'5': u' ____ \n| ___| \n|___ \\ \n ___) |\n|____/ \n \n',
'9': u' ___ \n / _ \\ \n| (_) |\n \\__, |\n /_/ \n \n',
'=': u' \n _____ \n|_____|\n|_____|\n \n \n',
'A': u' _ \n / \\ \n / _ \\ \n / ___ \\ \n/_/ \\_\\\n \n',
'E': u' _____ \n| ____|\n| _| \n| |___ \n|_____|\n \n',
'I': u' ___ \n|_ _|\n | | \n | | \n|___|\n \n',
'M': u' __ __ \n| \\/ |\n| |\\/| |\n| | | |\n|_| |_|\n \n',
'Q': u' ___ \n / _ \\ \n| | | |\n| |_| |\n \\__\\_\\\n \n',
'U': u' _ _ \n| | | |\n| | | |\n| |_| |\n \\___/ \n \n',
'Y': u'__ __\n\\ \\ / /\n \\ V / \n | | \n |_| \n \n',
']': u' __ \n|_ |\n | |\n | |\n | |\n|__|\n',
'a': u' \n __ _ \n / _` |\n| (_| |\n \\__,_|\n \n',
'e': u' \n ___ \n / _ \\\n| __/\n \\___|\n \n',
'i': u' _ \n(_)\n| |\n| |\n|_|\n \n',
'm': u" \n _ __ ___ \n| '_ ` _ \\ \n| | | | | |\n|_| |_| |_|\n \n",
'q': u' \n __ _ \n / _` |\n| (_| |\n \\__, |\n |_|\n',
'u': u' \n _ _ \n| | | |\n| |_| |\n \\__,_|\n \n',
'y': u' \n _ _ \n| | | |\n| |_| |\n \\__, |\n |___/ \n',
'}': u'__ \n\\ \\ \n | | \n > >\n | | \n/_/ \n',
" ": u' \n \n \n \n \n \n',
"+": u' \n _ \n _| |_ \n|_ _|\n |_| ',
}


if __name__ == '__main__':

r = remote('3.91.74.70', 1338)

for _ in range(3):
print(r.recvline())

for i in range(200):
letters_raw = []
try:
for p in range(7):
income_line = r.recvline()[:-2]
letters_raw.append(income_line)
print(income_line)
except EOFError as e:
break

if letters_raw[0].startswith(b'>'):
letters_raw[0] = letters_raw[0][1:]

print(letters_raw)

print('\n'.join([x.decode() for x in letters_raw]))

letters = [list(x) for x in letters_raw]
letters = list(filter(bool, letters))
letters = np.array([np.array(x) for x in letters])
res = ''
while letters.shape[1] > 0:

for k, v in standard_dic.items():
letter = np.array([np.array(list(map(ord, x))) for x in v.split('\n') if x != ''])
shape = letter.shape
guessed_letter = letters[0:shape[0], 0:shape[1]]
if guessed_letter.shape == letter.shape and (guessed_letter == letter).all():
res += k
print(f'Found letter: {k}')
letters = letters[:, shape[1]:]
break
else:
print('Nothing found')
exit(0)
print(res)
res = res.replace('/', '//')
res = str(eval(res))
print(res)
print(f'Solve {i}')

r.sendline(res)
```

###### FLAG: securinets{th1s_w4s_g00d_r1ght??}