Skip to content

Latest commit

 

History

History
128 lines (100 loc) · 4.26 KB

File metadata and controls

128 lines (100 loc) · 4.26 KB

Steam Credential Capture Tool

A one-click replacement for the manual Fiddler-based workflow used to capture Steam credentials for RotMG. Instead of manually configuring Fiddler, trusting its certificate, and reading raw traffic, this tool wraps the same process in a small Tkinter GUI backed by mitmproxy.

Reference: Steam Users Setup Guide (Fiddler method)

How it works

Under the hood this does exactly what Fiddler does, just automated:

  1. Starts a local HTTPS-intercepting proxy (mitmdump, part of mitmproxy) on 127.0.0.1:8888.
  2. Points your Windows per-user proxy setting at it — the same registry value Fiddler flips when you toggle "Capture Traffic."
  3. Uses mitmproxy's own trusted root certificate to decrypt HTTPS traffic, the same role Fiddler's certificate plays.
  4. Runs a capture addon (bundled in this same script) that watches for the /steamworks/getcredentials response, parses it, and writes the result to captured_credentials.json.

The proxy is automatically disabled and your system network settings are restored as soon as a capture completes (or if you click Disable).

Requirements

  • Windows 10/11 (the proxy-toggle and cert-trust steps are Windows-specific; on other platforms these steps are skipped with a console message)
  • Python 3.9+
  • mitmproxy (installs the mitmdump CLI used internally)
  • bcrypt<5.0.0 — newer bcrypt releases break mitmproxy's dependency on passlib and will crash mitmdump on startup

Install everything with:

pip install -r requirements.txt

If you don't have a requirements.txt yet, at minimum:

mitmproxy
bcrypt<5.0.0

One-time setup

You only need to do this once per machine:

  1. Run the tool:
    python capture_tool.py
  2. Click Enable Capture once — this makes mitmproxy generate its root certificate on first run (stored at ~/.mitmproxy/mitmproxy-ca-cert.pem).
  3. Click Disable.
  4. Click Trust CA (one-time) — this installs the mitmproxy root certificate into the current user's trusted root store via certutil -user -addstore Root. No admin/UAC elevation is required.

Normal usage

  1. Run the tool:
    python capture_tool.py
  2. Click Enable Capture.
  3. Launch Steam and RotMG, and get to the main menu.
  4. The tool watches traffic in the background. As soon as it sees a /steamworks/getcredentials response, it:
    • Parses the returned fields (XML, with a regex fallback if parsing fails)
    • Saves the full result to captured_credentials.json in the script's directory
    • Displays the parsed fields in the window
    • Automatically disables the proxy and restores your normal network settings

Output

captured_credentials.json (written next to the script) contains:

{
  "url": "full request URL that was captured",
  "raw_response": "raw response body",
  "parsed_fields": { "...": "..." }
}

Any previous copy of this file is deleted at the start of each new capture session.

Troubleshooting

"mitmdump exited immediately" Usually caused by a bcrypt/passlib version mismatch. Try:

pip install "bcrypt<5.0.0"

"mitmdump" not found The tool falls back to running mitmproxy as a Python module (python -m mitmproxy.tools.main mitmdump) if the mitmdump executable isn't on your PATH, so this should resolve itself automatically. If it doesn't, confirm mitmproxy installed correctly with pip show mitmproxy.

"Trust CA" fails with a missing-certificate message mitmproxy only generates its root certificate the first time mitmdump actually starts. Click Enable Capture, wait a few seconds, click Disable, then try Trust CA again.

certutil fails The error message from certutil is surfaced directly in the log window — check that output for the specific reason (e.g. permissions, corrupt cert file).

Notes

  • All traffic interception happens locally; nothing is sent anywhere besides your own machine's proxy.
  • The root certificate is trusted at the current user level only, not machine-wide.
  • The proxy and certificate trust only affect apps that respect the Windows system proxy setting (which Steam/RotMG do, matching the original Fiddler workflow).