• v2.0.11 7632978bf3

    v2.0.11: fabricate ownership at the source — inject catalog into SteamInventoryManager.userItems
    Some checks failed
    Build DevourUnlocker / windows-cross (push) Failing after 8s
    Build DevourUnlocker / linux (push) Failing after 8s
    Build DevourUnlocker / standalone (push) Successful in 5s

    Ghost released this 2026-08-24 13:21:46 -04:00 | 4 commits to main since this release

    Trace proved pet/outfit UI never consults UserHasItem/HasPerk for lock display
    (0 HasPerk calls while browsing; buys no-op'd on 'already owned' guard) — display
    reads the raw userItems list field directly.

    fabricateOwnership(): resolves SteamInventoryManager.instance static, walks
    steamItems (List, itemID int @+0x10), and Lists every
    missing def id into userItems (List<SteamItemDef_t>).

    Critical fix: SteamItemDef_t is a 4-byte int enum even though
    il2cpp_class_array_element_size reports 8 — reading with 8-byte stride produced
    composite garbage ids so dedup never matched and values looked corrupt.
    All readers/writers now use 4-byte stride; add verified in-memory:
    add sent=1 stored_last=1 ... injected=59, game stable.

    Periodic refill every 15s x240 (game recreates the list on inventory refresh).
    Inspector keeps container summaries only (element deref removed after hang).
    GetCurrentTokens/HasRetrievedUserItems remain pass-through (spoofing broke
    credit purchases); UserHasItem/PlayerHasItem stay true as belt-and-braces.

    Downloads