Quick reference for terms used throughout this guide. Page references indicate the primary location where each term is explained.
13.1 A
AActor
Base class for all objects that can be placed in a level. Size: 912 bytes. See Appendix A.
AES-256-ECB
Advanced Encryption Standard with 256-bit key in Electronic Codebook mode. Used by BL4 for save file encryption. See Chapter 4.
ASLR
Address Space Layout Randomization. Security feature that randomizes memory addresses on each launch. See Chapter 3.
AOakCharacter
BL4’s main player/enemy character class. Size: 38,800 bytes. Contains health, damage, and weapon state. See Appendix A.
13.2 B
Base85
Number encoding using 85 printable ASCII characters. BL4 uses a custom alphabet for item serials. See Chapter 5.
Big-Endian
Byte order where most significant byte comes first. Used in Base85 decoding. See Chapter 1.
Bit Mirroring
Reversing the bit order within each byte (e.g., 0b10000111 → 0b11100001). Part of serial decoding. See Chapter 5.
Bitstream
Sequence of bits read without byte alignment. Used in item serial encoding. See Chapter 5.
13.3 C
CDO
Class Default Object. UE’s template object containing default property values. See Chapter 2.
ClassPrivate
UObject field at offset 0x10 pointing to the object’s UClass. See Chapter 2.
Comparison Index
The 32-bit index portion of an FName, used to look up strings in GNames. See Chapter 2.
13.4 D
DataTable
UE asset type for tabular data. Contains rows of structured data. See Chapter 6.
Dedicated Drop
Loot that only drops from specific enemies. See Appendix C.
13.5 E
ECB
Electronic Codebook. Block cipher mode where identical plaintext blocks produce identical ciphertext. See Chapter 4.
13.6 F
FField
UE5’s property descriptor base class. Replaces UProperty from UE4. See Appendix A.
FName
Unreal’s string identifier. 8 bytes containing index and instance number. See Chapter 2.
FNV-1a
Fowler-Noll-Vo hash function (variant 1a). Used by NCS format for field name lookups. 64-bit version with offset basis 0xcbf29ce484222325 and prime 0x100000001b3. See Appendix D.
FNamePool
Global string pool containing all FName strings. Also called GNames. See Chapter 2.
FProperty
UE5 property descriptor. Contains offset, size, and type information. See Appendix A.
FString
Unreal’s dynamic string type. 16 bytes containing pointer, count, and capacity. See Appendix A.
FTransform
96-byte structure containing rotation (FQuat), translation (FVector), and scale. See Appendix A.
FVector
24-byte 3D vector using doubles (not floats like UE4). See Appendix A.
13.7 G
gBx
Magic header for NCS files (0x67 0x42 0x78). Followed by variant byte and Oodle-compressed payload. See Appendix D.
GNames
Global FName string pool. Located at offset 0x112a1c80 from PE base. See Chapter 2.
GUObjectArray
Global array containing all UObjects. Located at offset 0x113878f0. See Chapter 2.
GWorld
Pointer to current UWorld. Located at offset 0x11532cb8. See Appendix A.
13.8 H
Heap
Memory region for dynamic allocations. Valid range: 0x10000-0x800000000000. See Chapter 3.
Hexadecimal
Base-16 number system using 0-9 and A-F. See Chapter 1.
13.9 I
InternalIndex
UObject field at offset 0x0C containing position in GUObjectArray. See Chapter 2.
IoStore
UE5’s container format using .utoc (table of contents) and .ucas (data) files. See Chapter 6.
Item Pool
Definition of possible loot drops. See Appendix C.
Item Serial
Base85-encoded string representing an item’s full configuration. See Chapter 5.
13.10 L
Little-Endian
Byte order where least significant byte comes first. Used by x86/x64 and save files. See Chapter 1.
Luck
Game system that modifies loot rarity chances. See Appendix C.
13.11 M
Magic Header
Fixed bit pattern at start of data. Item serials use 0010000 (7 bits). See Chapter 5.
MDMP
Windows minidump format. Used for memory dump files. See Chapter 3.
13.12 N
NCS (Nexus Config Store)
Gearbox’s format for storing item pools, part data, and game configuration. Uses gBx header with Oodle compression. Contains data not found in standard PAK assets. See Appendix D.
NamePrivate
UObject field at offset 0x18 containing the object’s FName. See Chapter 2.
Nibble
Half a byte (4 bits). Used in VarInt encoding. See Chapter 5.
13.13 O
ObjectFlags
UObject field at offset 0x08 containing RF_* state flags. See Chapter 2.
Oodle
Compression algorithm used in UE5 IoStore containers and NCS files. BL4 uses version 9 (oo2core_9_win64.dll). See Chapter 6 and Appendix D.
OuterPrivate
UObject field at offset 0x20 pointing to parent/container object. See Chapter 2.