Developer knowledge network ยท moderated exchange

Onbetrouwbare Code-gemeenschap

Ontwikkelaarsonderzoek, reverse engineering en coderingsgemeenschap

Knowledge indexLive
4Categories
919Threads
2.8KBerichten
Guide

Parsing Tool Cupboard building privilege authorization from BuildingPrivlidge class

unity_il2cpp_dan
IL2CPP Reverser
MEMBER
Vertegenwoordiger: 46
Datum van deelname: Jun 2020
Berichten: 4
Bedankt: 15
1 maanden geleden ยท Jul 21, 2026 4:34 PM
#1

To check if your local player is authorized on a Tool Cupboard (TC) or detect enemy player IDs authorized on nearby bases:

  1. Locate BuildingPrivlidge entity in entity list.
  2. Read authorizedPlayers list (List<PlayerNameID> at offset 0x2A8).
  3. Iterate the authorized SteamID64 array.
CPP
int authCount = Read<int>(authList + 0x18);
uintptr_t itemsArray = Read<uintptr_t>(authList + 0x10);
for (int i = 0; i < authCount; i++) {
    uint64_t steamId = Read<uint64_t>(itemsArray + 0x20 + (i * 0x18));
    std::string playerName = ReadUnicodeString(Read<uintptr_t>(itemsArray + 0x28 + (i * 0x18)));
    printf("[TC AUTH]: %s (%llu)\n", playerName.c_str(), steamId);
}
rust_recoil_king
Member
MEMBER
Vertegenwoordiger: 190
Datum van deelname: May 2022
Berichten: 5
Bedankt: 48
1 maanden geleden ยท Jul 21, 2026 7:44 PM
#2

Useful for base raiding to see who lives in a base and check if they are currently online.

vtable_slayer
Senior Reverser
MEMBER
Vertegenwoordiger: 215
Datum van deelname: Mar 2018
Berichten: 86
Bedankt: 61
1 maanden geleden ยท Jul 22, 2026 11:48 AM
#3

Confirmed working. List structure is standard .NET List<T> layout.