Open Source Rust Offsets

n
uintptr_t oLocalPlayer = 0xDB62848; // + 0x40
uintptr_t oBaseProjectile = 0xDBC5630; // + 0x40
uintptr_t oBaseNetworkable = 0xDB97EA8; // + 0x38
uintptr_t oEffectNetwork1 = 0xDB97B48; // + 0x8
uintptr_t oEffectNetwork2 = 0xDC60A50; // + 0x28
uintptr_t oMainCamera = 0xDB97A70; // + 0x98
uintptr_t oBaseViewModel = 0xDB8D058; // + 0xF0
uintptr_t oTOD_Sky = 0xDC550A8; // + 0x30
uintptr_t oPlayerEyes = 0xDBA0998;

uintptr_t Il2CppGetHandle = 0xDEDA540;
namespace BasePlayer
{
inline uintptr_t playerInput = 0x250; // PlayerInput
inline uintptr_t baseMovement = 0x268; // BaseMovement
inline uintptr_t playerModel = 0x288; // PlayerModel
inline uintptr_t encrypted_PlayerInventory = 0x2D8; // BasePlayer.%19a3979c3a6304d5bed0151290c8d1e212bc0093<PlayerInventory>
inline uintptr_t currentTeam = 0x3F8; // ulong
inline uintptr_t playerMetabolism = 0x508; // PlayerMetabolism
inline uintptr_t playerFlags = 0x538; // BasePlayer.PlayerFlags
inline uintptr_t encrypted_PlayerEyes = 0x600; // BasePlayer.%19a3979c3a6304d5bed0151290c8d1e212bc0093<PlayerEyes>
}

namespace PlayerEyesStatic
{
inline uintptr_t static_viewOffset = 0xCC; // Vector3
}
ney bu napcaz buni
 
uintptr_t oLocalPlayer = 0xDB62848; // + 0x40
uintptr_t oBaseProjectile = 0xDBC5630; // + 0x40
uintptr_t oBaseNetworkable = 0xDB97EA8; // + 0x38
uintptr_t oEffectNetwork1 = 0xDB97B48; // + 0x8
uintptr_t oEffectNetwork2 = 0xDC60A50; // + 0x28
uintptr_t oMainCamera = 0xDB97A70; // + 0x98
uintptr_t oBaseViewModel = 0xDB8D058; // + 0xF0
uintptr_t oTOD_Sky = 0xDC550A8; // + 0x30
uintptr_t oPlayerEyes = 0xDBA0998;

uintptr_t Il2CppGetHandle = 0xDEDA540;
namespace BasePlayer
{
inline uintptr_t playerInput = 0x250; // PlayerInput
inline uintptr_t baseMovement = 0x268; // BaseMovement
inline uintptr_t playerModel = 0x288; // PlayerModel
inline uintptr_t encrypted_PlayerInventory = 0x2D8; // BasePlayer.%19a3979c3a6304d5bed0151290c8d1e212bc0093<PlayerInventory>
inline uintptr_t currentTeam = 0x3F8; // ulong
inline uintptr_t playerMetabolism = 0x508; // PlayerMetabolism
inline uintptr_t playerFlags = 0x538; // BasePlayer.PlayerFlags
inline uintptr_t encrypted_PlayerEyes = 0x600; // BasePlayer.%19a3979c3a6304d5bed0151290c8d1e212bc0093<PlayerEyes>
}

namespace PlayerEyesStatic
{
inline uintptr_t static_viewOffset = 0xCC; // Vector3
}
güncellendi mi hocam?
 
// Base + BaseNetworkable] + 0xB8] + BaseNetworkable1] ~Decrypt1] + BaseNetworkable2] ~Decrypt2] + BaseNetworkable3
inline uint64_t Il2CppGetHandle = 0xBF341F0;
inline uint64_t BaseNetworkable = 0xBCC2E98;
inline uint64_t BaseNetworkable1 = 0x18;
inline uint64_t BaseNetworkable2 = 0x10;
inline uint64_t BaseNetworkable3 = 0x20;
inline uint64_t MainCamera = 0xBC19CF0; // 0x10
inline uint64_t MainCamera1 = 0x10;
inline uint64_t TOD_Sky = 0xBC5DBB8;
inline uint64_t SingletonComponent = 0xBC957C8;
inline uint64_t ConsoleSystem = 0xBC30C50;
inline uint64_t OcclusionCulling = 0xBC3E198;
inline uint64_t FacepunchInput = 0xBCE5FE8; // 0xC8;

