Hacker News new | past | comments | ask | show | jobs | submit login

Pardon my ignorance, (I don't mean to be dense here) but what the heck is this doing? It sounds like recompiling machine code into intermediate code. Is that a fair (if short and over simple) description?



The announcement links to an earlier blog post (pardon my formatting):

http://blog.trailofbits.com/2014/06/23/a-preview-of-mcsema/

"McSema translates x86 machine code into LLVM bitcode.

"Why would we do such a crazy thing?

"Because we wanted to analyze existing binary applications, and reasoning about LLVM bitcode is much easier than reasoning about x86 instructions.

"Not only is it easier to reason about LLVM bitcode, but it is easier to manipulate and re-target bitcode to a different architecture."


Thank you. I missed that post.


Yes, it’s a Disassembler: https://en.wikipedia.org/wiki/Disassembler


It's more than a disassembler. Disassemblers are easy to write. Stateful transformation is much harder.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: