|
|
- import base64
-
- secret_out = ''
- secret_str = ''.join("gksk-secret-code".split("-"))
- for count, loop in enumerate(secret_str):
- if count % 2 == 0:
- secret_out += ''.join([chr(ord(ch) + 0x3) for ch in loop])
- else:
- secret_out += loop
-
- print secret_out
-
- enc = open("flag.enc", "r").read()
- shift_key = 0
- while True:
- shift_key += 1
- cipher = base64.b64decode(enc)
- alphabet = secret_out * 50
- shifted_alphabet = alphabet[shift_key:] + alphabet[:shift_key]
- flag = ''
- for i in range(len(cipher[:-1])):
- flag += chr((ord(cipher[i]) ^ shift_key) - ord(shifted_alphabet[i]))
-
- if "GKSK{" in flag:
- print flag
- break
|