2013 European LLVM Conference, Apr 2013 • LLVM IR Decompiler • Focus on semantic gaps between x86 and LLVM IR – LLVM IR designed Static Single Assignment form • Binary → Mir(own IR) → LLVM IR • Virtual Operand Expansion
Anh Quynh, Presentation, SysCan SG, Apr 2013 • Same motivation • Support many obfuscation technics – Insert dead instruction – Insert NOP semantic instructions – Insert unreachable code – Insert branch insn to next insn
– Insert value everytime became true/false • Theorem Prover(SMT solver) – Prove the satisability/validity of a logical formula – Can generate the model if satisable • Genarete logical formula from LLVM IR
Chipounov, George Candea, 2010 • QEMU backend for LLVM ≒ x86 frontend for LLVM • LLVM Code Dictionary instead of Host Code Dictionary – Referred when mapping