<< 14/08/2022

Warmup|

Reverse


I managed to solve this one too \(≧▽≦)/.

Task :


Task Files : Warmup.rar [download]

> After Downloading the attached file I (as usual) directly threw it into IDA and hit the decompile button (F5).

> By doing that and reading through code i first met this :



> Once executed, The binary takes a string that has 27 as a length.

> Then there is this long set of assignments :



> It is obviously something, but those are not ASCII values as they are all above 127.

> Taking a look at the final part of the code :



> As it seems everything is understandable, the "for" there is just a loop that cycles through the whole array of characters that was made before, the only weird thing is that ">>" operator.

> What that operator does is that if, For example, We take an integer “X” with an integer “Y” and write X>>Y, that is equivalent to dividing X by 2y.

> So it seems like the array is actually holding Ascii values but right shifted ( that's what this operator ">>" is called ), Using my quite decent programming skills I wrote this script which after running got me the flag like this :

Script : Warmup Solver.py [download]


> FLAG : shellctf{b1tWi5e_0p3rAt0rS}