Reading Time : 1min
When ran the program asks for flag and return “L” supposidly for Loss if incorrect.
Lets open the program in IDA and look at its Disassembly.
Here we can see at 11EF program performing _strlen on input flag and comparing it at 11FC with “19h” which is the correct length of the flag.
If flag length is not 19h ie 25 the program will print “L” and closes or else jumps to 1216
At 1216 a loop is performed to check validity of the flag.
here we can see values being xored by 12h and compared with values saved in array (flag).
by going to the memory location (flag) we can see 25 bytes saved in it.
All we have to do here is to xor every byte with 12h and convert answer value to its corresponding ASCII character and we will end with our flag.
tjctf{gggamersssssssss5s}