Rangoon
10 points Easy

This is the third in a series of introductory Reversing Challenges; Reyjkavik, Riyadh and Rangoon. These are designed for people new to Reversing. A little gdb, C and Assembler knowledge should be enough to solve this challenge. Good Luck!

Note that once you solve the challenge, you can use the flag to decrypt the source file used to create the challenge if you are interested in seeing the original C program.

The LiveOverflow channel on YouTube has some great tutorials on reversing, this video has almost everything you need to solve this challenge: https://www.youtube.com/watch?v=VroEiMOJPm8

Rangoon.zip
Flag
Rating 4.56
5
4
3
2
1

Discussion

when I want to analyze this file in gdb, it says: don't know how to run. I've tried many solutions from GPT or reddit/stackflow and it doesnt want to work. Someone could help me?

0

nice dynamic analysis challenge learn a lot from thr

0

nice dynamic analysis challenge learn a lot from thr

0
Protected
0
Protected
0
Protected
0
Protected
0

Thank you for another great challenge for us beginners :)

0

It took me more than I expected :/ I believe this approach is an original one, for sure it is not perfect — “search and brute” (example script: https://github.com/JanKrasodomski/simple-python-brute-force/blob/283b54f71dcd3dcfa2a52142a75e28f1e7d83f57/simple_brute.py).

0

wow.. nice puzzle

0

Sneaky... To anyone who is confused: maybe you should look at how buffer, to which flag is compared, changes. Is it always the same or does it depend on something? Final hint: what is ASCII character for 0x5F?

Anyway, great challenge, definitely worth more than just 10 points. Thanks for your work, will move on to your next CTF!

1

Should we compare address of 0x5F with address of string buffers?OR should we compare 0x5F with address of string buffers? Any help would be greatly appreciated

0

If you pay attention, the presence of 0x5f is checked in the flag mutiple times. From which we can infer that at those positions 0x5f should be present in the flag. Now rewrite the input flag and proceed to do dynamic analysis.

0