mcsema is a production-quality binary lifter. It takes x86 and x86-64 and statically “lifts” it to LLVM IR. It’s actively maintained, BSD licensed, and has extensive tests and documentation.
More Related Contents:
- Get size of assembly instructions
- Translation in different language
- How do you get assembler output from C/C++ source in gcc?
- How to read the Intel Opcode notation
- How to disassemble 16-bit x86 boot sector code in GDB with “x/i $pc”? It gets treated as 32-bit
- What does @plt mean here?
- Why does this MOVSS instruction use RIP-relative addressing? [duplicate]
- How to disassemble a binary executable in Linux to get the assembly code?
- What does “DS:[40207A]” mean in assembly?
- x64 instruction encoding and the ModRM byte
- What does the /4 mean in FF /4?
- x86 XOR opcode differences
- How can I see the assembly code for a C++ program?
- Unoptimized clang++ code generates unneeded “movl $0, -4(%rbp)” in a trivial main()
- How to determine if ModR/M is needed through Opcodes?
- How to interpret objdump disassembly output columns?
- execute binary machine code from C
- x86 32 bit opcodes that differ in x86-x64 or entirely removed
- Why is 0 moved to stack when using return value?
- SAR command in X86 assembly with one parameter
- How does the CPU know how many bytes it should read for the next instruction, considering instructions have different lengths?
- What is the trick to learn x86 assembly language on Windows PC? [closed]
- Assembly code fsqrt and fmul instructions
- MOVing between two memory addresses
- Why does the x86-64 GCC function prologue allocate less stack than the local variables?
- How to determine if the registers are loaded right to left or vice versa
- Can x86 reorder a narrow store with a wider load that fully contains it?
- Printing out a number in assembly language?
- x86 Assembly – Why is [e]bx preserved in calling conventions?
- MUL function in assembly