source2rosetta/ATTRIBUTIONS.md
Kamal Tufekcic c458b4cb50
All checks were successful
CI / lint (push) Successful in 17s
CI / fuzz (push) Successful in 1m52s
CI / test (push) Successful in 24s
read what the binary says about itself: names, signatures, prototypes; gen v2
2026-07-29 20:09:21 +03:00

16 KiB

Attributions

source2rosetta derives Source-2 gamedata — function signatures, vtable offsets, and the schema/RTTI surface — from stripped Valve libraries. It could not exist without the decade of reverse-engineering, tooling, and open documentation produced by the Counter-Strike / Source / Source-2 community. Much of the engine came in name-stripped; the names — the catalogues, symbol dictionaries, gamedata files, and SDK dumps that let the derived offsets and signatures be labelled meaningfully — came from the projects below. The initial seeds were foundational: they are why this tool has anything to say.

This document credits that prior work. Where a project supplied a specific ingredient (a catalogue, a symbol set, a technique, a format), the role is noted.

Provenance

source2rosetta and everything it ships are derived only from legitimately-public sources: open-source SDKs, Valve's own tracked game builds, community gamedata files, and published research. Leaked or otherwise proprietary game source was deliberately excluded from the corpus and the naming pipeline — a clean-room boundary kept so the tool and its outputs carry no tainted provenance. The derived facts themselves (fingerprints, offsets, signatures) contain no third-party bytes.


Game-data, symbol & offset reference corpora

The catalogues and dictionaries that give the derived offsets/signatures their names — the "seeds".

Schema / RTTI extraction & SDK generation

The projects that first mapped Source-2's schema system and RTTI, and generated typed SDKs from it.

Engine SDKs, headers & networking

Source-engine mod frameworks & runtime references

These defined the gamedata/format conventions source2rosetta emits into, the live-validation model, and the hooking/loader designs the companion loader work draws on.

Reverse-engineering tooling & techniques

The signature-making, diffing, and vtable-walking techniques source2rosetta's own passes are modelled on.

Binary function similarity research

source2rosetta identifies functions across builds by fingerprinting and nearest-history matching. That design draws on the binary-code-similarity literature.

  • Andrea Marcelli et al., "How Machine Learning Is Solving the Binary Function Similarity Problem", USENIX Security 2022 (Cisco Systems), and the accompanying dataset/code binary_function_similarity (Cisco-Talos).
  • Steven H. H. Ding, Benjamin C. M. Fung, Philippe Charland, "Asm2Vec: Boosting Static Representation Robustness for Binary Clone Search", IEEE S&P 2019.
  • Xiaojun Xu et al., "Neural Network-based Graph Embedding for Cross-Platform Binary Code Similarity Detection" (Gemini), CCS 2017 — via the "Genimi" re-implementation bundled under refs/papers/Gemini.
  • Alexander Hermans, Lucas Beyer, Bastian Leibe, "In Defense of the Triplet Loss for Person Re-Identification", 2017 — the metric-learning framing that was pressure-tested for the fingerprint match.
  • Also consulted for failure-detection framing: "SAFE: Multitask Failure Detection for Vision-Language-Action Models" (arXiv:2506.09937).

Knowledge from model training

The AI-assisted name-extrapolation pass — proposing names for functions no catalogue covers — relied on the general knowledge of the assisting model (Anthropic's Claude) about Source-2 / CS2 engine conventions, the Itanium C++ ABI, ELF, and Valve's naming patterns. That knowledge is itself distilled from publicly-available open-source code and documentation — in large part the very community projects credited above. Proposed names are always cross-checked against the derived RTTI/offsets, never trusted blind.


If your work is used here and is miscredited or missing, that is an oversight, not intent — corrections are welcome. This tool is a small addition on top of a large community's effort.