A New Program Exists To Translate 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.
7 Comments