Driver Safety Center

DriverRollback

Snapshot a driver tree, then get the exact bytes back. Dry run unless you insist.

Free right now — no account, no card

Get DriverRollback free Windows & Mac · one file, nothing to install

Preview

1 interface design, then a screenshot of it running. Drag, scroll or use the arrows.

Interface design DriverRollback, 1 of 1
Screenshot DriverRollback running on Windows today

Free while we’re in preview

Get DriverRollback

Snapshot a driver tree, then get the exact bytes back. Dry run unless you insist.

The Mac button is for Apple Silicon. On an older Intel Mac, get this one instead.

One file, both ways. Double-click it for the window. Run the same file from a command prompt with arguments and it behaves as the command-line tool, because the engine is inside it. Nothing else to download and nothing to keep beside it.

Early preview. The window has been built and run, but not yet on a real Windows PC or Mac, so expect rough edges. The engine underneath it is fully tested.

  • One file — no installer
  • Runs on your machine, offline
  • Source code published below

Free while in preview. It isn’t signed yet, so Windows or macOS will ask you to confirm the first time you open it. At launch, DriverRollback is included in every plan along with the rest of the range.

Twenty snapshots, hardly any disk

Every file is hashed with SHA-256 and each unique blob is copied into the store once, named after its own hash. Snapshot a tree that barely changes twenty times and the store grows by roughly what actually changed. list shows what each snapshot added and what deduplication saved across the whole store.

Restore prints a plan and stops there

Without --apply nothing is written. Not one byte, not even the quarantine directory. You read the plan, see which files would be created, overwritten or displaced, and run it again if you agree. No config file or environment variable changes that.

Nothing is unlinked

Files the restore would overwrite, and files in the target that aren’t in the snapshot, are moved into a timestamped quarantine folder beside the target. Every restored file is written to a .part, fsynced, re-hashed against the manifest, then renamed into place. A hash that doesn’t match stops the run and goes in the ledger.

Read this part

It treats a driver store as what it is on disk, a directory of files. No SetupAPI, no registry, no signature checking, no staging into a running OS. Snapshot a staging copy, not the DriverStore of a machine you need to boot tomorrow.

Reading on the job itself

Advanced & technical details Command-line builds, source code, checksums and a recorded session — for developers and IT teams

A working command-line build of the snapshot engine: a content-addressed store that keeps each unique file exactly once, snapshot diffing, and a restore that stays a dry run until you add --apply. Anything a restore would overwrite is moved to a timestamped quarantine first, never deleted, and every restored file is re-hashed against the manifest. It works on a driver-store directory; live Windows driver-store operations are out of scope.

Naming status

Working name only — brand verdict **CAUTION** (Medium). Collision: Driver Rollback. Use a coined product name instead.

What it draws on

Existing paid software whose best ideas shaped this program: IObit Driver Booster Pro, Driver Easy Pro, Auslogics Driver Updater, Revo Uninstaller Pro.

Command line

There is nothing extra to install. The program you download is the command-line tool as well: give it arguments instead of double-clicking it and it runs as one, with its output on your terminal. The standalone builds below are the same engine on its own, for machines where you would rather not ship a window at all.

driverrollback - snapshot and rollback for a driver store (Techlosoft Device Reliability Center)

USAGE
  driverrollback snapshot --source <dir> [--store <dir>] [--name <label>] [--ledger <file>] [--json]
  driverrollback list     [--store <dir>] [--json]
  driverrollback diff     <snapA> <snapB> [--store <dir>] [--json]
  driverrollback restore  <snap> --target <dir> [--apply] [--quarantine <dir>]
              [--store <dir>] [--ledger <file>] [--json]
  driverrollback verify   <snap> [--store <dir>] [--json]
  driverrollback help | -h | --help

COMMANDS
  snapshot   Walk the source tree, SHA-256 every regular file, copy each unique
             blob into the object store exactly once, and write a manifest.
             Blobs already present are not copied again, so a second snapshot
             of unchanged content adds zero bytes.
  list       Show every snapshot in the store with its timestamp, file count,
             apparent size, and the bytes it actually added after dedup.
  diff       Compare two snapshots: added, removed, changed, unchanged, and the
             byte delta, sorted by path.
  restore    Compute the minimal set of operations that turns the target tree
             back into the snapshot state and print the plan. THIS IS A DRY RUN.
             Nothing is written unless you pass --apply.
  verify     Re-hash every object the snapshot references and report any that
             is missing or corrupt.

FLAGS
  --source <dir>      Directory tree to snapshot.
  --store <dir>       Object store and manifest directory. Default: .store
  --target <dir>      Directory tree restore operates on.
  --name <label>      Free-text label recorded in the snapshot manifest.
  --apply             Actually perform the restore. Without it, restore is a
                      dry run and does not touch a single byte of the target.
  --quarantine <dir>  Where displaced files are MOVED under --apply. Default is
                      a timestamped folder beside the target:
                      <parent>/<target>.quarantine/<UTC timestamp>/
  --ledger <file>     Append-only JSON-lines audit ledger written by every
                      mutating run. Default: <store>/ledger.jsonl
  --json              Machine-readable JSON output (all five subcommands).

...

Recorded from the shipped binary, not written by hand.

Source

Every file the program is built from:

console.go · console_test.go · engine.go · guided.go · main.go · main_test.go

SHA-256 checksums · build instructions & scope notes · full build plan