python main.py
Click "New" in the toolbar
Select a device model (e.g., Galaxy S10)
Configure settings (memory, storage, etc.)
Click "OK" to create the device
Select a device from the list
Click "Start" in the toolbar
The emulator will launch using the appropriate emulation path
from dump_analyzer import analyze_dump
# Analyze a Samsung firmware dump
ui_version, device_model = analyze_dump("/path/to/dump")
print(f"Detected device: {device_model} running {ui_version}")
The emulator can be configured through the UI or by editing the config.json file:
{
"qemu_path": "/usr/bin",
"dump_folder": "/path/to/dumps",
"virtual_memory": 2048,
"samsung_models": {
"SM-G900F": {
"name": "Galaxy S5",
"arch": "arm64",
"cpu": "cortex-a57",
"memory": 2048,
"display": {
"width": 1080,
"height": 1920,
"density": 480
}
}
}
}
Contributions are welcome! Please feel free to submit a Pull Request.
Fork the repository
Create your feature branch (git checkout -b feature/amazing-feature)
Commit your changes (git commit -m 'Add some amazing feature')
Push to the branch (git push origin feature/amazing-feature)
Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
QEMU project for the full-system emulation capabilities
Unicorn Engine for the CPU emulation framework
Samsung for creating the devices we're emulating