Исходник MovementCore

Забаненный
Статус
Оффлайн
Регистрация
16 Фев 2021
Сообщения
45
Реакции[?]
40
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Привет всем кто это читает.

Все адреса обновлены под DirectX 11, от 22.05.21


У меня нету времени тестировать данный функционал, в общем через него можно сделать FakeDuck, и фейковые лаги а может быть ещё что-то интересное, дерзайте.


Код:
namespace MovementCore {

    struct SMovementCmd {

        unsigned int N;
        unsigned __int8 physCounter;
        Vec3_tpl<float> lookDir;
        Vec3_tpl<float> slideDir;
        Vec3_tpl<float> moveDir;
        bool haste;
        bool slide;
        bool jump;
        bool use;
        bool zoom;
        bool simulate;
        char stance;
        unsigned int stateChecksum;
        bool generated;
    };

    struct SMovementCmdBucket {

        unsigned int N;
        unsigned __int8 physCounter;
        unsigned int stateChecksum;
        std::vector< MovementCore::SMovementCmd, std::allocator< MovementCore::SMovementCmd > > commands;
    };

    struct SPlayerMovementState {

        unsigned int cmdN;
        unsigned __int8 physCounter;
        bool hasData;
        unsigned int standingOn;
        Vec3_tpl<float> pos;
        Vec3_tpl<float> vel;
        Vec3_tpl<float> slideDir;
        float slideTimer;
        char stance;
        bool inHaste;
        bool inSlide;
        bool inJump;
        bool inZoom;
        bool simulate;
        bool isRemotePlayer;
        bool isExtrapolated;
        float stamina;
        float groundTimer;
        Vec3_tpl<float> filteredMove;
        Vec3_tpl<float> groundNormal;
        Vec3_tpl<float> lookDirection;
        float latency;
        float pseudoSpeed;
        bool isStuck;
        Vec3_tpl<float> moveDir;
    };

    using fnMove = void(__fastcall*)(CActor*, MovementCore::SMovementCmd*, MovementCore::SPlayerMovementState*, MovementCore::SPlayerMovementState*);
    void Move(/* CPlayer */ CActor* player, MovementCore::SMovementCmd* cmd, MovementCore::SPlayerMovementState* in_state, MovementCore::SPlayerMovementState* out_state) {
        fnMove(0x1413E74D0)(player, cmd, in_state, out_state);     // Find -> ClientMove
    }
}

Использование простое, в первый аргумент передаём указатель нашего персонажа, во второй структуру SMovementCmd, в третий SPlayerMovementState, в четвёртый ничего не нужно передавать.
 
Начинающий
Статус
Оффлайн
Регистрация
14 Апр 2020
Сообщения
79
Реакции[?]
2
Поинты[?]
0
Привет всем кто это читает.

Все адреса обновлены под DirectX 11, от 22.05.21


У меня нету времени тестировать данный функционал, в общем через него можно сделать FakeDuck, и фейковые лаги а может быть ещё что-то интересное, дерзайте.


Код:
namespace MovementCore {

    struct SMovementCmd {

        unsigned int N;
        unsigned __int8 physCounter;
        Vec3_tpl<float> lookDir;
        Vec3_tpl<float> slideDir;
        Vec3_tpl<float> moveDir;
        bool haste;
        bool slide;
        bool jump;
        bool use;
        bool zoom;
        bool simulate;
        char stance;
        unsigned int stateChecksum;
        bool generated;
    };

    struct SMovementCmdBucket {

        unsigned int N;
        unsigned __int8 physCounter;
        unsigned int stateChecksum;
        std::vector< MovementCore::SMovementCmd, std::allocator< MovementCore::SMovementCmd > > commands;
    };

    struct SPlayerMovementState {

        unsigned int cmdN;
        unsigned __int8 physCounter;
        bool hasData;
        unsigned int standingOn;
        Vec3_tpl<float> pos;
        Vec3_tpl<float> vel;
        Vec3_tpl<float> slideDir;
        float slideTimer;
        char stance;
        bool inHaste;
        bool inSlide;
        bool inJump;
        bool inZoom;
        bool simulate;
        bool isRemotePlayer;
        bool isExtrapolated;
        float stamina;
        float groundTimer;
        Vec3_tpl<float> filteredMove;
        Vec3_tpl<float> groundNormal;
        Vec3_tpl<float> lookDirection;
        float latency;
        float pseudoSpeed;
        bool isStuck;
        Vec3_tpl<float> moveDir;
    };

    using fnMove = void(__fastcall*)(CActor*, MovementCore::SMovementCmd*, MovementCore::SPlayerMovementState*, MovementCore::SPlayerMovementState*);
    void Move(/* CPlayer */ CActor* player, MovementCore::SMovementCmd* cmd, MovementCore::SPlayerMovementState* in_state, MovementCore::SPlayerMovementState* out_state) {
        fnMove(0x1413E74D0)(player, cmd, in_state, out_state);     // Find -> ClientMove
    }
}

Использование простое, в первый аргумент передаём указатель нашего персонажа, во второй структуру SMovementCmd, в третий SPlayerMovementState, в четвёртый ничего не нужно передавать.
Можешь подсказать актуальный адрес, опыта в IDA мало, не знаю где точно его смотреть. // Find -> ClientMove
Спасибо.
 
Продам прострел стен Warface 10к руб!
Забаненный
Статус
Оффлайн
Регистрация
7 Авг 2018
Сообщения
308
Реакции[?]
106
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Можешь подсказать актуальный адрес, опыта в IDA мало, не знаю где точно его смотреть. // Find -> ClientMove
Спасибо.
там вроде самый первый Ida viev-a sub по find
sub_1416FECE0
 
Сверху Снизу