The challenge was evidently written in go as deduced from the challenge description and confirmed when running file on it which shows it GO build id:
For this challenge, I used a set of IDA plugns found in this github repository which helps me identify go library functions and user-defined functions:
Upon running, the binary takes input from the user and prints out the encoded string:
Upon running it a few times with similar input as shown above, I realised that it feels like a base64 encoded string however, a normal base64 encoder says otherwise:
pAin
So i decided to look at the encoding function for the binary and found a 64 characters long string that have no repeating characters and a while loop that runs for 3 times and does it a final time after the loop:
The custom base 64 string
While loop containing base64 operations
Code after loop which is simply the same function
This means that the challenge creator used a custom base64 string :NaRvJT1B/m6AOXL9VDFIbUGkC+sSnzh5jxQ273d4lHPg0wcEpYqruWyfZoM8itKe and - as the padding and ran the encoder 4 times!
Challenge Solution
Simply put the encoded chars through a base64 decoder 4 times using the custom base64 string and padding: