# 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".

- **Valve build tracking** — [GameTracking-CS2](https://github.com/SteamDatabase/GameTracking-CS2),
  [GameTracking-Dota2](https://github.com/SteamDatabase/GameTracking-Dota2),
  [GameTracking-Deadlock](https://github.com/SteamDatabase/GameTracking-Deadlock),
  [GameTracking-CSGO](https://github.com/SteamDatabase/GameTracking-CSGO),
  [GameTracking-TF2](https://github.com/SteamDatabase/GameTracking-TF2),
  [GameTracking-HalfLifeAlyx](https://github.com/SteamDatabase/GameTracking-HalfLifeAlyx),
  [GameTracking](https://github.com/SteamDatabase/GameTracking),
  [Protobufs](https://github.com/SteamDatabase/Protobufs) — all by **SteamDatabase**: per-build tracking of
  Valve games and the protobuf definitions.
- **CS2 gamedata & offsets** — [CS2-Gamedata](https://github.com/roflmuffin/CS2-Gamedata) (roflmuffin, a
  primary catalogue seed), [cs2-dumper](https://github.com/a2x/cs2-dumper) (a2x),
  [s2u-gamedata](https://github.com/Wend4r/s2u-gamedata) / [s2d-schema](https://github.com/Wend4r/s2d-schema)
  (Wend4r), [cs2-universal-offsets](https://github.com/scros22/cs2-universal-offsets) (scros22),
  [CS2-OFFSETS](https://github.com/sezzyaep/CS2-OFFSETS) (sezzyaep),
  [cs2-offsets](https://github.com/superisuer/cs2-offsets) (superisuer),
  [IDA-GameDataTracker](https://github.com/K4ryuu/IDA-GameDataTracker) (K4ryuu).
- **CS2 signatures** — [cs2-signatures](https://github.com/ianlucas/cs2-signatures) (ianlucas),
  [cs2-signature-list](https://github.com/Salvatore-Als/cs2-signature-list) (Salvatore-Als),
  [CS2_VibeSignatures](https://github.com/HLND2T/CS2_VibeSignatures) (HLND2T),
  [Aspasia](https://github.com/Aspasia1337/Aspasia) (Aspasia1337),
  [cs2_things](https://github.com/GameChaos/cs2_things) (GameChaos),
  [cs2-lib](https://github.com/ianlucas/cs2-lib) (ianlucas).
- **CS:GO symbols/dumps** — [csgo-signatures](https://github.com/CrackerCat/csgo-signatures) (CrackerCat),
  [csgo-linux-dumper](https://github.com/foxadb/csgo-linux-dumper) (foxadb),
  [CSGO-Dumper](https://github.com/Y3t1y3t/CSGO-Dumper) (Y3t1y3t),
  [hazedumper](https://github.com/frk1/hazedumper) (frk1).
- **macOS symbol ground-truth** — [dota-2-symbols](https://github.com/a2x/dota-2-symbols) (a2x): symbolicated
  Dota builds that anchor cross-game name transfer.
- **Declared prototypes** (`mappings/prototypes.json`) — the parameter and return types committed with this
  repository are harvested from the macOS symbols above, from `SH_DECL_HOOK` declarations in open-source
  mods, and from [modsharp-public](https://github.com/Kxnrl/modsharp-public) (Kxnrl, AGPL-3.0-or-later),
  whose gamedata-keyed function-pointer typedefs are the source of most of the declared RETURN types. Only
  files ModSharp itself authored are mined; the ten marked "modified from alliedmodders/hl2sdk/tree/cs2"
  are denylisted. Also from [CS2Fixes](https://github.com/Source2ZE/CS2Fixes) (Source2ZE, GPL-3.0), whose
  detour block declares each hooked engine function as a real function-pointer type; those are joined to
  our names by BYTE PATTERN or by a label that already is one of our names, never by a bare method name.
  Its vendored `sdk/` (alliedmodders/hl2sdk) is quarantined like every other copy, and its
  `serversideclient.h` is excluded on provenance — it carries a `@Wend4r` annotation, i.e. it descends
  from a fork this project rejected, and every copy of that header across the ecosystem shares the lineage.
  Also from [cs2kz-metamod](https://github.com/KZGlobalTeam/cs2kz-metamod) (KZGlobalTeam, AGPL-3.0), whose
  detour block covers the movement surface no other source declares, and from
  [plugify-plugin-s2sdk](https://github.com/untrustedmodders/plugify-plugin-s2sdk) (untrustedmodders,
  GPL-3.0), whose `addresses` table and hook aliases are full function-pointer types and whose
  `CALL_VIRTUAL` sites contribute return types. Both are joined by the same two routes. plugify's
  `external/` is excluded entirely: two of its submodules are Wend4r forks, one of them the very
  sourcesdk tree rejected above, so only its own `src/` is ever read.
- **Dota / Deadlock gamedata** — [McDota](https://github.com/LWSS/McDota) (LWSS),
  [dota2dumped](https://github.com/ikhsanprasetyo/dota2dumped) & [Dota2Cheat](https://github.com/ikhsanprasetyo/Dota2Cheat)
  (ikhsanprasetyo), [D2VDump](https://github.com/ModDota/D2VDump) (ModDota),
  [d2fixups](https://github.com/psychonic/d2fixups) (psychonic),
  [Dota2Hack](https://github.com/or75/Dota2Hack) (or75),
  [dezlock-dump](https://github.com/dougwithseismic/dezlock-dump) (dougwithseismic),
  [Deadlock-GameSDK](https://github.com/aylers/Deadlock-GameSDK) (aylers),
  [deadworks](https://github.com/Deadworks-net/deadworks) (Deadworks-net),
  [deadunlock](https://github.com/hmate9/deadunlock) (hmate9),
  [Deadlock-Offset-Dumper](https://github.com/5k-omar/Deadlock-Offset-Dumper) (5k-omar),
  [deadlock-metadata](https://github.com/leamare/deadlock-metadata) (leamare),
  [cvar-unhide-s2-citadel](https://github.com/Artemon121/cvar-unhide-s2-citadel) (Artemon121).
- **Cross-game symbol/name dictionaries** (TF2 / L4D / Insurgency / GoldSrc — the harvest that lets names
  transfer across the shared Source lineage) —
  [sigsegv-mvm](https://github.com/sigsegv-mvm/sigsegv-mvm) & [mvm-reversed](https://github.com/sigsegv-mvm/mvm-reversed)
  & [libtf2mod](https://github.com/sigsegv-mvm/libtf2mod) (sigsegv-mvm) and the
  [rafradek fork](https://github.com/rafradek/sigsegv-mvm),
  [tf2-data](https://github.com/powerlord/tf2-data) (powerlord),
  [TF2-Base](https://github.com/NicknineTheEagle/TF2-Base) (NicknineTheEagle),
  [TF2Items](https://github.com/asherkin/TF2Items) (asherkin),
  [tf2attributes](https://github.com/FlaminSarge/tf2attributes) (FlaminSarge),
  [SM-TFUtils](https://github.com/nosoop/SM-TFUtils) / [SM-TFEconData](https://github.com/nosoop/SM-TFEconData)
  / [SM-TFAttributeSupport](https://github.com/nosoop/SM-TFAttributeSupport) (nosoop),
  [TF2Classic](https://github.com/danielmm8888/TF2Classic) (danielmm8888),
  [Left4DHooks](https://github.com/SilvDev/Left4DHooks) & [Various_Scripts_Collection](https://github.com/SilvDev/Various_Scripts_Collection)
  (SilvDev), [L4D1-2_Signatures](https://github.com/Psykotikism/L4D1-2_Signatures) (Psykotikism),
  [l4d2_structs](https://github.com/ProdigySim/l4d2_structs) (ProdigySim),
  [l4d2_direct](https://github.com/ConfoglTeam/l4d2_direct) (ConfoglTeam),
  [Left4Downtown2](https://github.com/Attano/Left4Downtown2) & [L4D2-Competitive-Framework](https://github.com/Attano/L4D2-Competitive-Framework)
  (Attano), [L4D1_2-Plugins](https://github.com/fbef0102/L4D1_2-Plugins) (fbef0102),
  [L4D2-Competitive-Rework](https://github.com/SirPlease/L4D2-Competitive-Rework) (SirPlease),
  [l4dtoolz](https://github.com/lakwsh/l4dtoolz) (lakwsh),
  [atomicstrykers-codedump](https://github.com/AtomicStryker/atomicstrykers-codedump) (AtomicStryker),
  [insurgency-sourcemod](https://github.com/jaredballou/insurgency-sourcemod) (jaredballou),
  [Insurgency-dy-sourcemod](https://github.com/thecannons/Insurgency-dy-sourcemod) (thecannons),
  [ReGameDLL_CS](https://github.com/rehlds/ReGameDLL_CS) (ReHLDS).

## Schema / RTTI extraction & SDK generation

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

- **SDK generators** — [source2gen](https://github.com/oxiKKK/source2gen) (oxiKKK, the surviving fork of
  neverlosecc/source2gen), [Source2Gen](https://github.com/praydog/Source2Gen) (praydog),
  [cs2-sdk](https://github.com/NotOfficer/cs2-sdk) (NotOfficer),
  [cs2-sdk](https://github.com/bruhmoment21/cs2-sdk) (bruhmoment21).
- **Schema / RTTI dumpers** — [Source2SchemaDumper](https://github.com/GAMMACASE/Source2SchemaDumper) &
  [PltPatcher](https://github.com/GAMMACASE/PltPatcher) (GAMMACASE),
  [CS2-SchemaDumper](https://github.com/sneakyevil/CS2-SchemaDumper) (sneakyevil),
  [Source2-Schema-System-Dumper-CE](https://github.com/dr-NHA/Source2-Schema-System-Dumper-CE) (dr-NHA),
  [Source2Dumps](https://github.com/anarh1st47/Source2Dumps) (anarh1st47),
  [source2-dumper](https://github.com/eliasmoflag/source2-dumper) (eliasmoflag),
  [DumpSource2](https://github.com/ValveResourceFormat/DumpSource2) &
  [ValveResourceFormat](https://github.com/ValveResourceFormat/ValveResourceFormat) (the VRF team).
- **Binary analysis / demo parsing** — [cs2-analyzer](https://github.com/a2x/cs2-analyzer) (a2x),
  [source2-demo](https://github.com/Rupas1k/source2-demo) (Rupas1k),
  [demofile-net](https://github.com/saul/demofile-net) (saul).

## Engine SDKs, headers & networking

- [hl2sdk](https://github.com/alliedmodders/hl2sdk) & [hl2sdk-manifests](https://github.com/alliedmodders/hl2sdk-manifests)
  (AlliedModders) — the Source engine SDK and its per-game manifests.
- [source-sdk-2013](https://github.com/ValveSoftware/source-sdk-2013) &
  [GameNetworkingSockets](https://github.com/ValveSoftware/GameNetworkingSockets) (Valve).
- [sourcesdk](https://github.com/Wend4r/sourcesdk) (Wend4r),
  [sourcesdk-gmod](https://github.com/RaphaelIT7/sourcesdk-gmod) (RaphaelIT7),
  [sbox-public](https://github.com/Facepunch/sbox-public) (Facepunch) — Source-2 headers via s&box.
- [Half-Life-Alyx-FGD](https://github.com/gvarados1/Half-Life-Alyx-FGD) (gvarados1) — Source-2 entity/FGD
  definitions.

## 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.

- [CounterStrikeSharp](https://github.com/roflmuffin/CounterStrikeSharp) (roflmuffin) — the C# CS2 framework
  and the gamedata format the default output targets.
- [metamod-source](https://github.com/alliedmodders/metamod-source) & [sourcemod](https://github.com/alliedmodders/sourcemod)
  (AlliedModders) — the Source mod loader + framework lineage (gamedata format, SourceHook).
- The **swiftly-solution** ecosystem — [swiftly](https://github.com/swiftly-solution/swiftly) &
  [swiftlys2](https://github.com/swiftly-solution/swiftlys2),
  [s2binlib](https://github.com/swiftly-solution/s2binlib),
  [gamedata-validator](https://github.com/swiftly-solution/gamedata-validator),
  [codegen](https://github.com/swiftly-solution/codegen) — Source-2 binary/gamedata handling and validation.
- [modsharp-public](https://github.com/Kxnrl/modsharp-public) (Kxnrl),
  [source2toolkit](https://github.com/SlynxCZ/source2toolkit) (SlynxCZ),
  [plugify-plugin-s2sdk](https://github.com/untrustedmodders/plugify-plugin-s2sdk) (untrustedmodders),
  [Source.Python](https://github.com/Source-Python-Dev-Team/Source.Python) (Source.Python team).
- CS2 server projects — [CS2Fixes](https://github.com/Source2ZE/CS2Fixes),
  [StripperCS2](https://github.com/Source2ZE/StripperCS2),
  [MultiAddonManager](https://github.com/Source2ZE/MultiAddonManager) (Source2ZE),
  [cs2kz-metamod](https://github.com/KZGlobalTeam/cs2kz-metamod) (KZGlobalTeam),
  [SourceCoop](https://github.com/ampreeT/SourceCoop) (ampreeT),
  [cs2-modded-server](https://github.com/kus/cs2-modded-server) (kus),
  [gmod-holylib](https://github.com/RaphaelIT7/gmod-holylib) (RaphaelIT7),
  [Osiris](https://github.com/danielkrupinski/Osiris) (danielkrupinski),
  [SourceAutoRecord](https://github.com/p2sr/SourceAutoRecord) & [wormhole](https://github.com/p2sr/wormhole) (p2sr).
- Host-capability references — [Ray-Trace](https://github.com/FUNPLAY-pro-CS2/Ray-Trace) (FUNPLAY-pro-CS2),
  [ResourcePrecacher](https://github.com/KillStr3aK/ResourcePrecacher) (KillStr3aK).

## Reverse-engineering tooling & techniques

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

- Signature generation — [ida-sigmaker](https://github.com/mahmoudimus/ida-sigmaker) (mahmoudimus),
  [sigmakerex](https://github.com/kweatherman/sigmakerex) (kweatherman).
- Binary diffing — [diaphora](https://github.com/joxeankoret/diaphora) (Joxean Koret).
- Vtable / symbol walking — [vtable](https://github.com/asherkin/vtable) (asherkin),
  [ghidra_scripts](https://github.com/nosoop/ghidra_scripts) (nosoop),
  [IDA-Scripts](https://github.com/Scags/IDA-Scripts) (Scags),
  [ida-cs2-reversing-tools](https://github.com/oxiKKK/ida-cs2-reversing-tools) (oxiKKK).
- References & indexes — [SourceEngineReverseEngineering](https://github.com/ReservedRegister/SourceEngineReverseEngineering)
  (ReservedRegister), [reverse-engineering-resources](https://github.com/srcdslab/reverse-engineering-resources)
  (srcdslab), [awesome-cs2](https://github.com/samyycX/awesome-cs2) (samyycX).

## 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](https://github.com/Cisco-Talos/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.*
