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

Вопрос Dopostscreeneffects hook

Статус
В этой теме нельзя размещать новые ответы.
ну и дела, другалек
Пользователь
Пользователь
Статус
Оффлайн
Регистрация
3 Апр 2020
Сообщения
125
Реакции
132
Сап, двач юегйм. Столкнулась со следующей проблемой: не могу нормально хукнуть dopostscreeneffects, ловлю краши при загрузке на карту. Перерыла весь юц в поисках решения, но ничего не помогает. Надеюсь, что хоть тут мне помогут. :FeelsBadMan:

hooks.cpp:
Expand Collapse Copy
const auto post_screen_effects = reinterpret_cast<void*>(get_virtual(interfaces::m_client_mode, 44u));
namespace hooks {
    void init() {
        if (MH_CreateHook(post_screen_effects, &client_mode::do_post_screen_effects::hook, reinterpret_cast<void**>(&do_post_screen_original)) != MH_OK)
            throw std::runtime_error("failed to initialize do_post_screen_effects.");    
        }
]

hooks.h:
Expand Collapse Copy
namespace hooks {
   void init();
    namespace client_mode {
        namespace do_post_screen_effects {
            int __fastcall hook(void* _this, int edx,view_setup_t* view);
            using fn = int(__thiscall*)(void*, int, view_setup_t*);
        }
    }
    
    inline hooks::client_mode::do_post_screen_effects::fn do_post_screen_original = nullptr;
}

client_mode.cpp:
Expand Collapse Copy
int __fastcall hooks::client_mode::do_post_screen_effects::hook(void* _this, int edx, view_setup_t* view) {

    player_esp->draw_glow();

    return do_post_screen_original(interfaces::m_client_mode, edx,view);
}
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
нереалочка почему передаешь вместо _this interfaces::m_client_mode и дай пж код функции player_esp::draw_glow
 
Вполне вероятно, что трабл в этом:
1654625943285.png

Попробуй поставить везде __fastcall
 
дай пж код функции player_esp::draw_glow
вообще крашит даже если закомментить, но в любом случае


C++:
Expand Collapse Copy
void c_player_esp::draw_glow() {

    if (cfg::get<bool>(FNV1A("glow_esp"))) {

        if (globals::m_local && interfaces::m_engine->is_in_game()) {

            for (auto i = 1; i < interfaces::m_glow_manager->m_glow_object_definitions.size(); i++) {

                i_glow_object_manager::glow_object_t& hGlowObject = interfaces::m_glow_manager->m_glow_object_definitions[i];
                if (hGlowObject.is_unused())  continue;
                if (hGlowObject.m_entity) continue;

                switch (hGlowObject.m_entity->get_client_class()->m_class_id) {

                    case C_CS_PLAYER: {
                        const auto player = static_cast<c_cs_player*>(hGlowObject.m_entity);

                        if (player->get_team() != globals::m_local->get_team()) {
                            if (!player->is_alive()) break;
                            hGlowObject.set(col_t(1.f, 1.f, 1.f, 1.f), 1);

                        }
                    break;
                    }

                }

            }
        }
    }
}
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
вообще крашит даже если закомментить, но в любом случае


C++:
Expand Collapse Copy
void c_player_esp::draw_glow() {

    if (cfg::get<bool>(FNV1A("glow_esp"))) {

        if (globals::m_local && interfaces::m_engine->is_in_game()) {

            for (auto i = 1; i < interfaces::m_glow_manager->m_glow_object_definitions.size(); i++) {

                i_glow_object_manager::glow_object_t& hGlowObject = interfaces::m_glow_manager->m_glow_object_definitions[i];
                if (hGlowObject.is_unused())  continue;
                if (hGlowObject.m_entity) continue;

                switch (hGlowObject.m_entity->get_client_class()->m_class_id) {

                    case C_CS_PLAYER: {
                        const auto player = static_cast<c_cs_player*>(hGlowObject.m_entity);

                        if (player->get_team() != globals::m_local->get_team()) {
                            if (!player->is_alive()) break;
                            hGlowObject.set(col_t(1.f, 1.f, 1.f, 1.f), 1);

                        }
                    break;
                    }

                }

            }
        }
    }
}
как написал человек выше скорее всего из за того что в ориг функции у тебя __thiscall
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Сап, двач юегйм. Столкнулась со следующей проблемой: не могу нормально хукнуть dopostscreeneffects, ловлю краши при загрузке на карту. Перерыла весь юц в поисках решения, но ничего не помогает. Надеюсь, что хоть тут мне помогут. :FeelsBadMan:

hooks.cpp:
Expand Collapse Copy
const auto post_screen_effects = reinterpret_cast<void*>(get_virtual(interfaces::m_client_mode, 44u));
namespace hooks {
    void init() {
        if (MH_CreateHook(post_screen_effects, &client_mode::do_post_screen_effects::hook, reinterpret_cast<void**>(&do_post_screen_original)) != MH_OK)
            throw std::runtime_error("failed to initialize do_post_screen_effects.");   
        }
]

hooks.h:
Expand Collapse Copy
namespace hooks {
   void init();
    namespace client_mode {
        namespace do_post_screen_effects {
            int __fastcall hook(void* _this, int edx,view_setup_t* view);
            using fn = int(__thiscall*)(void*, int, view_setup_t*);
        }
    }
   
    inline hooks::client_mode::do_post_screen_effects::fn do_post_screen_original = nullptr;
}