// BasePlayer
inline uint64_t ClActiveItem = 0x458;
inline uint64_t PlayerEyes = 0x308;
inline uint64_t PlayerInventory = 0x300;
inline uint64_t CurrrentTeam = 0x428;
inline uint64_t BaseMovement = 0x4E0;
inline uint64_t PlayerModel = 0x570;
inline uint64_t PlayerFlags = 0x550;
inline uint64_t DisplayName = 0x5C0;
inline uint64_t PlayerInput = 0x2F0;

// PlayerModel
inline uint64_t SkinnedMultiMesh = 0x278;

// SkinnedMultiMesh
inline uint64_t RendererList = 0x50;

// PlayerInventory
inline uint64_t Belt = 0x38;
inline uint64_t Wear = 0x58;

// %6dd32b05be502454bd12e3f4c3b31f01ee3a1f7c (ItemContainer)
inline uint64_t ItemList = 0x28;

// %11483d265a58f107f1813155bd8d63d2b5b26d5f (Item)
inline uint64_t Health = 0x44;
inline uint64_t MaxHealth = 0xD8;
inline uint64_t Amount = 0x78;
inline uint64_t ItemDefinition = 0x28;
inline uint64_t HeldItem = 0xB0;
inline uint64_t ItemId = 0x50;

// BaseProjectile
inline uint64_t RecoilProperties = 0x340;
inline uint64_t PrimaryMagazine = 0x318;

// RecoilProperties
inline uint64_t NewRecoilOverride = 0x80;
inline uint64_t RecoilYawMin = 0x18;
inline uint64_t RecoilYawMax = 0x1C;
inline uint64_t RecoilPitchMin = 0x20;
inline uint64_t RecoilPitchMax = 0x24;

// HeldEntity
inline uint64_t ViewModel = 0x218;

// Input.Button
inline uint64_t IsDown = 0x38;
inline uint64_t Name = 0x18;
inline uint64_t Binds = 0x30;
inline uint64_t Code = 0x10
 
güncel offsetler yok mu ??
inline uint64_t Il2CppGetHandle = 0xBFC1EF0;
inline uint64_t BaseNetworkable = 0xBCAFD40;
inline uint64_t BaseNetworkable1 = 0x10;
inline uint64_t BaseNetworkable2 = 0x10;
inline uint64_t BaseNetworkable3 = 0x18;
inline uint64_t BasePlayer = 0xBD13378;
inline uint64_t PlayerList = 0x1F8;
inline uint64_t MainCamera = 0xBCAFE08;
inline uint64_t MainCamera1 = 0xD8;
inline uint64_t TOD_Sky = 0xBCCA1F0;
inline uint64_t SingletonComponent = 0xBCAFAA8;
inline uint64_t OcclusionCulling = 0xBD12E90;
inline uint64_t ConvarGraphics = 0xBD0F020;
inline uint64_t ConvarAdmin = 0xBD53378;
inline uint64_t ConsoleSystem = 0xBD0D9B8;
inline uint64_t FacepunchInput = 0xBCB72D8;
inline uint64_t ClActiveItem = 0x460;
inline uint64_t PlayerEyes = 0x298;
inline uint64_t PlayerInventory = 0x4E8;
inline uint64_t CurrrentTeam = 0x430;
inline uint64_t BaseMovement = 0x620;
inline uint64_t PlayerModel = 0x578;
inline uint64_t PlayerFlags = 0x558;
inline uint64_t DisplayName = 0x418;
inline uint64_t PlayerInput = 0x2F8;
inline uint64_t SkinnedMultiMesh = 0x2E0;
inline uint64_t RendererList = 0x40;
inline uint64_t Belt = 0x58;
inline uint64_t Wear = 0x30;
inline uint64_t ItemList = 0x18;
inline uint64_t Health = 0x80;
inline uint64_t MaxHealth = 0x88;
inline uint64_t Amount = 0x8C;
inline uint64_t ItemDefinition = 0x20;
inline uint64_t HeldItem = 0x10;
inline uint64_t ItemId = 0xB0;
inline uint64_t RecoilProperties = 0x340;
inline uint64_t PrimaryMagazine = 0x318;
inline uint64_t NewRecoilOverride = 0x80;
inline uint64_t RecoilYawMin = 0x18;
inline uint64_t RecoilYawMax = 0x1C;
inline uint64_t RecoilPitchMin = 0x20;
inline uint64_t RecoilPitchMax = 0x24;
inline uint64_t ViewModel = 0x218;
inline uint64_t IsDown = 0x38;
inline uint64_t Name = 0x30;
inline uint64_t Binds = 0x28;
inline uint64_t Code = 0x10;
inline uint64_t Fov = 0xC0;
inline uint64_t AdminTime = 0x150;
inline uint64_t PlayerPosition = 0x1D8;
inline uint64_t PlayerHealth = 0x80;
inline uint64_t LocalPlayer = 0xBD14248;
inline uint64_t StaticFields = 0xB8;
---------------------------------------------------------------------------------------

