// the find
enXov/steam-leaderboards-finder
Discover Steam leaderboard names used by any game — hooks ISteamUserStats to intercept FindLeaderboard and FindOrCreateLeaderboard calls and logs results to a file
A tiny reverse-engineering tool that hooks a game's Steam API calls to log the exact leaderboard names it uses internally, since Steam's API requires an exact name string to get a leaderboard handle but provides no way to enumerate them. It's for people building their own leaderboard integrations (uploading/reading scores) against games that don't document their leaderboard names.
The core trick is genuinely clever: instead of racing a background thread to grab the ISteamUserStats pointer before the game calls FindLeaderboard, it hooks SteamInternal_FindOrCreateUserInterface itself, so the vtable swap happens before the game ever gets the interface — no race condition, no missed calls. It only needs public SDK headers for type definitions and links nothing, keeping the injected DLL minimal. The README's diagram of the hook sequence is clearer than most reverse-engineering writeups at explaining why the naive approach fails.
Zero stars, zero forks, and it leans on a separate dll-proxy repo for the actual injection mechanism, so you're pulling in someone else's DLL-proxy generation step just to use this. Discovery is manual and unverifiable — you have to play through every menu and mode yourself and hope you triggered every leaderboard lookup; there's no way to confirm you found them all. The vtable indices (21/22) are hard-coded against STEAMUSERSTATS_INTERFACE_VERSION013, so a Steamworks SDK bump that reorders the vtable silently breaks this with no detection. Despite 'linux' in the topics, it's an MSVC-only x64 build that runs on Linux exclusively through Wine DLL overrides — there's no native Linux hook path.