🛳️ The new C decompiler backend is almost ready to ship! 🛳️
Merged today: use alias analysis to reduce local variables.
More critical improvements to come!
⚠️ We just merged the cast elision branch!
Now we no longer print all the 👻 casts, i.e., those that, according to the C standard, are implicit.
Big win for readability without resorting to "hide all casts" as some other tools do 😉
Design document (REP60): pad.rev.ng/s/jbM3NmEVq
🎥 New video about QEMU!
This time, Anton walks through the basics of QEMU system mode using a simple bare metal program! ⚙️
The focus is on understanding how QEMU’s high-level control flow works, from guest code to BIOS, and down to device implementation.
🎥 How rev.ng finds loops: Nested Cyclical Region Identification
Andrea will show us how we identify nested cyclical regions on the CFG in the new decompiler backend.
VULHUNT IS OPEN SOURCE
you can now use our binary analysis and querying engine for your own research or let an agent go ham with the MCP.
the team also did an amazing job to ship comprehensive docs and blog posts with the details, check them out!
🎉 The 10th Nix Milano Unconference is back at our HQ!
Limited seats, so secure your spot and join us!
📅 Saturday, Mar 14, 2026 | 9:30 AM
📍 Via Carlo Farini 57A, Milan
🔗 mobilizon.it/events/096bf456…
🎥 QEMU Dev Starter guide, Part 1
The QEMU codebase can be quite daunting for new developers, Anton with this talk aims to give an overview of both the major APIs one might encounter as well as the high control flow of user-mode emulation.
🎥 PTML: emitting rich decompiled code
Jack introduces PTML and how rev.ng goes beyond raw text, enriching decompiled code (e.g., decompiled C, disassembly, etc.) with HTML-like markup to provide richer and useful information for the viewer.
🎥 How does rev.ng detect jump table?
In this presentation Ale explains how the rev.ng decompiler detects jump tables and, more in general, how it devirtualizes indirect jumps.