-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsol.py
25 lines (20 loc) · 782 Bytes
/
sol.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
from string import ascii_uppercase,digits
# Possible Charcters For The Flag : AlphaCTF{[^SI023468]+}.
letters = ascii_uppercase + digits + '_'
# Removing non-included letters
letters = [letter for letter in letters if letter not in 'SI023468']
# Building the dictionary where each letter from letters list matches its encrypted value
transformer = {}
for letter in letters:
if ord(letter) > 64:
transformer[ord(letter) % 32] = letter
elif ord(letter) < 58:
transformer[(ord(letter) % 32)% 5 + 27] = letter
# Getting the values of the Encrypted chars [output file].
f = open("output", "rb")
encoded_flag = f.read()[:-1] # Remove the new line char
flag = 'AlphaCTF{'
for char in encoded_flag:
flag += transformer[char - 0x7F]
flag += '}'
print(flag)