Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

Вопрос Текущие сигнатуры и индексы для лв

Забаненный
Забаненный
Статус
Оффлайн
Регистрация
24 Фев 2022
Сообщения
277
Реакции
20
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Кто может дать из своего лв? Просто лень качать другой сурс и от туда пастить
 
cinput:


C++:
Expand Collapse Copy
#pragma once

#include "../misc/CUserCmd.hpp"

#define MULTIPLAYER_BACKUP 150

class bf_write;
class bf_read;

class CInput
{
public:
    std::byte            pad0[0xC];            // 0x0
    bool                bTrackIRAvailable;        // 0xC
    bool                bMouseInitialized;        // 0xD
    bool                bMouseActive;            // 0xE
    std::byte            pad1[0x9A];            // 0xF
    bool                bCameraInThirdPerson;    // 0xA9
    std::byte            pad2[0x2];            // 0xAA
    Vector                vecCameraOffset;        // 0xAC
    std::byte            pad3[0x38];            // 0xB8
    CUserCmd* m_pCommands;
    CVerifiedUserCmd* m_pVerifiedCommands;

    CUserCmd* CInput::GetUserCmd(const int sequence_number)
    {
        return &m_pCommands[sequence_number % MULTIPLAYER_BACKUP];
    }

    CVerifiedUserCmd* GetVerifiedUserCmd(const int sequence_number)
    {
        auto verifiedCommands = *(CVerifiedUserCmd**)(reinterpret_cast<uint32_t>(this) + 0xF4);
        return &verifiedCommands[sequence_number % MULTIPLAYER_BACKUP];
    }
};

memory.cpp


C++:
Expand Collapse Copy
// This is an independent project of an individual developer. Dear PVS-Studio, please check it.
// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: http://www.viva64.com

#include "Memory.h"
#include "..\utils\crypt_str.h"

template <typename T>
static constexpr auto relativeToAbsolute(int* address) noexcept
{
    return reinterpret_cast<T>(reinterpret_cast<char*>(address + 1) + *address);
}

#define FIND_PATTERN(type, ...) \
reinterpret_cast<type>(findPattern(__VA_ARGS__))

void Memory::initialize() noexcept
{
    auto temp = FIND_PATTERN(std::uintptr_t*, crypt_str("client"), crypt_str("\xB9????\xE8????\x8B\x5D\x08"), 1);
    hud = *temp;
    findHudElement = relativeToAbsolute<decltype(findHudElement)>(reinterpret_cast<int*>(reinterpret_cast<char*>(temp) + 5));
    clearHudWeapon = FIND_PATTERN(decltype(clearHudWeapon), crypt_str("client"), crypt_str("\x55\x8B\xEC\x51\x53\x56\x8B\x75\x08\x8B\xD9\x57\x6B\xFE\x2C"));
    itemSchema = relativeToAbsolute<decltype(itemSchema)>(FIND_PATTERN(int*, crypt_str("client"), crypt_str("\xE8????\x0F\xB7\x0F"), 1));
    equipWearable = FIND_PATTERN(decltype(equipWearable), crypt_str("client"), crypt_str("\x55\x8B\xEC\x83\xEC\x10\x53\x8B\x5D\x08\x57\x8B\xF9"));
}

clientstate:

