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.