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.
- 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
RE-Architect consists of several integrated components working together to provide a comprehensive reverse engineering solution:
- Binary Loader: Handles various binary formats (ELF, PE, Mach-O) and architectures (x86, ARM, MIPS)
- Decompiler Bridge: Interfaces with leading decompilers using a uniform abstraction layer
- Analysis Engine: Performs static, dynamic, and symbolic analysis to extract program behavior
- Machine Learning Interpreter: Generates natural language explanations of code functionality
- Test Generator: Creates safe, executable test harnesses with appropriate input generation
- Visualization Layer: Provides interactive graphical representations of program structure and data flow
# 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
- 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
- Installation Guide - Detailed setup instructions for different environments
- Quick Start Guide - Get up and running in minutes
- User Manual - Comprehensive usage guide and tutorials
- API Reference - Complete Python API documentation
- 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)
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 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.
Contributions are welcome. Please follow standard GitHub pull request procedures to submit your changes.
MIT License - See LICENSE file for details.
- 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