A Preview of McSema
Summary: Trail of Bits announced that Artem Dinaburg and Andrew Ruef will present McSema at REcon 2014 on June 28th, a framework that translates x86 binaries into LLVM bitcode, the reverse of what a compiler does. The post walks through translating a simple function called timespi (which returns k * PI) and shows that the re-emitted x86 binary is considerably larger, because McSema exposes the hidden complexity of floating point operations such as the FPU register stack indexed by the TOP flag and the FPU tag word.
What's compelling: The post notes that program analysis tools written for LLVM bitcode, including KLEE, PAGAI and LLBMC, can now be used on existing binaries, and that McSema was later made open source, putting binary analysis and manipulation within reach of teams that never had source code.
Read the original at Trail of Bits Blog ↗