#pragma once
#include <basetsd.h>
inline ULONG64 offset_ClassXor1 = 0x2C5E9F8F64F10149i64;
inline ULONG64 offset_ClassXor2 = 0x6CDD8407330894C2i64;
inline ULONG64 offset_OuterXor1 = 0x32DB028C6CC38962i64;
inline ULONG64 offset_OuterXor2 = 0x627DE90DD065FA80i64;
enum GameOffset
{
offset_ChunkSize = 0x04014,
offset_SpoolBack = 0x1003BE3,//4881c420010000415f415e5f5e5dc3
offset_XeDecryption = 0x1183EE28,
offset_NameIndexXor1 = 0x6004E3F4,
offset_NameIsROR = 1,
offset_NameIndexOne =8,
offset_NameIndexTwo = 0x10,
offset_NameIndexXor2 = 0xF083BDBD,
offset_DecryptNameNumberOne = 0x4D3EBDBD,
offset_DecryptNameNumberTwo = 0x83F0E3F4,
offset_valueOne = 0,
offset_valueTwo = 0x10,
offset_valueROR =1,
offset_DecryptInternalIndexOne = 0xDFD510C0,
offset_DecryptInternalIndexTwo = 0x53D69F88,
offset_IndexOne = 9,
offset_IndexTwo = 0x10,
offset_IndexROR = 0x1,
offset_ClassOne = 23,
offset_ClassTwo = 0x20,
offset_ClassIsROR = 1,
offset_OuterOne = 3,
offset_OuterTwo = 0x20,
offset_OuterIsROR = 0,
};
#pragma once
#include <functional>
#include <windows.h>
struct Offsets
{
struct
{
uint16_t HeaderSize = 0x10;
}FNameEntry;
struct
{
uint16_t Index = 0x18;
uint16_t Class = 0x20;
uint16_t Name = 0x8;
uint16_t Outer = 0x10;
}UObject;
struct
{
uint16_t Next = 0x28;
}UField;
struct
{
uint16_t SuperStruct = 0xb0;
uint16_t Children = 0xa8;
uint16_t PropertiesSize = 0xb8;
}UStruct;
struct
{
uint16_t Names = 0x40;
}UEnum;
struct
{
uint16_t FunctionFlags = 0x118;
uint16_t Func = 0xe8;
}UFunction;
struct
{
uint16_t ArrayDim = 0x30;
uint16_t ElementSize = 0x34;
uint16_t PropertyFlags = 0x3c;
// uint16_t Offset = 0x50;
uint16_t Size = 0x78;
}UProperty;
};
extern Offsets defs;
bool EngineInit(ULONG64 hModule, DWORD size);