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 bugs 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.
Pratical approach to binary exploitation
During the years I increased my interest in security, vulnerability and similar stuffs; although I'm fascinated by the theoretical approach from halvar flake, in this post I'll try to summarize instead the pratical approach, i.e. the effective development of an exploit, probably the simplest possible in a desktop system.
Updating my Anet A8 to the newest Marlin firmware
How you already know, I own a cheap 3d printer that is an Anet A8, a simple clone of a Prusa Mk2, that I use to, you know, 3d print stuffs. In the near future I would like to modify it and make it a little milling machine or a laser engraver and in order to do that I need to find some extra pins to drive these devices.