This article explains why using rm on Linux doesn’t truly erase files and how tools like extundelete can recover them. It introduces shred as a safer alternative for secure deletion and contrasts behavior on ext4 with modern copy-on-write filesystems like Btrfs and ZFS.
Explore how to reverse engineer a USB device’s communication protocol using tools like lsusb, usbmon, and Wireshark, then implement a custom Linux kernel driver to handle its input/output by directly interfacing with its USB endpoints. The driver will specifically target the DualShock 4 controller.
A discovery of the evolution of anti-cheating technolgies over the years
A brief introduction to building a custom operating system in Rust, starting with the bootloader. This article covers setting up the development environment, creating a minimal bootable kernel, and understanding how the boot process works at a low level.
Using the example of mobile payment, the idea is to understand how NFC works and how it interacts with other system layers.
Les systèmes embarqués sont au cœur de l’aéronautique moderne.
Deep dive into Netfilter, the packet filtering framework of the Linux kernel
This article will explore how applications compiled for the x86 architecture can be executed on macOS systems running on ARM64 hardware. The objective is to understand why we need tools for it, and to dissect different existing solutions.
This article will explore advanced C++ metaprogramming techniques
This article explains how graphical display works on Linux — from the framebuffer all the way to the screen. It details the role of the kernel (DRM, GEM, KMS), the graphics compositor, and userland technologies like xdg-desktop-portal and PipeWire in the secure handling of video buffers. Finally, a C implementation illustrates how to capture a screenshot and send it to a remote server.