From aa895dcfe6779359d1995c6989936ea3e147cdba Mon Sep 17 00:00:00 2001 From: alex Date: Mon, 7 Sep 2026 12:31:56 -0400 Subject: [PATCH] init commit --- .gitignore | 12 ++++++++++++ README.md | 27 +++++++++++++++++++++++++++ findings/.keep.md | 1 + ghidra/.keep.md | 1 + notes/.keep.md | 1 + scripts/.keep.md | 1 + traces/.keep.md | 1 + 7 files changed, 44 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 findings/.keep.md create mode 100644 ghidra/.keep.md create mode 100644 notes/.keep.md create mode 100644 scripts/.keep.md create mode 100644 traces/.keep.md diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5bbb612 --- /dev/null +++ b/.gitignore @@ -0,0 +1,12 @@ +# never commit game binaries / copyrighted assets +*.exe +*.dll +*.pak +*.bin +samples/ +dumps/ +captures/ +# ghidra project internals (large, machine-local) +*.gpr +*.rep/ +*.lock diff --git a/README.md b/README.md new file mode 100644 index 0000000..87cfeb9 --- /dev/null +++ b/README.md @@ -0,0 +1,27 @@ +# sots-re + +Reverse-engineering worklog for **Sword of the Stars (2006, SOTS1)** — the 32-bit DX9 +original + expansions. The nitty-gritty: static/dynamic analysis notes, Ghidra & ReVa +scripts, function/struct maps, D3D9 call traces, decomp progress, findings. + +## Where this runs +Analysis lab on **spicy** (PVE, 192.168.3.201): +- **CT111 `sots-re`** — Linux workspace: Ghidra + headless ReVa server, radare2/rizin/cutter, + binwalk. Hosts the Samba share and this repo's working tree at `/srv/re-lab/notes`. +- **VM140 `sots-re-win10`** — Win10 runtime + dynamic analysis (x64dbg, Cheat Engine, + RenderDoc/apitrace, DXVK→CPU-Vulkan for GPU-less rendering). + +Infra (guests, storage, network, share, ReVa endpoint) is documented from the +system-maintainer POV in **trikilli** → `services/re-lab.md`. This repo is everything else. + +## Layout +- `findings/` — the running findings log (append-only), one file per subsystem. +- `ghidra/` — exported scripts, data-type archives, struct definitions. +- `traces/` — D3D9 / Win32 API call captures + analysis. +- `scripts/` — helper tooling (loaders, extractors, parsers). +- `notes/` — session notes, scratch, hypotheses. + +## Ownership / legality +Game binaries come from the owner's own GOG/Steam copy. RE is for personal +interoperability, bug-fixing, and preservation. Binaries themselves are **not** committed +here (see `.gitignore`) — they live on the lab's Samba share `/srv/re-lab/samples`. diff --git a/findings/.keep.md b/findings/.keep.md new file mode 100644 index 0000000..52f4496 --- /dev/null +++ b/findings/.keep.md @@ -0,0 +1 @@ +# findings/ — placeholder, populate as work lands diff --git a/ghidra/.keep.md b/ghidra/.keep.md new file mode 100644 index 0000000..56c0d60 --- /dev/null +++ b/ghidra/.keep.md @@ -0,0 +1 @@ +# ghidra/ — placeholder, populate as work lands diff --git a/notes/.keep.md b/notes/.keep.md new file mode 100644 index 0000000..6d73af8 --- /dev/null +++ b/notes/.keep.md @@ -0,0 +1 @@ +# notes/ — placeholder, populate as work lands diff --git a/scripts/.keep.md b/scripts/.keep.md new file mode 100644 index 0000000..eeb01c4 --- /dev/null +++ b/scripts/.keep.md @@ -0,0 +1 @@ +# scripts/ — placeholder, populate as work lands diff --git a/traces/.keep.md b/traces/.keep.md new file mode 100644 index 0000000..80ab4a3 --- /dev/null +++ b/traces/.keep.md @@ -0,0 +1 @@ +# traces/ — placeholder, populate as work lands