# Y-Not-CTF - MadCow

The binary ask for an input and do a ton of computation on it. solved using an angr script.

### Description

Take your time to solve this one until the end of the CTF…

### Details

Points: 474

Category: reverse

Validations: 4

### Solution

We were given a file called MadCow_3ad6db829e62619f19a299086c0f22cf94b36903.

After launching the file a nice cow in ascii art was shown.

 /             \
((__-^^-,-^^-__))
-_---' ---_-'
<__|o 'o|__>
\    /
): :(
:o_o:
"-"  03:19:05 remaining, take your time!!!

what
Nope, Try again!


Opening the file in ida pro shown a mess of calculation on the input.

It seems that is a nice candidate for angr.

We wrote a simple python script to bruteforce the flag.

import angr, simuvex, logging

logging.basicConfig(level=logging.DEBUG)

p = angr.Project('./MadCow_3ad6db829e62619f19a299086c0f22cf94b36903', load_options={'auto_load_libs': False})

ex = p.surveyors.Explorer(find=(0x0401C4D, ),avoid=(0x0401C54,))
res = ex.run()

for i in res.found:
print i.state.posix.dumps(0)


Running the script for 10 seconds give us the flag: YNOT17{4ngR_1ntr0duCt10n}.

Challenges resources are available in the resources folder

Written on November 17, 2017