Decryption functions I’m using (based on May 4th — feel free to confirm):

#pragma once

#include <cstdint>
#include "../common/Memory.h"

inline uint64_t Il2cppGetHandle(uint64_t object) {
if (!memory) return 0;
return memory->Read<uint64_t>(object + 0x10);
}

inline uint64_t EncryptFov(float value) {
uint32_t eax = *(uint32_t*)&value;
eax ^= 0xB48A70C7;
eax -= 0x27503BEB;
eax ^= 0xFE1AA224;
return static_cast<uint64_t>(eax);
}

inline uint64_t EncryptAdminTime(float value) {
uint32_t eax = *(uint32_t*)&value;
eax ^= 0xB48A70C7;
eax -= 0x27503BEB;
eax ^= 0xFE1AA224;
return static_cast<uint64_t>(eax);
}

inline uint64_t BaseNetworkable1(uint64_t address) {
uint64_t rax = memory->Read<uint64_t>(address + 0x18);
uint64_t* rdx = &rax;
uint32_t eax, ecx;
for (int i = 0; i < 2; i++) {
eax = *(uint32_t*)(rdx);
rdx = (uint64_t*)((uint8_t*)rdx + 4);
eax += 0xB6EE337D;
ecx = eax;
eax <<= 0x11;
ecx >>= 0xF;
ecx |= eax;
ecx += 0xA42E9F47;
eax = ecx;
ecx <<= 0x1A;
eax >>= 0x6;
eax |= ecx;
*((uint32_t*)rdx - 1) = eax;
}
return Il2cppGetHandle(rax);
}

inline uint64_t BaseNetworkable2(uint64_t address) {
uint64_t rax = memory->Read<uint64_t>(address + 0x18);
uint64_t* rdx = &rax;
uint32_t eax, ecx;
for (int i = 0; i < 2; i++) {
ecx = *(uint32_t*)(rdx);
rdx = (uint64_t*)((uint8_t*)rdx + 4);
ecx += 0x3EC0407F;
ecx ^= 0x18A84A1B;
eax = ecx;
ecx <<= 0x4;
eax >>= 0x1C;
eax |= ecx;
*((uint32_t*)rdx - 1) = eax;
}
return Il2cppGetHandle(rax);
}

inline uint64_t PlayerInventory(uint64_t address) {
uint64_t rax = memory->Read<uint64_t>(address + 0x18);
uint64_t* rdx = &rax;
uint32_t eax, ecx;
for (int i = 0; i < 2; i++) {
eax = *(uint32_t*)(rdx);
rdx = (uint64_t*)((uint8_t*)rdx + 4);
eax += 0x6D4E8FF2;
ecx = eax;
eax <<= 0xC;
ecx >>= 0x14;
ecx |= eax;
ecx += 0x180EC596;
eax = ecx;
ecx <<= 0x7;
eax >>= 0x19;
eax |= ecx;
*((uint32_t*)rdx - 1) = eax;
}
return Il2cppGetHandle(rax);
}

