Крашит в дебаге указывая на RenderView

ROAD TO THE LEGEND
Забаненный
Статус
Оффлайн
Регистрация
7 Фев 2018
Сообщения
2,194
Реакции[?]
714
Поинты[?]
1K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Инжекчу собранную в дебаге длл, при дебаге показывает на эту строчку :
Код:
ViewRender = **reinterpret_cast<SDK::IViewRender***>(FindInterfaceEx("engine.dll", "VEngineRenderView"));
p.s крашит сразу же после инжекта
 
В игре Source SDK
Забаненный
Статус
Оффлайн
Регистрация
10 Янв 2017
Сообщения
2,148
Реакции[?]
806
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Почему то я думаю, что проблема не здесь.
 
ROAD TO THE LEGEND
Забаненный
Статус
Оффлайн
Регистрация
7 Фев 2018
Сообщения
2,194
Реакции[?]
714
Поинты[?]
1K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Знаменитый бомжара с Москвы
Забаненный
Статус
Оффлайн
Регистрация
12 Июл 2017
Сообщения
540
Реакции[?]
359
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
ROAD TO THE LEGEND
Забаненный
Статус
Оффлайн
Регистрация
7 Фев 2018
Сообщения
2,194
Реакции[?]
714
Поинты[?]
1K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Знаменитый бомжара с Москвы
Забаненный
Статус
Оффлайн
Регистрация
12 Июл 2017
Сообщения
540
Реакции[?]
359
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
ROAD TO THE LEGEND
Забаненный
Статус
Оффлайн
Регистрация
7 Фев 2018
Сообщения
2,194
Реакции[?]
714
Поинты[?]
1K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Знаменитый бомжара с Москвы
Забаненный
Статус
Оффлайн
Регистрация
12 Июл 2017
Сообщения
540
Реакции[?]
359
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Попробуй вместо FindInterfaceEx юзнуть FindInterface:
Код:
    void* FindInterface(const char* Module, const char* InterfaceName)
    {
        void* Interface = nullptr;
        auto CreateInterface = reinterpret_cast<CreateInterfaceFn>(GetProcAddress(
            GetModuleHandleA(Module), enc_char("CreateInterface")));

        char PossibleInterfaceName[1024];
        for (int i = 1; i < 100; i++)
        {
            sprintf(PossibleInterfaceName, "%s0%i", InterfaceName, i);
            Interface = CreateInterface(PossibleInterfaceName, 0);
            if (Interface)
                break;

            sprintf(PossibleInterfaceName, "%s00%i", InterfaceName, i);
            Interface = CreateInterface(PossibleInterfaceName, 0);
            if (Interface)
                break;
        }

        if (!Interface)
        LOG(enc_str("Failed to find interface - ") + PossibleInterfaceName);
        else
        LOG(enc_str("Successfully found interface - ") + PossibleInterfaceName);

        return Interface;
    }
Выглядеть должно примерно так:
Код:
RenderView = reinterpret_cast<SDK::IViewRender*>(FindInterface("engine.dll", "VEngineRenderView"));
 
ROAD TO THE LEGEND
Забаненный
Статус
Оффлайн
Регистрация
7 Фев 2018
Сообщения
2,194
Реакции[?]
714
Поинты[?]
1K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Попробуй вместо FindInterfaceEx юзнуть FindInterface:
Код:
    void* FindInterface(const char* Module, const char* InterfaceName)
    {
        void* Interface = nullptr;
        auto CreateInterface = reinterpret_cast<CreateInterfaceFn>(GetProcAddress(
            GetModuleHandleA(Module), enc_char("CreateInterface")));

        char PossibleInterfaceName[1024];
        for (int i = 1; i < 100; i++)
        {
            sprintf(PossibleInterfaceName, "%s0%i", InterfaceName, i);
            Interface = CreateInterface(PossibleInterfaceName, 0);
            if (Interface)
                break;

            sprintf(PossibleInterfaceName, "%s00%i", InterfaceName, i);
            Interface = CreateInterface(PossibleInterfaceName, 0);
            if (Interface)
                break;
        }

        if (!Interface)
        LOG(enc_str("Failed to find interface - ") + PossibleInterfaceName);
        else
        LOG(enc_str("Successfully found interface - ") + PossibleInterfaceName);

        return Interface;
    }
Выглядеть должно примерно так:
Код:
RenderView = reinterpret_cast<SDK::IViewRender*>(FindInterface("engine.dll", "VEngineRenderView"));
Спасибо, но там потом ещё было дохуя ошибок но там я уже сам их пофиксил :)
 
В игре Source SDK
Забаненный
Статус
Оффлайн
Регистрация
10 Янв 2017
Сообщения
2,148
Реакции[?]
806
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
A'Kon , зачем используется такой каст?
Код:
**(CLassName***)
Что это значит?
 
Сверху Снизу