███                   █████                          
            ░░░                   ░░███                           
 ████████   ████   █████   ██████  ░███████    ██████   █████ ████
░░███░░███ ░░███  ███░░   ███░░███ ░███░░███  ░░░░░███ ░░███ ░███ 
 ░███ ░███  ░███ ░░█████ ░███ ░░░  ░███ ░███   ███████  ░███ ░███ 
 ░███ ░███  ░███  ░░░░███░███  ███ ░███ ░███  ███░░███  ░███ ░███ 
 ████ █████ █████ ██████ ░░██████  ████ █████░░████████ ░░███████ 
░░░░ ░░░░░ ░░░░░ ░░░░░░   ░░░░░░  ░░░░ ░░░░░  ░░░░░░░░   ░░░░░███ 
                                                         ███ ░███ 
                                                        ░░██████  
                                                         ░░░░░░   
	

NoobCTF 0x1

Description: Writeup of all the rev challs in NoobCTF 0x1

Introduction

All of the reversing challenges in this CTF were packed with upx. Therefore, I’ll be talking about only the decrypted versions of these challenges. All of them were decrypted with the simple command upx -d infile -o outfile. All of them are also Rust challenges that were more or less solved by traversing around it to invoke a certain function.

Stringcrack

Question: The String is all you have

Points: 150

Short Writeup

Get into the StringCrack::crack1 function and change ZF two times to get into the right method that prints out the flag

Flag

noob{n0boot0br00t}

Lenrev

Question: Crack | Compare | Bypass

Points: 200

Short Writeup

lenrev::crack is the function where the flag is. Traverse to that function and bypass an if condition, and you’ll get the flag.

Flag

noob{bufferr34d}

ReplaceFunc

Question: Crack and redirect your way to the top of the hill

Points: 200

Short Writeup

The flag is in replacefunc::function1 and can be printed out by changing one ZF.

Flag

noob{easybyp4ss}

Contact me