Developer knowledge network · moderated exchange

Супольнасць UnreliableCode

Супольнасць распрацоўшчыкаў даследаванняў, зваротнага праектавання і кадавання

Knowledge indexжыць
4Categories
919Threads
2.8KПаведамленні
Guide

Parsing Tool Cupboard building privilege authorization from BuildingPrivlidge class

unity_il2cpp_dan
IL2CPP Reverser
MEMBER
прадстаўнік: 46
Дата далучэння: Jun 2020
Паведамленні: 4
Дзякуй: 15
1 месяцаў таму · 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
прадстаўнік: 190
Дата далучэння: May 2022
Паведамленні: 5
Дзякуй: 48
1 месяцаў таму · 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
прадстаўнік: 215
Дата далучэння: Mar 2018
Паведамленні: 86
Дзякуй: 61
1 месяцаў таму · Jul 22, 2026 11:48 AM
#3

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