I have been collaborating with a project I would like to propose for inclusion in the list of software built with LLVM. The project is a disassembly framework named Capstone (https://github.com/aquynh/capstone). Here is a description:
— snip —
Capstone is a lightweight multi-platform, multi-architecture disassembly framework.
Our target is to make Capstone the ultimate disassembly engine for binary analysis and reversing in the security community.
Some known uses of Capstone are automated analysis of binary programs, reverse engineering and static malware analysis.
Capstone is a disassembly framework with the target of becoming the ultimate disasm engine for binary analysis and reversing in the security community.
Created by Nguyen Anh Quynh, then developed and maintained by a small community, Capstone offers some unparalleled features:
- Support multiple hardware architectures: ARM, ARM64 (aka ARMv8), Mips & X86.
- Having clean/simple/lightweight/intuitive architecture-neutral API.
- Provide details on disassembled instruction (called “decomposer” by others).
- Provide semantics of the disassembled instruction, such as list of implicit registers read & written.
- Implemented in pure C language, with lightweight wrappers for C++, Python, Ruby, OCaml, C#, Java and Go available.
- Native support for Windows & *nix platforms (MacOSX, Linux & *BSD confirmed).
- Thread-safe by design.
- Distributed under the open source BSD license.
Further information is available at http://www.capstone-engine.org
— snip —
Please note (for credit purposes) that I am not the main author.