Ad

BeaEngine: Intel Disassembler Library

BeaEngine is a C library for decoding instructions from various Intel architectures. It provides accurate analysis and generates detailed instruction structures for reverse engineering and malware analysis.
Screenshot of BeaEngine/beaengine homepage

BeaEngine is a C library designed to decode instructions from a wide range of Intel architectures, including 16, 32, and 64-bit. It decodes standard instructions as well as those from FPU, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, VMX, CLMUL, AES, MPX, AVX, AVX2, AVX512 (VEX & EVEX prefixes), CET, BMI1, BMI2, SGX, UINTR, KL, TDX, and AMX extensions. It allows for comprehensive data-flow and control-flow analysis, providing a detailed representation of analyzed instructions. The library uses opcode tables from Intel documentation and external resources to achieve its decoding capabilities.

BeaEngine offers a comprehensive coverage of Intel instruction sets, supports multiple programming languages, and is designed for both user and kernel-mode applications. Its ability to analyze complex instruction structures and generate detailed representations makes it a powerful tool for reverse engineering and malware analysis. It leverages well-documented opcode tables ensuring accuracy, and provides comprehensive documentation and examples.

  • Architecture Support: Supports 16, 32, and 64-bit Intel architectures, including extended sets like AVX-512.
  • Language Bindings: Provides headers and bindings for C/C++, C#, Python3, Delphi, PureBasic, and assembler languages.
  • Detailed Instruction Analysis: Generates structured output including mnemonic, operands, registers, and flags.
  • Data-Flow and Control-Flow Analysis: Enables the generation of slices and obfuscation patterns for dynamic analysis.
  • Extensibility: Easy to extend and adapt to new instruction sets or custom analysis tasks.
  • Cross-Platform: Designed to be usable in user mode and kernel mode environments.
  • Performance: Optimized for performance to facilitate efficient code analysis.

BeaEngine is a mature project with a history of active development and maintenance. Recent commits and a sizable number of stars and forks on GitHub indicate an active community and ongoing support. Comprehensive documentation, including examples and a dedicated dev corner, further demonstrate its reliability. The project is released under the LGPL license, promoting its use and adaptation.

BeaEngine is beneficial for reverse engineers, malware analysts, and developers working with low-level system programming. It addresses the need for a reliable and comprehensive Intel instruction disassembler with support for various architectures and programming languages. By providing detailed instruction analysis, BeaEngine simplifies the process of understanding and analyzing binary code, offering a valuable alternative to manual disassembling or less feature-rich tools.

Summarize:
Share:
Stars
546
Forks
130
Issues
17
Created
11 years ago
Commit
5 years ago
License
None
Archived
No
Updated 16 days ago

Similar Repositories