• Notes and experiments. Don't expect much quality :P

# Build embedded systems with buildroot

Buildroot is an integration system used to obtain complete bootable embedded systems; it uses a KConfig configuration mechanism (the menuconfig thing).

# Tips and tricks in debugging kernel drivers in Linux

This post includes a couple of notes about linux kernel debugging, in particular the things that I keep forgetting.

# Attach images to a Django model without using database backed fields

In this post I want to create a model field that allows to manage derived images from a pre-existing field in the same model without using the database to store the path of the derived images but to derive it from a predefined convention.

# ELF file format and a pratical study of the execution view

In the post about pratical approach to binary exploitation I talked of how an executable is a memory archive describing a (future) running process. In this post I want to study how this memory archive is loaded in memory in a Linux system, in particular my interest will be directed upon the most used format in *nix system, i.e. the Executable and linkage format (ELF); for other systems, different formats are used: for example the Mac OS X uses the Mach format and the Windows OS uses the PE format. It's reasonable to say that each platform has its own format, and it's the main reason of compatibility issue in running binaries between different operating systems.

# Resurrect an old vulnerability: CVE-2014-4699, part 2

I left you with a cliffhanger in a post last year and now I'll continue the exploration in thce rabbit hole I entered since.

# From zero to hero

A couple of years ago a friend of mine asked me to take a look at a pico projector that he had bricked during an update. He hadn't tried anything fancy or dangerous, he had simply used the internal functionality of the device. At that point in time the device was stuck in a bootloop with the Samsung logo as the only output from the projector.

# Integer arithmetic from a computer point of view

A thing that is often overlooked is the way arithmetic operations work in a computer and specifically in the processing unit: not having a clear idea of how the operations are performed and their limitations can cause very important bug to happen and also help in case you want to reverse unknown code.

In this I will explore how operation on integers (floating point will be treated in a specific, future, post).

# Yocto: using U-Boot as bootloader with a RaspberryPi Zero

This is a guide about building and configuring a Yocto build for a raspberry pi zero with u-boot.