Emulated Fuzzing with AFL++ and QEMU
AFL++ is an advanced fork of AFL (American Fuzzy Lop) that incorporates numerous improvements, including: Better performance optimizations Support for QEMU, Unicorn, and FRIDA modes (for bina...
Android NDK Tutorial: Compiling C/C++ Code with ndk-build
The Android Native Development Kit (NDK) is a toolset that allows you to implement parts of your Android app using native-code languages like C and C++. You can download the NDK from the official ...
Gadget Hunting with ropper, ROPgadget, and one_Gadget
In the world of binary exploitation, gadgets are crucial building blocks for bypassing modern security defenses. Whether you’re attacking vulnerable software in a CTF or conducting real-world vulne...
Kernel Crafting: Building, Running, and Debugging Your Custom Linux Kernel with Busybox and QEMU
In this step-by-step tutorial, we’ll walk through the entire process of building a Linux kernel, creating a minimal filesystem using Busybox, running it on QEMU, and debugging the kernel. Finally, ...
Linux Kernel Programming
Introduction Linux Kernel Programming is the art and science of writing code that directly interacts with the core of the Linux operating system — the kernel. In this blog, we’ll explore the fund...
ELF Internals
In the world of modern operating systems, especially Unix and Linux, the binary file format is fundamental to how programs are executed, how libraries are shared, and how debugging and performance ...
Building Your Own ARM Lab
If you’re diving into ARM development or reverse engineering but don’t have physical ARM hardware like a Raspberry Pi, QEMU is your best friend. In this post, I’ll walk you through setting up a com...
16. Shared Memory
Shared Memory is one of the fastest IPC (Inter-Process Communication) mechanisms on UNIX-like systems, allowing multiple processes to access the same memory region. Unlike pipes or message queues,...
15. Semaphore
Semaphores are synchronization primitives used to control access to shared resources. We already know they are used to prevent race conditions. System V vs POSIX Semaphores System V (semget, s...