client_mode.cpp:
Expand Collapse Copy
int __fastcall hooks::client_mode::do_post_screen_effects::hook(void* _this, int edx, view_setup_t* view) {

    player_esp->draw_glow();

    return do_post_screen_original(interfaces::m_client_mode, edx,view);
}
ахах емае тяночка в кодинге так еще и блек инк использует который я делал х2 ахуеть
по теме
ну и не все хуки принимают значение __thiscall поэтому поставь вместо него __fastcall ну и чек добавь
C++:
Expand Collapse Copy
if ( !interfaces::m_engine->is_game( ) ) {
    // return your original func..
    return original( ... );

   // and then u call glow stuff
}
 
Сап, двач юегйм. Столкнулась со следующей проблемой: не могу нормально хукнуть dopostscreeneffects, ловлю краши при загрузке на карту. Перерыла весь юц в поисках решения, но ничего не помогает. Надеюсь, что хоть тут мне помогут. :FeelsBadMan:

hooks.cpp:
Expand Collapse Copy
const auto post_screen_effects = reinterpret_cast<void*>(get_virtual(interfaces::m_client_mode, 44u));
namespace hooks {
    void init() {
        if (MH_CreateHook(post_screen_effects, &client_mode::do_post_screen_effects::hook, reinterpret_cast<void**>(&do_post_screen_original)) != MH_OK)
            throw std::runtime_error("failed to initialize do_post_screen_effects.");  
        }
]

hooks.h:
Expand Collapse Copy
namespace hooks {
   void init();
    namespace client_mode {
        namespace do_post_screen_effects {
            int __fastcall hook(void* _this, int edx,view_setup_t* view);
            using fn = int(__thiscall*)(void*, int, view_setup_t*);
        }
    }
  
    inline hooks::client_mode::do_post_screen_effects::fn do_post_screen_original = nullptr;
}

client_mode.cpp:
Expand Collapse Copy
int __fastcall hooks::client_mode::do_post_screen_effects::hook(void* _this, int edx, view_setup_t* view) {

    player_esp->draw_glow();

    return do_post_screen_original(interfaces::m_client_mode, edx,view);
}

Пожалуйста, зарегистрируйтесь или авторизуйтесь, чтобы увидеть содержимое.

 
Скрытое содержимое

Пожалуйста, зарегистрируйтесь или авторизуйтесь, чтобы увидеть содержимое.


как написал человек выше скорее всего из за того что в ориг функции у тебя __thiscall
Вполне вероятно, что трабл в этом:
Посмотреть вложение 206786
Попробуй поставить везде __fastcall
благодарю
 
блять все кто пишут что у него в ориг функции thiscall вы че ебанутые? пусть так и стоит, просто не передавай в оригинал edx.

C++:
Expand Collapse Copy
using fn = int(__thiscall*)(void*, view_setup_t*);
return do_post_screen_original(interfaces::m_client_mode, view);

можешь еще вместо int запихнуть в void, один хуй сожрать должно.

ps. тебе уже походу помогли, ну на будущее пусть ответ останется тут.
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
блять все кто пишут что у него в ориг функции thiscall вы че ебанутые? пусть так и стоит, просто не передавай в оригинал edx.

C++:
Expand Collapse Copy
using fn = int(__thiscall*)(void*, view_setup_t*);
return do_post_screen_original(interfaces::m_client_mode, view);

можешь еще вместо int запихнуть в void, один хуй сожрать должно.

ps. тебе уже походу помогли, ну на будущее пусть ответ останется тут.
простите мистер соник.. но вы высрали полный кринж __thiscall тут никак не должен стоять.. изучите пожалуйста c++ для начала.. а то вы даже не выучили а уже даете советы!!!
 
простите мистер соник.. но вы высрали полный кринж __thiscall тут никак не должен стоять.. изучите пожалуйста c++ для начала.. а то вы даже не выучили а уже даете советы!!!
и с чего это он не должен стоять? у меня вот например стоит, там хоть stdcall блять может стоять ты чего парень ебнулся? тс просто передает edx в thiscall в этом вся проблема и была, офк при смене на fastcall который сожрет edx все у него заработало, но это не значит что thiscall тут нельзя использовать
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
и с чего это он не должен стоять? у меня вот например стоит, там хоть stdcall блять может стоять ты чего парень ебнулся?
ну поставь ты там где должен стоять __fastcall __stdcall и у тебя хак крашнется ой... я еще раз повторяю выучите плюсы и понимания что такое __fastcall, __stdcall, __thiscall
 
ну поставь ты там где должен стоять __fastcall __stdcall и у тебя хак крашнется ой... я еще раз повторяю выучите плюсы и понимания что такое __fastcall, __stdcall, __thiscall
Чел сними штаны ты обосрался, удачи понять как работает компилятор, я могу хоть на какой хук ебануть stdcall и кинуть поинтер и все будет работать, заканчивай свою шизу бро
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Чел сними штаны ты обосрался, удачи понять как работает компилятор, я могу хоть на какой хук ебануть stdcall и кинуть поинтер и все будет работать, заканчивай свою шизу бро
емае мне что ли пойти записать видос как у меня при инжекте будет failed_to_init_create_move например или чтоо каК же Вы МеНя ПаСтЕрЫ бЕсИтЕ
updated:
на тебе даже от еушника месседж..
his function prototype is declared as fastcall thus ecx and edx will be passed ( rest of the arguments on the stack )
 
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.

все можешь ливать с треда, обязательно высри чет невнятное под конец и не заходи на форум никогда, еще какого то лоу долбоеба еушника приятнул блять пиздец ржу
 
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.
Пожалуйста, авторизуйтесь для просмотра ссылки.

все можешь ливать с треда, обязательно высри чет невнятное под конец и не заходи на форум никогда, еще какого то лоу долбоеба еушника приятнул блять пиздец ржу
а __stdcall заюзай на этот хук, работать же будет!
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху Снизу