Rating:

Problem:
F#ck(rev, 50 points, solved by 232)

"The miracle of the expressive functional programming, is it really functional?"

Attachment
rev50_3511a8cd66b371eb.zip

Solution:
Attached is an executable file, which seemed to be compiled with F#. It was a bit annoying though because you can't even run the program, it crashes upon launch (hence the prompt "is it really functional?"). Luckily we have IDA (or we should if we're doing reverse engineering).
By looking in IDA we can see two important functions, Program__main and Program__get_flag. Program__get_flag is obviously the one we're interested in, if we go and look at it we can see it has a cross reference in Program__main+21.



We can see the function takes a string argument, and right above it, the string "t#hs_siht_kc#f" is being loaded. If we reverse the string it comes to be "f#ck_this_sh#t". This is our flag, a funny one too.

<span>Flag: EKO{f#ck_this_sh#t}</span>

Original writeup (http://specterdev.blogspot.ca/2016/10/write-up-ekoparty-2016-ctf-reverse.html).