Furr(y)verse
Problem
Solution
Let's decompile the man function, and I'll point what's relevant

First the program will run encodeKey()
which will take a look in a second. Then the program will ask for our input, and its gonna loop to check whether our input matches the key
. If it is the same and the length also the same it will print out a confirmation that your Flag is correct, if not it will tell you otherwise. Now let's take a look at the encodeKey()
function

Here, each index of the key is incremented by 0x06. Noticed that this gone through before the checking with our input so we have to adapt to its value. Now lets take a look what they key is (before its encoded)

Seems like we found the Key, now we just have to increment all of its character by 0x06 and we should get our flag
key = '@ch^CN=N@um*f+^Y/*F+^Y/If+>w'
flag = []
for i in key:
flag.append(chr(ord(i) + 0x6))
print(''.join([i for i in flag]))
Flag
FindITCTF{s0l1d_50L1d_5Ol1D}
Last updated