[CODE=cpp]#pragma once #include <cstdint> #include "..\math\Vector.hpp" #include "..\misc\bf_write.h" #define GenDefineVFunc(...) ( this, __VA_ARGS__ ); } #define VFUNC( index, func, sig ) auto func { return call_virtual< sig >( this, index ) GenDefineVFunc class CClockDriftMgr { public: float m_ClockOffsets[ 17 ]; //0x0000 uint32_t m_iCurClockOffset; //0x0044 uint32_t m_nServerTick; //0x0048 uint32_t m_nClientTick; //0x004C }; class INetChannel { public: char pad_0x0000[ 0x18 ]; //0x0000 __int32 m_nOutSequenceNr; //0x0018 __int32 m_nInSequenceNr; //0x001C __int32 m_nOutSequenceNrAck; //0x0020 __int32 m_nOutReliableState; //0x0024 __int32 m_nInReliableState; //0x0028 __int32 m_nChokedPackets; //0x002C void Transmit(bool onlyreliable) { using Fn = bool(__thiscall*)(void*, bool); call_virtual<Fn>(this, 49)(this, onlyreliable); } void send_datagram() { using Fn = int(__thiscall*)(void*, void*); call_virtual<Fn>(this, 46)(this, 0); } void SetTimeOut(float seconds) { using Fn = void(__thiscall*)(void*, float); return call_virtual<Fn>(this, 4)(this, seconds); } int RequestFile(const char* filename) { using Fn = int(__thiscall*)(void*, const char*); return call_virtual<Fn>(this, 62)(this, filename); } }; class INetMessage { public: virtual ~INetMessage() {}; // Use these to setup who can hear whose voice. // Pass in client indices (which are their ent indices - 1). virtual void SetNetChannel(INetChannel * netchan) = 0; // netchannel this message is from/for virtual void SetReliable(bool state) = 0; // set to true if it's a reliable message virtual bool Process(void) = 0; // calles the recently set handler to process this message virtual bool ReadFromBuffer(bf_read &buffer) = 0; // returns true if parsing was OK virtual bool WriteToBuffer(bf_write &buffer) = 0; // returns true if writing was OK virtual bool IsReliable(void) const = 0; // true, if message needs reliable handling virtual int GetType(void) const = 0; // returns module specific header tag eg svc_serverinfo virtual int GetGroup(void) const = 0; // returns net message group of this message virtual const char *GetName(void) const = 0; // returns network message name, eg "svc_serverinfo" virtual INetChannel *GetNetChannel(void) const = 0; virtual const char *ToString(void) const = 0; // returns a human readable string about message content }; class CClientState { public: std::byte pad0[0x9C]; //0x0000 INetChannel* pNetChannel; //0x009C int iChallengeNr; //0x00A0 std::byte pad1[0x64]; //0x00A4 int iSignonState; //0x0108 std::byte pad2[0x8]; //0x010C float flNextCmdTime; //0x0114 int iServerCount; //0x0118 int iCurrentSequence; //0x011C char _0x0120[4]; __int32 m_iClockDriftMgr; //0x0124 char _0x0128[68]; __int32 m_iServerTick; //0x016C __int32 m_iClientTick; //0x0170 int iDeltaTick; //0x0174 bool bPaused; //0x0178 std::byte pad4[0x7]; //0x0179 int iViewEntity; //0x0180 int iPlayerSlot; //0x0184 char szLevelName[260]; //0x0188 char szLevelNameShort[80]; //0x028C char szGroupName[80]; //0x02DC std::byte pad5[0x5C]; //0x032C int iMaxClients; //0x0388 std::byte pad6[0x4984]; //0x038C float flLastServerTickTime; //0x4D10 bool bInSimulation; //0x4D14 std::byte pad7[0xB]; //0x4D15 int iOldTickcount; //0x4D18 float flTickRemainder; //0x4D1C float flFrameTime; //0x4D20 int nLastOutgoingCommand; //0x4D38 int iChokedCommands; //0x4D30 int nLastCommandAck; //0x4D2C int iCommandAck; //0x4D30 int iSoundSequence; //0x4D34 std::byte pad8[0x50]; //0x4D38 Vector angViewPoint; //0x4D88 std::byte pad9[0xD0]; //0x4D9A }; [/CODE]
 
cinput:


C++:
Expand Collapse Copy
#pragma once

#include "../misc/CUserCmd.hpp"

#define MULTIPLAYER_BACKUP 150

class bf_write;
class bf_read;

class CInput
{
public:
    std::byte            pad0[0xC];            // 0x0
    bool                bTrackIRAvailable;        // 0xC
    bool                bMouseInitialized;        // 0xD
    bool                bMouseActive;            // 0xE
    std::byte            pad1[0x9A];            // 0xF
    bool                bCameraInThirdPerson;    // 0xA9
    std::byte            pad2[0x2];            // 0xAA
    Vector                vecCameraOffset;        // 0xAC
    std::byte            pad3[0x38];            // 0xB8
    CUserCmd* m_pCommands;
    CVerifiedUserCmd* m_pVerifiedCommands;

    CUserCmd* CInput::GetUserCmd(const int sequence_number)
    {
        return &m_pCommands[sequence_number % MULTIPLAYER_BACKUP];
    }

    CVerifiedUserCmd* GetVerifiedUserCmd(const int sequence_number)
    {
        auto verifiedCommands = *(CVerifiedUserCmd**)(reinterpret_cast<uint32_t>(this) + 0xF4);
        return &verifiedCommands[sequence_number % MULTIPLAYER_BACKUP];
    }
};

memory.cpp


C++:
Expand Collapse Copy
// This is an independent project of an individual developer. Dear PVS-Studio, please check it.
// PVS-Studio Static Code Analyzer for C, C++, C#, and Java: http://www.viva64.com

#include "Memory.h"
#include "..\utils\crypt_str.h"

template <typename T>
static constexpr auto relativeToAbsolute(int* address) noexcept
{
    return reinterpret_cast<T>(reinterpret_cast<char*>(address + 1) + *address);
}

#define FIND_PATTERN(type, ...) \
reinterpret_cast<type>(findPattern(__VA_ARGS__))

