read what the binary says about itself: names, signatures, prototypes; gen v2
All checks were successful
CI / lint (push) Successful in 17s
CI / fuzz (push) Successful in 1m52s
CI / test (push) Successful in 24s

This commit is contained in:
Kamal Tufekcic 2026-07-29 20:09:21 +03:00
commit c458b4cb50
34 changed files with 58363 additions and 192 deletions

View file

@ -52,6 +52,24 @@ The catalogues and dictionaries that give the derived offsets/signatures their n
[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),