Tags: java reverse
Rating:
If you split the code we get from the challenge into 5 parts and then reversing the order of this parts:
```
cipher = "ÄÑÓ¿ÂÒêáøz§è§ñy÷¦"
key = "r34l_g4m3rs_eXclus1v3"
flag = [0] * 21
flag[0] = ord('h')
flag[1] = ord('0')
flag[7] = ord('u')
# First
cipher = cipher[9:] + cipher[:9]
# Second
cipher = list(cipher)
for i in range(9):
cipher[i] = chr(ord(cipher[i]) - 20)
cipher = "".join(cipher)
# Third
for i in range(15, 21):
flag[i] = ord(cipher[i - 3]) - ord(key[i - 3])
# Fourth
for i in range(10, 15):
flag[i - 8] = ord(cipher[i - 3]) - ord(key[i])
# Fifth
for i in range(0, 7):
flag[i + 8] = ord(cipher[i]) - ord(key[i])
print("rtcp{" + "".join([chr(num) for num in flag]) + "}")
```
then, you get the flag :)
`rtcp{h0p3_y0ur3_h4v1ng_fun}`