Skip to content
STIMSMITH

Binary Lifting

Concept

Binary lifting is the process of translating machine code from a binary executable into a higher-level intermediate representation (IR) such as LLVM IR, enabling program analysis, transformation, and translation. It is implemented by a range of tools—including BinRec, McSema, Remill, Dagger, LLVM-MCtoLL, reopt, and rev.ng—and typically relies on formal ISA semantics to accurately model instruction behavior.

First seen 7/3/2026
Last seen 7/3/2026
Evidence 1 chunks
Wiki v1

WIKI

Binary Lifting

Overview

Binary lifting is the process of translating instructions in a compiled binary (machine code) into a higher-level intermediate representation (IR), such as LLVM IR. The lifted IR exposes program structure—control flow, data flow, and individual instruction semantics—in a form that is easier to analyze, optimize, transform, or recompile than raw machine code. Binary lifting underpins a range of applications including decompilation, binary translation, reverse engineering, security analysis, and program verification.

READ FULL ARTICLE →

NEIGHBORHOOD

No graph connections found for this entity yet. It may appear in future ingestion runs.

explore full graph →

RELATIONSHIPS

8 connections
rev.ng Reverse Engineering Tool ← implements 93% 1e
rev.ng is a reverse engineering and binary lifting tool.
BinRec Binary Lifter ← implements 97% 1e
BinRec is a binary lifter tool.
McSema Binary Lifter ← implements 97% 1e
McSema is a binary lifter tool.
Remill Binary Lifting Library ← implements 97% 1e
Remill is a library for binary lifting.
Dagger Binary Lifter ← implements 97% 1e
Dagger is a binary lifter tool.
LLVM-MCtoLL Binary Lifter ← implements 97% 1e
LLVM-MCtoLL is a binary lifter tool.
reopt Binary Lifter ← implements 97% 1e
reopt is a binary lifter tool.
ISA Semantics uses → 92% 1e
Binary lifting relies on ISA semantics to lift binary code to higher-level representations.

CITATIONS

3 sources
3 citations — click to collapse
[1] Binary lifting translates machine code into a higher-level intermediate representation (IR) such as LLVM IR. Specifications of instruction set architectures
[2] BinRec, McSema, Remill, Dagger, LLVM-MCtoLL, reopt, and rev.ng are tools that implement binary lifting. Specifications of instruction set architectures
[3] Binary lifters rely on ISA semantics to faithfully model instruction behavior during translation. Specifications of instruction set architectures