Apple-Core is a web-based tool for analyzing and modifying Mach-O binary files used by macOS and iOS applications.
- Upload and analyze Mach-O binary files
- View detailed header information
- Explore segment and section data
- Visualize memory layout
- Edit binary data with edit history tracking
- Supports 32-bit and 64-bit Mach-O formats
- Multi-architecture fat binaries
- Python 3.8+
- pip package manager
-
Clone the repository:
git clone https://github.com/yourusername/apple-core.git cd apple-core -
Create a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate -
Install dependencies:
pip install -r requirements.txt -
Initialize the database:
flask db init flask db migrate -m "Initial migration" flask db upgrade -
Run the application:
flask run -
Access the application at http://localhost:5000
- Upload a Mach-O binary file using the form on the homepage
- Navigate through the analysis sections:
- Overview: General file information
- Headers: Mach-O header and load commands
- Segments: Memory segments and their permissions
- Sections: Code and data sections within segments
- Use the hex editor to view and modify binary data
- Track changes in the edit history
apple-core/
├── app.py # Entry point
├── config.py # Configuration
├── requirements.txt # Dependencies
├── static/ # Frontend assets
├── templates/ # HTML templates
└── core/ # Main package
├── __init__.py # App factory
├── models/ # Database models
├── views/ # Flask routes
├── services/ # Business logic
├── forms/ # Form handling
└── utils/ # Utilities
Run tests with pytest:
pytest
This project is licensed under the MIT License - see the LICENSE file for details.