Recon 2024

Pietro Fezzardi

After my MSc in Mathematics I thought it was cool to do something with immediate consequences in the real world and started working in embedded systems.
I got hooked on low level programming, and worked for a few years on automated bug-detection for High-Level Synthesis compilers for FPGAs, during my PhD at Politecnico di Milano.
While trying to decide what to do with my life, I spent a short time at ARM in the Research-Security group, working on fuzzing and static program analysis.
I finally decided to try myself and join Labs as co-founder, to help build the decompiler. So far it's been a great journey!


Path of from raw bytes to CodeQL on decompiled code
Alessandro Di Federico, Pietro Fezzardi

This is an hands-on talk about what you can do with the decompiler, a FLOSS decompiler based on LLVM and QEMU.

We will guide the audience step-by-step through how to go from the raw bytes of a file (think, a firmware) to decompiled C code.

Then we'll dig into intermediate representation, based on LLVM IR, and show what tools can be used on it (e.g., KLEE for symbolic execution).

Finally, we'll show how you can use standard tools such as CodeQL and clang-static-analyzer to find bugs in the decompiled C code emitted by, which is always syntactically valid.

Everything that will be shown will be 100% reproducible by the audience in real-time using

Presentation Software
Grand Salon