Building the next generation decompiler. Binary analysis is a dish best served static.

🧹 rev.ng now does intraprocedural type propagation! Enjoy less casts and better local variable types.
4
11
173
12,648
😎 We now push artificial variable declarations close to their use! 😎 Also, inline initialization.
2
5
165
23,712
🛳️ The new C decompiler backend is almost ready to ship! 🛳️ Merged today: use alias analysis to reduce local variables. More critical improvements to come!
1
16
1,271
⚠️ 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
1
5
1,015
Presentation: pad.rev.ng/p/wSccC86ts#/ Also available on YouTube: piped.video/jrZ56K3Sl_k
6
1,034
🎥 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.
1
42
197
11,383
Presentation: pad.rev.ng/p/5hyplXyv5#/ Also available on YouTube: piped.video/watch?v=vV-Oi6nU…
502
🎥 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.
1
1
9
896
Presentation: pad.rev.ng/p/3chrWgT5d#/ Also available on YouTube: piped.video/OCBLTMKLGAk
4
1,232
🎥 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.
2
66
339
22,019
🎥 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.
1
7
922
Presentation: pad.rev.ng/p/nZM078b9C#/ Also available on YouTube: piped.video/watch?v=p7od_BiU…
316
🎥 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.
1
4
24
2,141
This is the first video of a series, stay tuned for the next episodes. Presentation: pad.rev.ng/p/jOHs-gJjn#/ Also available on YouTube: piped.video/watch?v=TPgCIysN…
4
782
🔴 Clift: a new MLIR dialect for decompiling C Clift is the AST-like IR that the rev.ng decompiler uses as the last stage before emitting C code. Clift is an MLIR dialect, a sort of "meta IR" that enables you to define your own types and instructions
1
3
25
1,378
📉📉📉 rev.ng now uses 1/3 of the RAM 📈📈📈 The new pipeline infrastructure is almost ready. Moar performance improvements to come 🦾
2
10
528
Presentation: pad.rev.ng/p/jVDc-HTkf# Implementation: github.com/revng/revng/blob/… Also available on YouTube: piped.video/watch?v=GQlFJgI1…
2
685
🔴 How does a decompiler detect function arguments? Here's a rev.ng hour from 2023-10-13 explaining EFA4, our analysis to detect function arguments, and return values, passed via registers.
1
1
9
583
💪 We're working on reducing our RAM consumption 💪 To diagnose the critical spots, we augmented our `--trace` report with memory consumption info. We now know how much RAM each part of the pipeline consumes! Special thanks 💕 ui.perfetto.dev 💕 for the visualization.
1
1
7
812
rev.ng Labs is 8 years old. So we thought we'd throw an 8-bit party. Video from angry neighbor filming our office.
2
2
15
851
For your enjoyment, the video of the talk has been published: piped.video/watch?v=uCZRf3v3… 🤦‍♂️ No warning, no nothing. Published as a regular talk 🤷‍♂️
1
9
1,859
📢 2nd part of our Black Hat Arsenal talk is out! Python scripting! 🐍🐍🐍
1
1
664
🔴 We just published our Black Hat Arsenal talk (part 1)! It's a brief tutorial on: 1. using rev.ng from the CLI; 2. playing around with the decompiled code in VSCode; 3. finding bugs with clang static analyzer! 🦾
1
2
9
725
Invite 100 people, fix crashes, repeat.
3
772
📢 Aaand here is Anton's talk about QEMU+RISC-V at KVM Forum 2025! Automatic Frontend Generation for RISC-V Extensions Video: piped.video/watch?v=GPSKsZmu… (21:37) Code: github.com/revng/udb-to-qemu… 🦾
3
6
1,000
Overall, I was unhappy for the quality of the talk and due to the fact that he wasn't actually emitting deobfuscated code (as we do), but just identifying opcodes. At the offline Q&A he mentioned that he "had some ideas" on how to do that with Ghidra.
1
22
3,741
The talk ended with a call for community action, because he was the solo dev of this thing and needed help.
1
14
4,073
Some opcodes were classified as "hook browser" or "download URL". Quite weird for low-level opcode of a VM. 🤷‍♂️
2
1
25
4,383
He also had screenshot of the ghidra plugin. 🤷‍♂️
1
13
4,310
He mentioned success rates (not sure what was defined as "success"). Basically, the thing was supposedly failing with samples using 5 to 7 layers of nested virtualization. 🤷‍♂️
1
11
4,465
🚩 rev.ng is also going to be at DEF CON 33! Meet us at our 2 demo labs! 📅 Fri, Aug 8th – 11am (LVCC L2‑W212) 📅 Sat, Aug 9th – 3pm (LVCC L2‑W210) 🔗 info.defcon.org/content/?id=… Some of us will also play DEF CON CTF with @mhackeroni 😎
6
684
🔴 rev.ng is going to be at Black Hat 2025! Meet us at our Arsenal hands-on presentation: 📅 Wed, Aug 6th – 4pm 📍 Business Hall – Arsenal Station 3 🔗 blackhat.com/us-25/arsenal/s… We'll also be at Innovators and Investors Summit on the 5th. 💪
3
3
598
✨ We just added preliminary support for LLM integration in the rev.ng decompiler. There's quite some more work to do. We will make it available by default, for free users as well! github.com/revng/revng/blob/…
2
13
1,166
Microsoft ABIs are evil. REP30: Handling of Microsoft_x86_64’s register parameter stack area pad.rev.ng/s/pslmxUCJI#
1
2
13
1,104
☕️ It's Tuesday, time to write a taint analysis in rev.ng. Here's a minimal example: github.com/revng/demos/tree/…
4
20
2,263
Good bathroom reads.
1
3
58
3,044
😎 rev.ng has been accepted for @BlackHatEvents Arsenal! 😎 We will be presenting in the tools area. Come visit us in 🎰Vegas🎰 in August!
1
3
471
🎉 We just invited the first 10 people to closed beta UI 🎉 We’ll slowly invite more people. Wanna participate? rev.ng/newsletter-subscribe Curious of what you can do? piped.video/watch?v=zjS7Y9eD…
12
1,516
You can find the video on YouTube as well: piped.video/watch?v=zjS7Y9eD…
3
703
🔴 New video: "rev.ng UI demo" Make sure you're subscribed to our newsletter in order to get an invite!
1
1
12
727
🔴 Our @reconmtl talk of last year has been published! "Path of rev.ng-ance: from raw bytes to CodeQL on decompiled code" Check it out: piped.video/watch?v=0lrhCV14…
2
6
28
2,554
🧠 glibc has a `noreturn` function returning an `int` 🧠 github.com/bminor/glibc/blob…
6
959
Deobfuscation with rev.ng and LLVM
1
6
32
2,016
📷 Finding dead bodies A pad about find dead code using code coverage tools. It was made by one of us for a talk at the rev.ng hour of some years ago. More effort than required was put in the image but the results was undoubtedly great. pad.rev.ng/s/CwdCrM68Z#
1
7
682
🔴 New video: "Deobfuscation with rev.ng" Check it out: piped.video/watch?v=oBfxa9xv…
17
100
5,754
New video: “rev.ng: an overview”. Check it out: piped.video/watch?v=qbt6Ukoa…
3
7
1,557
We just opened our YouTube channel! 📹 First video is out: An introduction to LLVM IR 🐲 Check it out: piped.video/watch?v=CDKuH7SI… Let us know what you think 🙃
1
11
62
3,540
And this is the corresponding C we emit 🪄
1
369
The new C backend we’re building employs a new IR, clift. It is based on MLIR (LLVM’s meta-IR 🐲), very easy to manipulate and test. Have a look!
1
1
17
1,244
We recently update our coding conventions rules 🧑‍⚖️ If you’re planning to contribute or you are just curious, check them out! pad.rev.ng/s/SJNUet_ku#
1
6
844
Check out this interesting paper. We’re thinking about doing something similar! arxiv.org/abs/1909.01752
5
32
1,989
One of us did an exercise of Advent of Code in #APL. adventofcode.com/2024/day/1 Why? Because.
4
518
#revngino, our mascotte, is back with a new outfit and some of our new merch and stickers! 😎
1
7
702
🎉🎉 rev.ng will be holding a party for its 7th birthday at the end of the month in our new HQ! 🎉🎉 Feel free to drop us a message if you’d like to join!
24
1,473
Aaaand our QEMU patchset to automatically promote helpers to TCG (using LLVM) is out! 😱😱😱 It has been in the making for quite some time, we’re very proud of it. 💪 Presentation: piped.video/watch?v=Gwz0kp7I… Patchset: lists.gnu.org/archive/html/q…
16
63
7,242