Star on GitHubStar2.4k stars

Tool

McSema

Archived Trail of Bits executable lifter that translates 32- and 64-bit Linux ELF and Windows PE binaries into LLVM bitcode for analysis or recompilation. Control-flow recovery runs in mcsema-disass, which relies on IDA Pro to write a protobuf CFG, and mcsema-lift then translates instructions through the Remill library; the README lists most x86 and x86-64 integer, x87, MMX, SSE and AVX instructions plus subsets of AArch64, SPARC32 and SPARC64. Lifted bitcode can go through LLVM passes, KLEE or libFuzzer, or be compiled back into a runnable program.

Targets
Binary
Category
Native analysis tools
Relationship
Foundation tool
Sources reviewed
Stars
2.8k
Last commit
2022-04-26
Language
C++
License (GitHub)
AGPL-3.0
Status
Archived

GitHub data as of 2026-11-09

Copy as MarkdownView JSONCite

Requirements & limits

  • The archived repository is read-only. The README supports LLVM 9–11; v3.0.24 has prebuilt archives for Ubuntu 18.04 and 20.04 amd64.
  • Control-flow recovery requires IDA Pro 7.5+. The experimental DynInst frontend is unsupported. Builds need CMake 3.14+, Python 3.8 with protobuf and clang bindings, and pinned Remill and Anvill commits. macOS and Windows builds are experimental or untested.
  • Inputs are analyst-supplied compiler-generated ELF or PE binaries. Limitations.md excludes packed, encrypted, obfuscated and self-modifying code and raw firmware blobs; it also notes exception and floating-point limitations.
  • The repository includes Maze examples, prebuilt test CFGs and an encrypted Binary Ninja CI archive.
  • AGPL-3.0; IDA Pro, Binary Ninja and LLVM retain their own terms.

Cite

BibTeX

@misc{mcsema,
  title = {{McSema}},
  howpublished = {\url{https://github.com/lifting-bits/mcsema}},
  url = {https://github.com/lifting-bits/mcsema},
  urldate = {2026-10-27},
  note = {Awesome REA entry: \url{https://awesomerea.org/resources/mcsema/}}
}

Plain text

McSema. https://github.com/lifting-bits/mcsema (accessed 2026-10-27). Awesome REA entry: https://awesomerea.org/resources/mcsema/

Useful? Star Awesome REA on GitHub2.4k

About this entry

The description was reviewed against primary sources.

Report an outdated entry Suggest a translation fix

Primary sources

  1. README.md GitHub · lifting-bits/mcsema · Revision 2636805
  2. docs/Limitations.md GitHub · lifting-bits/mcsema · Revision 2636805
  3. docs/McSemaWalkthrough.md GitHub · lifting-bits/mcsema · Revision 2636805
  4. docs/CommandLineReference.md GitHub · lifting-bits/mcsema · Revision 2636805
  5. tests/MakingTests.md GitHub · lifting-bits/mcsema · Revision 2636805
  6. examples/Maze GitHub · lifting-bits/mcsema · Revision 2636805
  7. tests/test_suite_generator/generated/prebuilt_cfg GitHub · lifting-bits/mcsema · Revision 2636805
  8. .github/workflows/vcpkg_ci.yml GitHub · lifting-bits/mcsema · Revision 2636805
  9. LICENSE GitHub · lifting-bits/mcsema · Revision 2636805
  10. https://github.com/lifting-bits/mcsema/commit/1ef3ed2cd355f52d7ae28b336bdbc59c5ebad5b9
  11. https://github.com/lifting-bits/mcsema/releases/tag/v3.0.26
  12. https://github.com/lifting-bits/mcsema/releases/tag/v3.0.24

More in Native binaries

All 502 entries in Native binaries

↑↓ move↵ open⌘↵ new tab