0% found this document useful (0 votes)
2 views2 pages

Perplexed - Reverse Engineering

The document discusses a reverse engineering challenge involving a CrackMe program that requires a correct password to print a success message. It highlights the use of the angr framework for binary analysis and introduces a tool called qangr to simplify the process. The challenge is successfully solved, revealing the flag: picoCTF{0n3_bi7_4t_a_7im3}.

Uploaded by

dmhgyuh
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views2 pages

Perplexed - Reverse Engineering

The document discusses a reverse engineering challenge involving a CrackMe program that requires a correct password to print a success message. It highlights the use of the angr framework for binary analysis and introduces a tool called qangr to simplify the process. The challenge is successfully solved, revealing the flag: picoCTF{0n3_bi7_4t_a_7im3}.

Uploaded by

dmhgyuh
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Perplexed - Reverse Engineering

Perplexed - Reverse Engineering


TLDR: Decompile to find good & bad addresses -> angr for binary analysis -> and then
challenge pwned!

Decompilation

The Decompilation is of the main function, it appears to be a CrackMe where if you don't enter
the correct password verified by check() , it prints "Wrong :(" otherwise it prints "Correct!!".

Solving
There is a framework we can use to automatically reverse such a program, angr. The goal here it
to get to the "Correct!! :D" while avoiding the "Wrong :(". angr here can simply reverse through
with our constraints.

A while back I authored a tool to simplify angr through a simple CLI interface which I named
qangr (ik genius) and here I used it to pretty much breeze through this challenge with it. Below is
me using it....

1 / 2 | Vipin
Perplexed - Reverse Engineering
-g - Good address (What we want to get)
-b - Bad address (What we are avoiding)

It's amazing how easy binary analysis and reverse engineering is in the modern day!

Flag: picoCTF{0n3_bi7_4t_a_7im3}

2 / 2 | Vipin

You might also like