I’m back and this time we’re going to take on some assembly programming challenges! These are on picoCTF, in the picoGYM under the category of reverse engineering. Let’s check out the first challenge.

asm1 on picoCTF

The instructions for asm1 ask us to find the value returned if we pass the hex value of 0x8be into the function seen in the above picture. asm1 starts with a function prologue (lines 2–3) and then moves onto a cmp instruction on line 3. This compares our argument that we passed in (0x8be) to the value of 0x71c and in the next line we see a…

Hello all! This is a write-up for a few solutions I found for solving the VaultDoor challenges on picoCTF. All these challenges were written in Java but I decided to write my solutions in Python since I enjoy Python. The challenges can be found under the Reverse Engineering category in the picoGym. Let’s get to work!

First VaultDoor in Java

The first VaultDoor is fairly straight forward. The challenge uses a “Scanner” object to get input from the user and then calls the method “checkPassword” to check if each character in the input is the same as the correct password. If the input is…

Hello there! Today we have another picoCTF challenge. This challenge can be found in the picoGym under Reverse Engineering and is named B1ll_Gat35. We can download the file and get started. I used Ghidra and Ollydbg201(2.01 or 201, however you wish to write it, is a fantastic version of Ollydbg) to solve this challenge. Lets see what this program does!

First Run of the program

So you download a binary/Portable Executable(PE) file and can give it a run. The output is seen above. It asks for a number between 1 and 5 digits, then it asks for some sort of key. Seems password was not…

Hello everyone! Today we’re looking at reverse_cipher from picoCTF. It is under the category of Reverse engineering in the picoGym. picoCTF has some really great challenges and best of all…it’s free to join! Lets get started!

First Run

You start this challenge with 2 files: a binary/ELF and a text file. Running the binary gives you an error and the text file, rev_this, just contains something that looks like a flag. Lets load our binary into Ghidra and see what we can find out.


Hello there! You’ll find some programming problems and Capture the Flags here. Who doesn’t love a good puzzle?

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store