void Memory::initialize() noexcept
{
    auto temp = FIND_PATTERN(std::uintptr_t*, crypt_str("client"), crypt_str("\xB9????\xE8????\x8B\x5D\x08"), 1);
    hud = *temp;
    findHudElement = relativeToAbsolute<decltype(findHudElement)>(reinterpret_cast<int*>(reinterpret_cast<char*>(temp) + 5));
    clearHudWeapon = FIND_PATTERN(decltype(clearHudWeapon), crypt_str("client"), crypt_str("\x55\x8B\xEC\x51\x53\x56\x8B\x75\x08\x8B\xD9\x57\x6B\xFE\x2C"));
    itemSchema = relativeToAbsolute<decltype(itemSchema)>(FIND_PATTERN(int*, crypt_str("client"), crypt_str("\xE8????\x0F\xB7\x0F"), 1));
    equipWearable = FIND_PATTERN(decltype(equipWearable), crypt_str("client"), crypt_str("\x55\x8B\xEC\x83\xEC\x10\x53\x8B\x5D\x08\x57\x8B\xF9"));
}

clientstate:

[CODE=cpp]#pragma once #include <cstdint> #include "..\math\Vector.hpp" #include "..\misc\bf_write.h" #define GenDefineVFunc(...) ( this, __VA_ARGS__ ); } #define VFUNC( index, func, sig ) auto func { return call_virtual< sig >( this, index ) GenDefineVFunc class CClockDriftMgr { public: float m_ClockOffsets[ 17 ]; //0x0000 uint32_t m_iCurClockOffset; //0x0044 uint32_t m_nServerTick; //0x0048 uint32_t m_nClientTick; //0x004C }; class INetChannel { public: char pad_0x0000[ 0x18 ]; //0x0000 __int32 m_nOutSequenceNr; //0x0018 __int32 m_nInSequenceNr; //0x001C __int32 m_nOutSequenceNrAck; //0x0020 __int32 m_nOutReliableState; //0x0024 __int32 m_nInReliableState; //0x0028 __int32 m_nChokedPackets; //0x002C void Transmit(bool onlyreliable) { using Fn = bool(__thiscall*)(void*, bool); call_virtual<Fn>(this, 49)(this, onlyreliable); } void send_datagram() { using Fn = int(__thiscall*)(void*, void*); call_virtual<Fn>(this, 46)(this, 0); } void SetTimeOut(float seconds) { using Fn = void(__thiscall*)(void*, float); return call_virtual<Fn>(this, 4)(this, seconds); } int RequestFile(const char* filename) { using Fn = int(__thiscall*)(void*, const char*); return call_virtual<Fn>(this, 62)(this, filename); } }; class INetMessage { public: virtual ~INetMessage() {}; // Use these to setup who can hear whose voice. // Pass in client indices (which are their ent indices - 1). virtual void SetNetChannel(INetChannel * netchan) = 0; // netchannel this message is from/for virtual void SetReliable(bool state) = 0; // set to true if it's a reliable message virtual bool Process(void) = 0; // calles the recently set handler to process this message virtual bool ReadFromBuffer(bf_read &buffer) = 0; // returns true if parsing was OK virtual bool WriteToBuffer(bf_write &buffer) = 0; // returns true if writing was OK virtual bool IsReliable(void) const = 0; // true, if message needs reliable handling virtual int GetType(void) const = 0; // returns module specific header tag eg svc_serverinfo virtual int GetGroup(void) const = 0; // returns net message group of this message virtual const char *GetName(void) const = 0; // returns network message name, eg "svc_serverinfo" virtual INetChannel *GetNetChannel(void) const = 0; virtual const char *ToString(void) const = 0; // returns a human readable string about message content }; class CClientState { public: std::byte pad0[0x9C]; //0x0000 INetChannel* pNetChannel; //0x009C int iChallengeNr; //0x00A0 std::byte pad1[0x64]; //0x00A4 int iSignonState; //0x0108 std::byte pad2[0x8]; //0x010C float flNextCmdTime; //0x0114 int iServerCount; //0x0118 int iCurrentSequence; //0x011C char _0x0120[4]; __int32 m_iClockDriftMgr; //0x0124 char _0x0128[68]; __int32 m_iServerTick; //0x016C __int32 m_iClientTick; //0x0170 int iDeltaTick; //0x0174 bool bPaused; //0x0178 std::byte pad4[0x7]; //0x0179 int iViewEntity; //0x0180 int iPlayerSlot; //0x0184 char szLevelName[260]; //0x0188 char szLevelNameShort[80]; //0x028C char szGroupName[80]; //0x02DC std::byte pad5[0x5C]; //0x032C int iMaxClients; //0x0388 std::byte pad6[0x4984]; //0x038C float flLastServerTickTime; //0x4D10 bool bInSimulation; //0x4D14 std::byte pad7[0xB]; //0x4D15 int iOldTickcount; //0x4D18 float flTickRemainder; //0x4D1C float flFrameTime; //0x4D20 int nLastOutgoingCommand; //0x4D38 int iChokedCommands; //0x4D30 int nLastCommandAck; //0x4D2C int iCommandAck; //0x4D30 int iSoundSequence; //0x4D34 std::byte pad8[0x50]; //0x4D38 Vector angViewPoint; //0x4D88 std::byte pad9[0xD0]; //0x4D9A }; [/CODE]
ты эту хуйню нормально вставь
 
Назад
Сверху Снизу