zyantific/zydis
FreeFast and lightweight x86/x86-64 disassembler and code generation library
About zyantific/zydis
Zydis is a fast and lightweight x86/x86-64 disassembler and code generation library written in C11. It supports all x86 and x86-64 (AMD64) instructions and extensions, is optimized for high performance, and allocates no dynamic memory (no malloc), making it suitable for kernel-mode and resource-constrained environments. The library is thread-safe by design, has a very small file-size overhead compared to other disassembler libraries, and comes with complete Doxygen documentation. It has no third-party dependencies—not even libc—and compiles on any platform with a working C11 compiler. Zydis has been tested on Windows, macOS, FreeBSD, Linux, and UEFI, and is trusted by major open-source projects such as x64dbg, Mozilla Firefox, and WebKit. The library also includes an encoder for instruction generation.
Key Features
Pros & Cons
- High performance and efficiency
- Zero dynamic memory allocation ensures predictable behavior
- Thread-safe, suitable for concurrent applications
- Very small footprint for embedded or low-level use
- No external dependencies simplifies integration
- Cross-platform support including UEFI and kernel mode
- Well-documented with Doxygen
- Actively maintained and trusted by major projects
- Requires C11 compiler, may not be directly usable from non-C languages without bindings
- Limited to x86/x86-64 architectures only
- Does not include higher-level analysis features like control flow graph reconstruction