- Status
- Offline
- Joined
- Mar 3, 2026
- Messages
- 381
- Reaction score
- 7
Anyone digging into Arena Breakout lately has probably noticed the offsets shifted again. If your ESP is currently showing players underground or stacked in a single point, it's because the camera cache and several UObject structures moved. I've compiled a clean SDK reference for the current patch to save you some reversing time.
Technical Breakdown & Corrections
Most public dumps are failing because they are using outdated shifts. Here is what you need to fix:
Verified Offsets
GNames XOR Decryption Logic
ABI uses a specific XOR routine for names. If you don't decrypt the buffer, you'll never get the class names for loot or players.
Universal WorldToScreen (Hor+ Fix)
If you play on ultrawide or stretched resolutions, standard UE4 projection often fails. This implementation includes the aspect ratio correction for vertical projection.
Security & Implementation Notes
I haven't mapped out all the loot actor class names yet. If you run a dumper using the offsets above, feel free to share the strings so we can build a proper loot filter.
Anyone tested these offsets with a DMA fuser setup yet?
Technical Breakdown & Corrections
Most public dumps are failing because they are using outdated shifts. Here is what you need to fix:
- CameraCachePrivate: Shifted from 0x20E0 to 0x20F0. Incorrect values here will break your projection math.
- FNameID: Use 0x20 instead of 0x18, otherwise you'll get garbage strings from the pool.
- RelativeLocation: The offset is 0x16C in the current build.
Verified Offsets
Code:
// UAGame.exe base + offset
GWorld: 0xA36B8B8
GObjects: 0xA5C1E28
GNames: 0xA88C4C0
FNameXORKey: 0xA8444DC
UObjectFNameID: 0x20
// UWorld -> PersistentLevel
PersistentLevel: 0x30
OwningGameInstance: 0x180
GameState: 0x120
// ULevel -> ActorArray
ActorArray: 0x98
ActorCount: 0xA0
// APlayerController
CameraManager: 0x3B0
AcknowledgedPawn: 0x348
// ASGCharacter
DeathComponent: 0x1888
CurrentTotalValue: 0x1B5C
WeaponManager: 0x1880
GNames XOR Decryption Logic
ABI uses a specific XOR routine for names. If you don't decrypt the buffer, you'll never get the class names for loot or players.
Code:
void DecryptFName(char* buf, int len, uint8_t xor_key) {
uint8_t* p = reinterpret_cast<uint8_t*>(buf);
for (int i = 0; i < len; ++i) {
uint8_t dl = static_cast<uint8_t>(((xor_key >> 1) & 0x08) ^ xor_key);
uint8_t cl = static_cast<uint8_t>(dl ^ ((dl & 0x08) << 1));
uint8_t al = cl;
al &= 0x10;
al ^= 0xEF;
al >>= 1;
p[i] ^= al;
p[i] ^= cl;
}
}
Universal WorldToScreen (Hor+ Fix)
If you play on ultrawide or stretched resolutions, standard UE4 projection often fails. This implementation includes the aspect ratio correction for vertical projection.
Code:
// Hor+ scaling logic
float tanHFOV = tanf(fov * 0.5f * (M_PI / 180.0f));
screen.X = cx + (right / forward) * (cx / tanHFOV);
screen.Y = cy - (up / forward) * (cx / tanHFOV) * aspect;
Security & Implementation Notes
- Anti-Cheat: ABI is protected by ACE. Using raw ReadProcessMemory from user-mode will get you flagged almost instantly. You need a proper kernel bridge or a DMA setup to use these offsets safely.
- ASLR: The base address is rarely static. Use EnumProcessModules or a similar method to grab the module base at runtime.
- AcknowledgedPawn: This will be null while you are in the menu or loading screen. Always null-check before trying to read the actor's root component.
I haven't mapped out all the loot actor class names yet. If you run a dumper using the offsets above, feel free to share the strings so we can build a proper loot filter.
Anyone tested these offsets with a DMA fuser setup yet?