inline uint64_t PlayerEyes(uint64_t address) {
uint64_t rax = memory->Read<uint64_t>(address + 0x18);
uint64_t* rcx = &rax;
uint32_t eax;
for (int i = 0; i < 2; i++) {
eax = *(uint32_t*)(rcx);
rcx = (uint64_t*)((uint8_t*)rcx + 4);
eax -= 0x752B7278;
eax ^= 0xACD4F911;
eax -= 0x7921E579;
eax ^= 0x851C0787;
*((uint32_t*)rcx - 1) = eax;
}
return Il2cppGetHandle(rax);
}

inline uint64_t ClActiveItem(uint64_t address) {
uint64_t rsp = address;
uint64_t* rdx = &rsp;
uint32_t eax, ecx;
for (int i = 0; i < 2; i++) {
ecx = *(uint32_t*)(rdx);
eax = *(uint32_t*)(rdx);
rdx = (uint64_t*)((uint8_t*)rdx + 4);
eax <<= 6;
ecx >>= 26;
ecx |= eax;
ecx += 0x66655EC1;
eax = ecx;
ecx <<= 5;
eax >>= 27;
eax |= ecx;
*((uint32_t*)rdx - 1) = eax;
}
return rsp;
}
 
inline uint64_t Il2CppGetHandle = 0xBFC1EF0;
inline uint64_t BaseNetworkable = 0xBCAFD40;
inline uint64_t BaseNetworkable1 = 0x10;
inline uint64_t BaseNetworkable2 = 0x10;
inline uint64_t BaseNetworkable3 = 0x18;
inline uint64_t BasePlayer = 0xBD13378;
inline uint64_t PlayerList = 0x1F8;
inline uint64_t MainCamera = 0xBCAFE08;
inline uint64_t MainCamera1 = 0xD8;
inline uint64_t TOD_Sky = 0xBCCA1F0;
inline uint64_t SingletonComponent = 0xBCAFAA8;
inline uint64_t OcclusionCulling = 0xBD12E90;
inline uint64_t ConvarGraphics = 0xBD0F020;
inline uint64_t ConvarAdmin = 0xBD53378;
inline uint64_t ConsoleSystem = 0xBD0D9B8;
inline uint64_t FacepunchInput = 0xBCB72D8;
inline uint64_t ClActiveItem = 0x460;
inline uint64_t PlayerEyes = 0x298;
inline uint64_t PlayerInventory = 0x4E8;
inline uint64_t CurrrentTeam = 0x430;
inline uint64_t BaseMovement = 0x620;
inline uint64_t PlayerModel = 0x578;
inline uint64_t PlayerFlags = 0x558;
inline uint64_t DisplayName = 0x418;
inline uint64_t PlayerInput = 0x2F8;
inline uint64_t SkinnedMultiMesh = 0x2E0;
inline uint64_t RendererList = 0x40;
inline uint64_t Belt = 0x58;
inline uint64_t Wear = 0x30;
inline uint64_t ItemList = 0x18;
inline uint64_t Health = 0x80;
inline uint64_t MaxHealth = 0x88;
inline uint64_t Amount = 0x8C;
inline uint64_t ItemDefinition = 0x20;
inline uint64_t HeldItem = 0x10;
inline uint64_t ItemId = 0xB0;
inline uint64_t RecoilProperties = 0x340;
inline uint64_t PrimaryMagazine = 0x318;
inline uint64_t NewRecoilOverride = 0x80;
inline uint64_t RecoilYawMin = 0x18;
inline uint64_t RecoilYawMax = 0x1C;
inline uint64_t RecoilPitchMin = 0x20;
inline uint64_t RecoilPitchMax = 0x24;
inline uint64_t ViewModel = 0x218;
inline uint64_t IsDown = 0x38;
inline uint64_t Name = 0x30;
inline uint64_t Binds = 0x28;
inline uint64_t Code = 0x10;
inline uint64_t Fov = 0xC0;
inline uint64_t AdminTime = 0x150;
inline uint64_t PlayerPosition = 0x1D8;
inline uint64_t PlayerHealth = 0x80;
inline uint64_t LocalPlayer = 0xBD14248;
inline uint64_t StaticFields = 0xB8;
---------------------------------------------------------------------------------------

Decryption functions I’m using (based on May 4th — feel free to confirm):

#pragma once

#include <cstdint>
#include "../common/Memory.h"

