Dagger: Decompiling Software Through LLVM
Written by Michael Larabel in Compiler on 06 May 2013 at 08:43 PM EDT. 1 Comment
Compiler
Dagger is a decompilation framework written around LLVM that supports decompiling software back into LLVM IR.

One of the interesting sessions talked about last week in Paris, France at the LLVM European Meeting was Dagger. Ahmed Bougacha, a Dagger developer, talked about Dagger as a decompilation framework based on LLVM. Dagger allows for LLVM back-ends to provide instruction-level semantics that can then be used to translate target instructions to a "micro-IR" IR-like architecture and then onto LLVM IR.

When decompiling back into LLVM IR, the code could then be used for rewriting in a different form, static or dynamic binary translation, or for use by instruction set emulators. The IR could then also be transformed back into C code or another language supporting the full decompilation process.

Sadly the source code for LLVM Dagger has yet to be published but there are PDF slides and video (MOV) from the presentation in Paris. There's also the basic web-site.
About The Author
Author picture

Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via Twitter or contacted via MichaelLarabel.com.

Related Compiler News
Popular News
Trending Reviews & Featured Articles