This repository provides a Docker container that runs a fully functional Windows virtual machine inside a Docker environment using KVM/QEMU hardware acceleration. It automates the entire lifecycle of a Windows VM, from downloading the correct ISO from Microsoft or mirror sources, performing an unattended installation using dynamically generated answer files, injecting optimized VirtIO drivers, to configuring remote access via a web-based noVNC interface or RDP. The architecture is a monolithic Docker container orchestrated by a series of modular Bash scripts sourced from a main entry point (`/run/entry.sh`). Key modules handle specific concerns: `mido.sh` scrapes Microsoft's ESD download portal, `image.sh` manipulates WIM/ISO images, `answer.sh` generates XML configuration, `display.sh` configures GPU acceleration, and `power.sh` manages graceful shutdown. This modularity, while in Bash, demonstrates strong systems engineering principles. The project supports an extensive range of Windows versions from Windows 95 to Windows Server 2025, including specialized editions like LTSC and IoT. It features robust error handling, checksum verification, state persistence across container restarts, and a comprehensive CI/CD pipeline that validates installations across multiple versions. The `assets/` directory contains per-version unattended answer files and post-install scripts that apply registry tweaks, disable unnecessary features, and install drivers. While the codebase exhibits high craftsmanship in its specialized modules, it faces medium technical drift risk due to its heavy reliance on hardcoded download URLs, SHA256 checksums, and specific external tool versions. The `mido.sh` scraping logic is particularly fragile against changes to Microsoft's infrastructure. Despite this, the project is actively maintained and represents a highly sophisticated piece of systems automation engineering.
FLARE-VM is a collection of PowerShell and Python scripts for automating the setup of a Windows-based reverse engineering virtual machine. The core installer (`install.ps1`) uses Chocolatey and Boxstarter to deploy a curated set of malware analysis tools, configure environment variables, registry settings, and taskbar layout. It provides both a GUI and CLI mode for package selection. The repository also includes a set of VirtualBox helper scripts (`virtualbox/`) for building, exporting, and cleaning VM snapshots, as well as monitoring network adapter status. These scripts are well-structured and can be reused independently for VirtualBox automation. The project is actively maintained by Mandiant (Google) and serves the malware analysis community.