110 Followers
1 Following
155 Posts
Building the next generation decompiler.
Binary analysis is a dish best served static.
Websitehttps://rev.ng
Twitterhttps://twitter.com/_revng

πŸŽ₯ 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.

πŸŽ₯ 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.

πŸ”΄ 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

πŸ“‰πŸ“‰πŸ“‰ rev.ng now uses 1/3 of the RAM πŸ“ˆπŸ“ˆπŸ“ˆ

The new pipeline infrastructure is almost ready.
Moar performance improvements to come 🦾

πŸ”΄ 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.

πŸ’ͺ 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.

πŸ“’ 2nd part of our Black Hat Arsenal talk is out!

Python scripting! 🐍🐍🐍

πŸ“’ Aaand here is Anton's talk about QEMU+RISC-V at KVM Forum 2025!

Automatic Frontend Generation for RISC-V Extensions

Video: https://www.youtube.com/watch?v=GPSKsZmu_S8&t=1297s (21:37)
Code: https://github.com/revng/udb-to-qemu/ 🦾

πŸ”΄ 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
πŸ”— https://www.blackhat.com/us-25/arsenal/schedule/#revng-decompiler-45498

We'll also be at Innovators and Investors Summit on the 5th. πŸ’ͺ

✨ We just added preliminary support for LLM integration in the http://rev.ng decompiler.

There's quite some more work to do.

We will make it available by default, for free users as well!

https://github.com/revng/revng/blob/develop/python/revng/internal/cli/_commands/llm_rename/__init__.py