CS

Devicer

Unified Windows toolkit for rooted Android — identify, ROM search, partition backup, boot.img patch, flashing. Native FUS, no Python or JRE

C#Desktop
Delivery
Source-first
Browse code, README, and release notes on GitHub.
Primary lane
C# / Desktop lane
The clearest adjacent context for this project inside the portfolio.
Freshness
Updated May 9, 2026
Latest release
No tag yet
README is the clearest project overview right now.

Preview

Using the generated project card as a clean fallback until a live capture is available.

Devicer card

Source at github.com/SysAdminDoc/Devicer.

README

Cached at build time, cleaned up for in-site reading, and linked back to the canonical GitHub source.

Devicer logo

Devicer

![Version](https://img.shields.io/badge/version-1.0.0-blue.svg) ![License](https://img.shields.io/badge/license-MIT-green.svg) ![Platform](https://img.shields.io/badge/platform-Windows-0078d4.svg) ![.NET](https://img.shields.io/badge/.NET-10-512bd4.svg) ![Status](https://img.shields.io/badge/status-1.0%20alpha-orange.svg)

Unified Windows toolkit for managing rooted Android phones — identify, search ROMs, back up, patch, and flash from one shell.

Status

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.

Goals

  1. Identify device + currently-installed ROM (model, CSC, build fingerprint, BL, baseband, root status, slot, encryption state).
  2. Search & download stock firmware (Samsung CSC-aware) AND custom ROMs (LineageOS, crDroid, PixelExperience indices) from one search box.
  3. Back up — partitions, EFS/NV (Samsung-critical, losing it bricks IMEI), userdata, Magisk modules.
  4. 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.

Why

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.

Stack (locked v0.2.0)

C# / .NET 10 WPF, TFM net10.0-windows10.0.22621.0, MVVM via CommunityToolkit.Mvvm. Catppuccin Mocha theme.

Architecture (locked v0.2.0)

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.

Build

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 Release

Release exe: src/Devicer.App/bin/Release/net10.0-windows10.0.22621.0/Devicer.App.exe.

Project layout

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

License

MIT — preserved by subprocess architecture; do not convert to library linking against GPL tools.

Read on GitHub → github.com/SysAdminDoc/Devicer