Skip to content

Advanced reverse engineering platform combining traditional static analysis with AI-powered insights. Supports multiple decompilers (Ghidra, IDA Pro, Binary Ninja), automated function analysis, and interactive web visualization for comprehensive binary analysis workflows.

License

Notifications You must be signed in to change notification settings

pandaadir05/re-architect

Repository files navigation

RE-Architect

Build Status Python Version License

RE-Architect is an advanced automated reverse-engineering platform that transforms binary files into human-readable function summaries, data structure definitions, and executable test harnesses. The system leverages modern binary analysis techniques and machine learning to provide comprehensive analysis results in an efficient timeframe.

Features

  • Binary Analysis: Decompiles and analyzes binary files using advanced techniques
  • Function Summarization: Generates concise, accurate summaries of function behaviors using machine learning
  • Data Structure Recovery: Identifies and reconstructs complex data structures from binaries
  • Test Harness Generation: Creates runnable test harnesses for recovered functions with built-in safety constraints
  • Interactive Visualization: Presents results through an intuitive user interface with configurable views
  • Multiple Decompiler Support: Seamlessly integrates with Ghidra, IDA Pro, and Binary Ninja
  • Cross-Platform: Works on Windows, Linux, and macOS

Architecture

RE-Architect consists of several integrated components working together to provide a comprehensive reverse engineering solution:

  1. Binary Loader: Handles various binary formats (ELF, PE, Mach-O) and architectures (x86, ARM, MIPS)
  2. Decompiler Bridge: Interfaces with leading decompilers using a uniform abstraction layer
  3. Analysis Engine: Performs static, dynamic, and symbolic analysis to extract program behavior
  4. Machine Learning Interpreter: Generates natural language explanations of code functionality
  5. Test Generator: Creates safe, executable test harnesses with appropriate input generation
  6. Visualization Layer: Provides interactive graphical representations of program structure and data flow

Quick Start

# Clone the repository
git clone https://github.com/pandaadir05/re-architect.git
cd re-architect

# Install dependencies
pip install -r requirements.txt

# Install the package in development mode
pip install -e .

# Run analysis on a binary
python main.py binary_file.exe --config config.yaml

Technologies

  • Core Analysis: Python 3.11+ with specialized binary analysis libraries
  • Decompilation: Integration with Ghidra, IDA Pro, and Binary Ninja
  • Machine Learning Components: Natural language processing for code understanding
  • Symbolic Execution: Integration with angr framework
  • Dynamic Analysis: Sandboxed execution environments using Docker and QEMU
  • Visualization: Flask-based web interface with interactive graphs
  • Testing: pytest for unit and integration testing
  • CI/CD: GitHub Actions for automated testing and deployment

Documentation

Requirements

  • Python 3.11+
  • 64-bit operating system (Windows, Linux, or macOS)
  • 16GB+ RAM recommended for analyzing large binaries
  • CUDA-compatible GPU (optional, for accelerated analysis)
  • One or more supported decompilers (Ghidra, IDA Pro, or Binary Ninja)

Example

from src.core.pipeline import ReversePipeline
from src.core.config import Config

# Initialize the pipeline with configuration
config = Config.from_file("config.yaml")
pipeline = ReversePipeline(config)

# Analyze a binary
results = pipeline.analyze("path/to/binary.exe")

# Access results
functions = results["functions"]
metadata = results["metadata"]

Performance

Performance varies based on binary complexity, analysis depth, and available decompilers. The system supports both lightweight analysis for quick insights and comprehensive deep analysis for detailed reverse engineering work.

Contributing

Contributions are welcome. Please follow standard GitHub pull request procedures to submit your changes.

License

MIT License - See LICENSE file for details.

Acknowledgements

  • The Ghidra team at NSA for their open-source decompiler
  • The angr symbolic execution framework
  • All open-source libraries used in this project
  • The binary analysis research community

About

Advanced reverse engineering platform combining traditional static analysis with AI-powered insights. Supports multiple decompilers (Ghidra, IDA Pro, Binary Ninja), automated function analysis, and interactive web visualization for comprehensive binary analysis workflows.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages