Guide Apex Offsets, Struct

DREDD

Administrator
Administrator
Administrator
Administrator
Status
Offline
Joined
Apr 18, 2019
Messages
202
Reaction score
319
Useful repositories:
https://github.com/DarthTon/Blackbone
https://github.com/zzz1grekord/YeniHile-AL-Hack



Code:
wrappers::target_pid = util::get_process_id("r5apex.exe");
        const auto base_address = wrappers::get_base_address();

        const auto entity_list = util::resolve_pattern(
            util::find_pattern("48 8D 0D ?? ?? ?? ?? 48 C1 E0 05 C1 EA ?? 44 8B 44 08 08", base_address, 0x3000000), 0x0, 0x3, 0x7);

        const auto plocal_entity_id = util::resolve_pattern(
            util::find_pattern("4C 8D 05 ?? ?? ?? ?? 33 FF 49 8B D0", base_address, 0x3000000), 0x0, 0x3, 0x7);

        const auto pviewrender = util::resolve_pattern(
            util::find_pattern("48 83 EC 28 48 8B 0D ?? ?? ?? ?? 48 8D 15 ?? ?? ?? ?? 48 8B 01 48 3B C2 75 ?? 8B 0D", base_address, 0x3000000), 0x4, 0x3, 0x7);
 

DREDD

Administrator
Administrator
Administrator
Administrator
Status
Offline
Joined
Apr 18, 2019
Messages
202
Reaction score
319
Code:
Vector3 GetVelocity(DWORD64 Entity)
{
    return Kernel_Read<Vector3>(Entity + 0x408);
}
 
float GetBulletSpeed()
{
    DWORD64 LocalEntity = GetLocalEntity();
    uint8_t LastWeapon = Kernel_Read<uint8_t>(LocalEntity + 0x163C) & 0xFFFF;
    float BulletSpeed = Kernel_Read<float>(LastWeapon + 0x1BBC);
    return BulletSpeed;
}
 
float GetDistance(Vector3 EntityPos, Vector3 PlayerPos)
{
    float Dist = sqrt((PlayerPos.x - EntityPos.x) * (PlayerPos.x - EntityPos.x)
        + (PlayerPos.y - EntityPos.y) * (PlayerPos.y - EntityPos.y)
        + (PlayerPos.z - EntityPos.z) * (PlayerPos.z - EntityPos.z));
    return Dist * 0.01905f;
}
Code:
Vector3 GetVelocity(DWORD64 Entity)
{
    return Kernel_Read<Vector3>(Entity + 0x120);
}

IVModelInfo class
Code:
CStudioHdr = 40 53 48 83 EC ? 48 83 B9 ? ? ? ? ? 48 8B D9 75 36

CStudioHdr->studiohdr_t-> (mstudiobone_t, mstudiohitboxset_t, mstudiobbox_t)

EntInf
Code:
typedef struct EntInf{
 
uint64_t pEntity;
int64_t x;
uint64_t c;
uint64_t v;
 
 
}
 
EntInf* pent; // buffer filled with entire entitys list
 
// loop entities
for (size_t i = 0; i < 0x10000; i++)
{
    if (!IsValid(pent[i].pEntity))continue;
    string typeName = ReadTypeName(pent[i].pEntity, "TYPE_NAME_NA");
 
 
    if (typeName == "player")
        printf("\t-Type-Name: %s\r\n", typeName.c_str());
 
}
 
// entitieslist offset
KREADADDR64(aImgBase + 0x1F9AE68, &entList);
 
 
string __fastcall ReadTypeName(__int64 entList, const char* unknow)
{
 
 
 
 
    char Name[MAX_PATH] = {};
    if (!IsValid(Address))return unknow;
 
    DWORD64 _c = 0;
    KREADADDR64(Address + 0x500, &_c);// offset to type name
    
    if (!IsValid(_c)) return unknow;
 
    KREADTEXT(_c, Name, MAX_PATH - 1);
 
    if (strlen(Name) == 0)return unknow;
 
    return string(Name);
}
 
Top