[about] :: [index] :: [contact]

Kernel Hacking - System Calls(3/3)

In the third part of this guide we will explain what system calls actually are and how they work under the Linux kernel. Furthermore, we will also try to write a simple syscall that will greet the user. Do note that this article is part of a series of guides on kernel hacking for Linux, you can find the rest of the guide here: Part one: Introduction to the Linux kernel architecture; Part two: Building a device driver from scratch; Part three(this one): Introduction to syscalls, how to create a new syscall; Be sure to read the previous two before starting with this one.
Read more →

Kernel Hacking - Write a Cryptographic Module(2/3)

Welcome back to the second part of this series of tutorial on Linux kernel hacking. Below, you will find the links to the other parts of the series. If you have not read the first part yet, make sure to start from there. Part one: Introduction to the Linux kernel architecture; Part two(this one): Building a device driver from scratch; Part three: Introduction to syscalls, how to create a new syscall; In this article, we will try to extend our knowledge about Linux programming by building a kernel module that actually does something.
Read more →

Kernel Hacking - Introduction To The Linux Kernel(1/3)

This guide will walk you through a brief introduction on how to get started with kernel hacking. The guide is split into three parts, each one covering one of the following topic: Part one(this one): Introduction to the Linux kernel architecture; Part two: Building a device driver from scratch; Part three: Introduction to syscalls, how to create a new syscall; While this guide aims to provide a beginner-friendly resource to get started on kernel hacking, I take for granted some prior knowledge:
Read more →

How To Install OpenBSD on DigitalOcean

Recently, I had to set up a new server based on OpenBSD on DigitalOcean. While they do support non-Linux systems such as FreeBSD, they do not provide official supports for other BSD flavours such as OpenBSD. In this guide, we will see how to overcome this small inconvenient by manually flashing the installer image in the boot sector of the hard drive. Let’s get started. Create A New Droplet The first thing we need to do is to create a new droplet from the main menu of DigitalOcean as shown in the following picture.
Read more →

How to use Smart Pointers in C++

In this guide we will see smart pointers in C++ as a replacement to the old, unsafe, C-like pointers. I will assume that you have some knowledge of modern C++(i.e., $\geq$ C++11) and of object oriented programming. What Is a Smart Pointer? A smart pointer is an object that simulates a normal pointer while ensuring the program to be free of memory leaks. It achieves that by providing an automatic memory management system that deletes an object if no longer in use.
Read more →