SRUDB.dat · WebAssembly · 100% local

SRUM ParserRead the Windows resource meter.

SRUM logs which apps ran, how much CPU they burned, how many bytes they sent and when the machine was on battery — for 30 to 60 days. Drop SRUDB.dat or a whole triage ZIP and investigate it right here.

  • No upload, no account
  • KAPE & Velociraptor ZIPs
  • CSV / JSON export

The sample is a synthetic SRUDB.dat from a fictional intrusion (host FIN-WKS-07) — no real data. Tip: in Network Data Usage, click rclone.exe’s 10:57 timestamp to focus the time range on the exfiltration.

How to get SRUDB.dat

From a Windows machine to results in two minutes: copy the locked database with one command, then drop it above.

  1. Collect SRUDB.dat with one command
  2. Drop the file, the sru folder or the triage ZIP here
  3. It is parsed in your browser — nothing is uploaded

RecommendedWindows 10 / 11 or Server 2016+. Run it in an administrator Command Prompt or PowerShell (/vss needs admin).

Copy SRUDB.dat from a shadow copy to C:\triage
cmd /c "mkdir C:\triage 2>nul & esentutl /y C:\Windows\System32\sru\SRUDB.dat /vss /d C:\triage\SRUDB.dat"

Then drop C:\triage\SRUDB.dat here. The copy is usually in Dirty Shutdown state: the tool reads it and tells you so.

Optional: clean copy with the logs replayed

With /vssrec sru ., esentutl replays the SRU*.log files inside the snapshot, so the copy is in Clean Shutdown state with the latest committed records. If it fails, use the command above.

Optional: clean copy with the logs replayed
cmd /c "mkdir C:\triage\clean 2>nul & cd /d C:\Windows\System32\sru && esentutl /y SRUDB.dat /vssrec sru . /d C:\triage\clean\SRUDB.dat"

Gotchas

  • “File in use” or Access denied on a plain copy: the Diagnostic Policy Service keeps SRUDB.dat locked. Use /vss (as admin), KAPE or an image rather than stopping the service on the machine you are investigating.
  • SRUM writes to its database about once an hour and a live copy is usually Dirty Shutdown, so the last hour of activity can be missing. Use the clean copy option, or collect the whole folder and replay the logs (guide below).
  • Retention is about 30 days of hourly rows (Long Term tables: up to about a year, weekly). Collect early; all times are shown in UTC.
7SRUM tables decoded
0Bytes uploaded
YesWorks offline

Everything SRUM records, decoded

The ESE database is read by a Rust parser compiled to WebAssembly. App and user IDs are resolved through SruDbIdMapTable, FILETIMEs become UTC dates, flags get readable labels.

Per-app resource use

Foreground and background CPU cycles, bytes read and written, by app and user SID.

Network data usage

Bytes sent and received per app and interface, with Wi-Fi / wired / mobile labels.

Energy & connectivity

Battery and AC transitions, connected-standby, and how long each network profile was up.

Anomaly rules

Large outbound transfers, one-shot binaries and off-hours activity flagged for triage.

Compare two machines

Diff two SRUDB.dat files: apps only in one, and the biggest outbound changes.

Built for big databases

Virtualized tables with sort, filter, resizable and pinnable columns, and saved sessions.

From evidence to answers in three steps

  1. Collect

    Copy C:\Windows\System32\sru\ with a raw/VSS copy, or run a KAPE / Velociraptor collection.

  2. Drop

    Drop SRUDB.dat, the whole collection ZIP or its folder. The database is found automatically.

  3. Investigate

    Pivot by app, spot anomalies, chart activity by hour and export what matters.

Artifacts that answer the next question in the same case.

Frequently asked questions

What is SRUDB.dat?

SRUDB.dat is the database file used by the Windows System Resource Usage Monitor (SRUM). It records per-application CPU cycles, foreground/background time, network bytes, and energy use, with roughly 30–60 days of history.

Is my file uploaded to a server?

No. Parsing happens entirely in your browser via WebAssembly. The file you drop never leaves your device — there is no upload endpoint.

Where do I find SRUDB.dat on a Windows machine?

It lives at C:\Windows\System32\sru\SRUDB.dat. The SRUM service holds an open handle on a running system, so most analysts copy it from a forensic image or a volume snapshot.

Does the parser need an internet connection after loading?

No. Once the page and the WASM module are cached, parsing works fully offline.

What browsers are supported?

Any modern browser with WebAssembly support — Chrome, Edge, Firefox, Safari, and Brave on desktop. Tested primarily on the latest Chromium.

Your evidence never leaves this tab.

No server, no telemetry on file contents. Close the tab and it's gone — unless you save the session in this browser.

Open SRUDB.dat