A New Program Exists To Translate x86 Machine Code Into LLVM Bitcode

Written by Michael Larabel in LLVM on 11 August 2014 at 08:18 AM EDT. 7 Comments
LLVM
McSema has been officially open-sourced as an advanced program for translating x86 machine code into LLVM bitcode.

McSema is the latest program trying to allow taking x86 binaries and turning them back into LLVM bitcode. When the program is back into an LLVM bitcode state, it's theoretically possible to then re-target the code to another architecture or apply various program analysis tools and other utilities that are written to run against LLVM bitcode. Another advantage is it's easier to most in manually reading LLVM bitcode than x86 machine code.

Compared to other open-source projects we've seen to go back from machine code to LLVM bitcode, McSema supports floating point and SSE instructions, is documented, and has other technical advantages. McSema was funded by the US government's DARPA.

Since last week, McSema was finally open-sourced. McSema is available under a three-clause BSD license. You can read more about McSema via this blog announcement and the video embedded below.

Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week