Unified Windows toolkit for managing rooted Android phones — identify, search ROMs, back up, patch, and flash from one shell.
v1.0.0 — first feature-complete alpha. Seven functional sidebar pages (Device / Firmware / ROMs / Backup / Patch / Flash / Universal) plus Settings, all built on a locked C# / .NET 10 WPF / subprocess-wrapper architecture. Verified end-to-end against a Samsung Galaxy S25 Ultra (SM-S938B / Android 16 / CSC EUX / Magisk 30.7) — Device probe, firmware lookup + native FUS download, ROM aggregation, partition backup, boot.img patch, and Odin inspector all live-tested. CommunityToolkit.Mvvm bumped to 8.4.2; CVE scan returned zero vulnerable packages across all three projects. Theme parity verified between Catppuccin Mocha and Latte. A portable-ZIP build script (tools/build-release.ps1) and a placeholder GitHub Actions release workflow (.github/workflows/release.yml) ship in the repo for when the user pushes to a remote. Backup performs root dd of selected partitions, pulls the images off-device, SHA256-verifies, and writes a versioned manifest to %LOCALAPPDATA%\Devicer\backups\<serial>\<timestamp>\. Critical Samsung partitions (EFS, modem NV, persist, modem state, FSC/FSG) are pre-selected and rendered with a CRITICAL badge + plain-language reason. Live-tested partition discovery on the connected S25 Ultra (125 partitions, all 6 critical correctly flagged). No Python, no JRE, no third-party servers. See CHANGELOG.md. Tooling-landscape document at docs/research.md, phased build plan at ROADMAP.md.
- Identify device + currently-installed ROM (model, CSC, build fingerprint, BL, baseband, root status, slot, encryption state).
- Search & download stock firmware (Samsung CSC-aware) AND custom ROMs (LineageOS, crDroid, PixelExperience indices) from one search box.
- Back up — partitions, EFS/NV (Samsung-critical, losing it bricks IMEI), userdata, Magisk modules.
- Patch + flash — patch boot.img / init_boot.img with Magisk on the PC side (no phone roundtrip), flash via Odin protocol or fastboot, with EFS-clear and Knox-trip safety gates.
No single tool covers all four jobs in 2026. The closest existing option, Thor Flash Utility, only does firmware download + flash. ROM-search aggregation is still browser work. Backup orchestration from PC is fragmented across TWRP nandroids and per-app tools. Devicer integrates the recommended best-of-breed toolchain (Bifrost + Thor + tetherback + Magisk_patcher) under one shell.
C# / .NET 10 WPF, TFM net10.0-windows10.0.22621.0, MVVM via CommunityToolkit.Mvvm. Catppuccin Mocha theme.
Orchestration shell with subprocess wrappers for every backend tool. Devicer.App (WPF UI) sits on top of Devicer.Core (services + models). Each external tool — Bifrost, Thor, tetherback, Magisk_patcher — runs as a child process across the OS-level boundary, which keeps Thor's GPL-3.0 from contaminating Devicer's MIT license. Tools are downloaded lazily on first need to %LOCALAPPDATA%\Devicer\tools\ with version + SHA256 pinning.
dotnet build -c Release Devicer.sln
dotnet run --project src/Devicer.App -c Release
# Backend smoke test (probes connected phone, prints DeviceInfo to stdout):
dotnet run --project tools/Devicer.Smoke -c ReleaseRelease exe: src/Devicer.App/bin/Release/net10.0-windows10.0.22621.0/Devicer.App.exe.
Devicer.sln
src/
Devicer.Core/ class library — IShellRunner, AdbService, FastbootService,
DeviceProbeService, DeviceInfo / RootStatus models
Devicer.App/ WPF shell — sidebar nav, 7 functional pages (Device / Firmware /
ROMs / Backup / Patch / Flash / Universal) + Settings, Catppuccin
Mocha + Latte themes, MVVM via CommunityToolkit.Mvvm
tools/
Devicer.Smoke/ E2E console smoke against the connected device
docs/
research.md 2026 tooling landscape, foundation document
MIT — preserved by subprocess architecture; do not convert to library linking against GPL tools.
