/dev/posts/

DNS aggregation over TLS

Published:

In a previous post, I tried different solutions for tunnelling DNS over TLS. One of those solutions was using a dedicated DNS-over-UDP fake service replying to all queries with the truncate flag set: this was causing the stub resolvers to retry the query using a TCP-based virtual-circuit. This solution is interesting because it is dead simple (it fits in a few line of codes) but it is clearly a hack. Here, I am using a dedicated DNS forwarder aggregating all the incoming DNS-over-UDP requests over a single persistent TCP virtual-circuit.

Read more…

Debugging use-after-free with RR reverse execution

Published:

RR is a very useful tool for debugging. It can record the execution of a program and then replay the exact same execution at will inside a debugger. One very useful extra power available since 4.0 is the support for efficient reverse execution which can be used to find the root cause of a bug in your program by rewinding time. In this example, we reverse-execute a program from a case of use-after-free in order to find where the block of memory was freed.

Read more…

Multiple accounts with mutt

Published:

If you try to use mutt, you will wonder how you are supposed to handle multiple accounts. You will find suggestions to bind some keys to switch to different accounts, use hooks.

Read more…

Private PostgreSQL instance

Published:

How to create a private on-demand PostgreSQL instance accessible only for the local user over UNIX socket.

Read more…

The ELF file format

Published:

Some notes on the ELF 🧝 file format with references, explanations and some examples.

Read more…

SimGridMC: The Big Split (and Cleanup)

Published:

In my previous SimGrid post, I talked about different solutions for a better isolation between the model-checked application and the model-checker. We chose to avoid the (hackery) solution based multiple dynamic-linker namespaces in the same process and use a more conventional process-based isolation.

Read more…

FTL data file

Published:

Faster Than Light (FTL) is a very nice (and quite difficult) rogue-like-ish game with space battles, teleporters, management of the energy of your ship, asteroid fields, alien species, droids (drones), etc. It is quite cheap, DRM-free and available natively on Intel-based GNU/Linux. These are notes taken while trying to find out the format of the .dat files of the game containing the game assets, ships statistics, events, etc. when I had not access to the internet to find the solution. There is a companion C program, ftldat, for extracting the files within the archives and generating archives. Unsurprisingly, similar tools with the same name already exists. However, the description of the process of reverse-engineering a (very simple) binary format might be interesting for someone out there.

Read more…

I can has systray?

Published:

In Plasma 5, support for the XEmbed-based “legacy” systray protocol was removed: only the new SNI protocol is handled. However, a lot of applications still do not handle the new protocol: Qt4 and Qt5 applications can be fixed by installing the sni-qt (currently in experimental) and libdbusmenu-qt5 respectively but other applications (such as GTK ones) must be patched/recompiled with SNI support. Without this, windows disappear into oblivion 😿. You can have a seamless systray-enabled Plasma panel with a single (OK, two) line of shell 😼.

Read more…

Use HTML pipeline in Middleman

Published:

How to use html-pipeline in middleman.

Read more…

Anatomy of an ELF core file

Published:

The Executable and Linkable Format (ELF) 🧝 is used for compilation outputs (.o files), executables, shared libraries and core dumps. The first cases are documented in the System V ABI specification and the Tools Interface Standard (TIS) ELF specification but there does not seem to be much documentation about the usage of the ELF format for core dumps. Here are some notes on this.

Read more…

Page 1 of 2 | | | JSON Feed | Atom Feed