zyantific/zydis logo

zyantific/zydis

Free

Fast and lightweight x86/x86-64 disassembler and code generation library

FreeFree tier
Type
Open Source
Company
zyantific

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

Supports all x86 and x86-64 (AMD64) instructions and extensions
Optimized for high performance
No dynamic memory allocation (no malloc)
Thread-safe by design
Very small file-size overhead compared to other disassembler libraries
Complete Doxygen documentation
Absolutely no third-party dependencies, not even libc
Compiles on any platform with a working C11 compiler
Tested on Windows, macOS, FreeBSD, Linux, and UEFI (user and kernel mode)
Includes an instruction encoder

Pros & Cons

Pros
  • 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
Cons
  • 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

Best For

Disassembling x86/x86-64 machine code in security tools and debuggers (e.g., x64dbg)Emulation and reverse engineering frameworksKernel-mode analysis and driversPerformance-critical binary analysis where no malloc is requiredEncoding x86/x86-64 instructions programmatically

FAQ

What is Zydis?
Zydis is a fast and lightweight x86/x86-64 disassembler and code generation library written in C11.
Does Zydis support all x86 extensions?
Yes, Zydis supports all x86 and x86-64 (AMD64) instructions and extensions.
Is Zydis thread-safe?
Yes, Zydis is designed to be thread-safe by design.
Does Zydis require any dependencies?
No, Zydis has absolutely no third-party dependencies, not even libc.
What platforms does Zydis support?
Zydis is tested on Windows, macOS, FreeBSD, Linux, and UEFI, in both user and kernel mode.
Does Zydis use dynamic memory allocation?
No, Zydis does not use dynamic memory allocation (malloc) to ensure predictable performance.