Hello, here's my take on the picoCTF2019 reverse engineering asm challenges. If you don't know assembly, please watch a few tutorials on it: http://opensecuritytraining.info/IntroX86.htmlhttp://opensecuritytraining.info/IntermediateX86.html asm1 - Points: 200 CMP: Compares the first source operand with the second source operand and sets the status flags in the EFLAGS register according to the results. The comparison is … Continue reading picoCTF2019 Reverse Engineering Asm
Reverse Engineering
picoCTF 2019 Reverse Engineering Vault Doors
I'm always late to the party but here's my solutions to the PicoCTF2019 Vault Doors challenges from the reverse engineering section. I did it this mainly to improve my skills and hopefully to learn some new things. vault-door-training - Points: 50 Your mission is to enter Dr. Evil's laboratory and retrieve the blueprints for his … Continue reading picoCTF 2019 Reverse Engineering Vault Doors
Bypassing ptrace calls with LD_PRELOAD on Linux
Hello, Here's a quick article on how to bypass calls to ptrace when debugging a Linux executable. By calling ptrace with the PTRACE_TRACEME option, a process can detect if it's being debugged and execute different instructions. This an effective anti-debugging technique. For example, take the following C program: #include <stdio.h> #include <sys/ptrace.h> int main() { … Continue reading Bypassing ptrace calls with LD_PRELOAD on Linux
Root-Me: GB – Basic GameBoy crackme walkthrough
Hello, In this article I will describe how I solved the GB - Basic GameBoy crackme challenge from Root-Me. Before reading this article you should attempt to solve the challenge on your own. Start by reading/skimming through the GameBoy CPU manual then download an emulator such as mGba and play with the ROM. To disassemble the ROM I've used Ghidra and mgbdis. … Continue reading Root-Me: GB – Basic GameBoy crackme walkthrough