inline uint64_t Il2cppGetHandle(uint64_t object) {
if (!memory) return 0;
return memory->Read<uint64_t>(object + 0x10);
}

inline uint64_t EncryptFov(float value) {
uint32_t eax = *(uint32_t*)&value;
eax ^= 0xB48A70C7;
eax -= 0x27503BEB;
eax ^= 0xFE1AA224;
return static_cast<uint64_t>(eax);
}

inline uint64_t EncryptAdminTime(float value) {
uint32_t eax = *(uint32_t*)&value;
eax ^= 0xB48A70C7;
eax -= 0x27503BEB;
eax ^= 0xFE1AA224;
return static_cast<uint64_t>(eax);
}

inline uint64_t BaseNetworkable1(uint64_t address) {
uint64_t rax = memory->Read<uint64_t>(address + 0x18);
uint64_t* rdx = &rax;
uint32_t eax, ecx;
for (int i = 0; i < 2; i++) {
eax = *(uint32_t*)(rdx);
rdx = (uint64_t*)((uint8_t*)rdx + 4);
eax += 0xB6EE337D;
ecx = eax;
eax <<= 0x11;
ecx >>= 0xF;
ecx |= eax;
ecx += 0xA42E9F47;
eax = ecx;
ecx <<= 0x1A;
eax >>= 0x6;
eax |= ecx;
*((uint32_t*)rdx - 1) = eax;
}
return Il2cppGetHandle(rax);
}

inline uint64_t BaseNetworkable2(uint64_t address) {
uint64_t rax = memory->Read<uint64_t>(address + 0x18);
uint64_t* rdx = &rax;
uint32_t eax, ecx;
for (int i = 0; i < 2; i++) {
ecx = *(uint32_t*)(rdx);
rdx = (uint64_t*)((uint8_t*)rdx + 4);
ecx += 0x3EC0407F;
ecx ^= 0x18A84A1B;
eax = ecx;
ecx <<= 0x4;
eax >>= 0x1C;
eax |= ecx;
*((uint32_t*)rdx - 1) = eax;
}
return Il2cppGetHandle(rax);
}

inline uint64_t PlayerInventory(uint64_t address) {
uint64_t rax = memory->Read<uint64_t>(address + 0x18);
uint64_t* rdx = &rax;
uint32_t eax, ecx;
for (int i = 0; i < 2; i++) {
eax = *(uint32_t*)(rdx);
rdx = (uint64_t*)((uint8_t*)rdx + 4);
eax += 0x6D4E8FF2;
ecx = eax;
eax <<= 0xC;
ecx >>= 0x14;
ecx |= eax;
ecx += 0x180EC596;
eax = ecx;
ecx <<= 0x7;
eax >>= 0x19;
eax |= ecx;
*((uint32_t*)rdx - 1) = eax;
}
return Il2cppGetHandle(rax);
}

inline uint64_t PlayerEyes(uint64_t address) {
uint64_t rax = memory->Read<uint64_t>(address + 0x18);
uint64_t* rcx = &rax;
uint32_t eax;
for (int i = 0; i < 2; i++) {
eax = *(uint32_t*)(rcx);
rcx = (uint64_t*)((uint8_t*)rcx + 4);
eax -= 0x752B7278;
eax ^= 0xACD4F911;
eax -= 0x7921E579;
eax ^= 0x851C0787;
*((uint32_t*)rcx - 1) = eax;
}
return Il2cppGetHandle(rax);
}

inline uint64_t ClActiveItem(uint64_t address) {
uint64_t rsp = address;
uint64_t* rdx = &rsp;
uint32_t eax, ecx;
for (int i = 0; i < 2; i++) {
ecx = *(uint32_t*)(rdx);
eax = *(uint32_t*)(rdx);
rdx = (uint64_t*)((uint8_t*)rdx + 4);
eax <<= 6;
ecx >>= 26;
ecx |= eax;
ecx += 0x66655EC1;
eax = ecx;
ecx <<= 5;
eax >>= 27;
eax |= ecx;
*((uint32_t*)rdx - 1) = eax;
}
return rsp;
}
reis günceli lazım ya
 

Şuanda konuyu görüntüleyen kullanıcılar

Geri
Üst Alt