The ELF executable (rev3_32) we receive for this challenge takes a string as input, performs some operations on it and finally compares it to the following hardcoded string ```egzloxi|ixw]dkSe]dzSzccShejSi^3q```. If the two strings match, the program prints a success message.
Let's have a look at the ```encode``` function, which can be seen in the screenshot below:
What this function basically does is it takes each input character ```XOR 9``` and subtracts ```3``` from the result. In order to obtain the decoded string, we just use a small Python script which reverts the encoding.
encoded = "egzloxi|ixw]dkSe]dzSzccShejSi^3q"
decoded = ""
for c in encoded:
dc = ord(c) + 3
dc = dc ^ 9
decoded += str(chr(dc))
The decoded string is also our flag.