This is a clean-room workspace for rebuilding extraction with strict separation of concerns.
- Keep legacy code untouched in
silver-and-blood-extractor/ - Build a new architecture in isolation
- Make structure easy to inspect in Cursor
engine/: modular Python backenddomain/: data contractsinfrastructure/: Unity and file IO adaptersapplication/: use-case orchestrationinterfaces/: CLI adapter
apps/desktop/: Electron + React desktop appelectron/: main-process modulessrc/: renderer components/hooks/api
docs/: architecture and workflow notes
- Install UnityPy in your Python environment:
pip install UnityPy- Run extraction from CLI:
python engine/run_cli.py extract-images --game-path "C:\Program Files (x86)\Silver And Blood"
python engine/run_cli.py capture-cdata --duration-seconds 120
python engine/run_cli.py capture-cdata --pid 505748 --duration-seconds 120If capture-cdata reports attach timeout/error, run the terminal (or desktop app launcher terminal) as Administrator when the game is elevated.
When duplicate/fake game processes exist, capture now auto-ranks candidates by highest memory first (with window/launcher-child as tie-breakers).
- Run desktop app:
cd apps/desktop
npm install
npm run dev- Implemented: Unity bundle image extraction with manifest output.
- Implemented: Frida live CData capture (
capture-cdata) using monitor probe. - Next: CData transformation/normalization pipeline and coverage analytics.