This post includes a couple of notes about linux kernel debugging, in particular the things that I keep forgetting.
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.
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
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
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.
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).
This is a guide about building and configuring a Yocto build for a raspberry pi zero with u-boot.
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.
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.