8 Commits
Author SHA1 Message Date
SalastilandClaude Opus 5.5 1387ed92fb Decompile reaper and gameoverlayui stubs; pin Proton sources for reference
reaper (the game process subreaper) and the gameoverlayui launchers were
missed by the original >8 KB inventory. Proton 9.0-4f and Experimental
11.0-20261001 are pinned for how Steam launches Windows games and for
lsteamclient's Steamworks headers (88 SDK versions).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-12 16:24:29 -04:00
SalastilandClaude Opus 5.5 d3222bdfc5 Decompile the 32-bit NVIDIA libCg.so builds (proprietary, no public source)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-12 09:26:39 -04:00
SalastilandClaude Opus 5.5 5e2fd8dab8 Use original source code instead of decompiling open-source binaries
Pin the exact source of every open-source binary Steam ships:
- 6766 runtime binaries (verified by SHA-256 against their .debs) map to
  755 exact Debian/Valve source packages, plus steam-runtime-tools tags
- Valve-built bundled libraries map to upstream tags identified from version
  strings: FFmpeg 8.1.2 / 4.3.4, SDL 3.4.0, SDL_image 3.2.0, SDL_ttf 3.1.0,
  libvpx v1.10.0-78-g338013712, libaom 3.6.1, libvorbis 1.3.7, libavif 1.0.3/1.0.4
- Inferred (kept decompiled as well): dav1d 1.0.0, and ANGLE / SwiftShader /
  Vulkan-ValidationLayers / CEF via Chromium 126.0.6478.183 DEPS

SOURCES.tsv and BINARY_SOURCES.tsv record versions and evidence;
tools/sources.py fetches them into the gitignored sources/ tree.
Decompiled output for exactly-pinned binaries is removed; the proprietary
NVIDIA Cg toolkit binaries stay decompiled.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-12 09:11:58 -04:00
SalastilandClaude Opus 5.5 31c50e4cc0 Verify all Steam runtime binaries against published packages
tools/verify_runtime.py reads each runtime's package manifest, downloads the
listed packages from repo.steampowered.com (and Debian/Ubuntu fallbacks), plus
pressure-vessel releases and archived scout images, and matches every runtime
ELF by SHA-256. All 6766 unique binaries (16813 incl. duplicates) match exactly;
decomp/runtime/PROVENANCE.tsv records the package, version and URL for each.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-12 08:50:49 -04:00
SalastilandClaude Opus 5.5 4598456978 Decompile Steam runtimes (binaries under 20 MB)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-12 04:05:11 -04:00
SalastilandClaude Opus 5.5 733669678a Decompile remaining Steam client binaries (steamui, steamservice, steamrt32/64 clients, Windows DLLs, bundled libraries)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 23:04:36 -04:00
SalastilandClaude Opus 5.5 32a19883d5 Decompile libsteam.so and linux32 steamclient.so; add batch decompile runner
linux32/steamclient.so is the 32-bit build games load via ~/.steam/sdk32.
tools/decompile_batch.sh batches many binaries per Ghidra JVM for the Steam
runtimes, mirroring their paths under decomp/runtime/.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 14:53:02 -04:00
SalastilandClaude Opus 5.5 3b4786ff4d Decompile Steam client (stage 1)
Ghidra 12.1.2 headless decompilation of Steam client version 1788652215:
- decomp/linux64_steamclient.so, ubuntu12_32_steamclient.so, ubuntu12_32_steam:
  per-class pseudo-C (RTTI class recovery + Class::Method string naming),
  functions.tsv and strings.tsv
- decomp/protos: 107 .proto files and descriptors.pb extracted from steamclient.so
- decomp/steamui: prettified Library UI JS; steamclient_js_api.txt lists the
  SteamClient.* backend API it calls
- tools/: decompile/recover/export scripts and proto extractor

GCC exception-handler analysis is disabled: it truncated ~47% of function
bodies on these binaries.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-11 10:16:11 -04:00