Tool or library that converts (“lifts”) machine code to a higher level representation. Many (all?) tools use LLVM IR as the higher level representation although then lift to C code.
Notes related to Binary lifter
Binary analysis, BinRec binary lifter, Capstone disassembler, Dagger binary lifter, LLVM-MCtoLL binary lifter, McSema binary lifter, Remill binary lifting library, reopt binary lifter, RetDec decompiler, rev.ng reverse engineering tool, SecondWrite binary lifter, TCG (Tiny Code Generator) intermediate representation
Papers related to Binary lifter
- BinRec: Dynamic binary lifting and recompilation [altinay:eurosys:2020]
- A compiler-level intermediate representation based binary analysis and rewriting system [anand:eurosys:2013]
- BAP: A binary analysis platform [brumley:cav:2011]
- Scalable validation of binary lifters [dasgupta:pldi:2020]
- Rev.Ng: A unified binary analysis framework to recover CFGs and function boundaries [difederico:cc:2017]
- Lifting assembly to intermediate representation: A novel approach leveraging compilers [hasabnis:asplos:2016]
- Towards verified binary raising [hendrix:itp:2019]
- Type-based decompilation (or program reconstruction via type reconstruction) [mycroft:esop:1999]
- Polymorphic type inference for machine code [noonan:pldi:2016]
- Raising binaries to LLVM IR with MCTOLL (WIP paper) [yadavalli:lctes:2019]