Вопрос Как сделать External чит под DLL

Начинающий
Начинающий
Статус
Оффлайн
Регистрация
22 Дек 2018
Сообщения
362
Реакции
21
Всем Привет, вообщем я взял сурс External чита для кс и хотел бы сделать его под DLL,что бы при внедрении в любой 32 битный процесс чит работал для кс как обычный External чит, хочу сделать для того что бы он работал через лоадер.

чит взял вот этот: https://yougame.biz/threads/240982/ (не реклама)

Вот каким код был:

C++:
Expand Collapse Copy
int main()
{
    con->setupConsole();
    offsets->DownloadOffsets();
    mem->startMemory();
    CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)d3d->CreateDirectWindow, NULL, NULL, NULL);
    CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)iModels->SetKnife, NULL, NULL, NULL);
    while (true)
    {
        con->terminateThread();

        if (LocalPlayer::isInGame())
        {
            if (CFG.triggerBot)
                iAimbot->Trigger();

            for (int i = 0; i < 64; i++)
            {
                DWORD entity = Entity::getEntityBase(i);
                if (entity != NULL && Entity::isEntityValid(entity))
                {
                    if (CFG.radar)
                        iVisuals->InGameRadar(entity);

                    if (CFG.glow)
                        iVisuals->Glow(entity);

                    if (CFG.clrRender)
                        iVisuals->RenderChams(entity);

                    if (CFG.hitSound)
                        iMisc->Sound();

                    if (CFG.bunnyHop)
                        iMisc->Bunny();

                    if (CFG.AimBotB)
                        iAimbot->Aim(iAimbot->getPlayer(), entity);

                }
            }
        }
        std::this_thread::sleep_for(1ms);
    }
    return 0;
}

Каким я код сделал:

C++:
Expand Collapse Copy
void menu()
{
    con->setupConsole();
    offsets->DownloadOffsets();
    mem->startMemory();
    CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)d3d->CreateDirectWindow, NULL, NULL, NULL);
    CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)iModels->SetKnife, NULL, NULL, NULL);
    while (true)
    {
        con->terminateThread();

        if (LocalPlayer::isInGame())
        {
            if (CFG.triggerBot)
                iAimbot->Trigger();

            for (int i = 0; i < 64; i++)
            {
                DWORD entity = Entity::getEntityBase(i);
                if (entity != NULL && Entity::isEntityValid(entity))
                {
                    if (CFG.radar)
                        iVisuals->InGameRadar(entity);

                    if (CFG.glow)
                        iVisuals->Glow(entity);

                    if (CFG.clrRender)
                        iVisuals->RenderChams(entity);

                    if (CFG.hitSound)
                        iMisc->Sound();

                    if (CFG.bunnyHop)
                        iMisc->Bunny();

                    if (CFG.AimBotB)
                        iAimbot->Aim(iAimbot->getPlayer(), entity);

                }
            }
        }
        std::this_thread::sleep_for(1ms);
    }
    //return 0;
}

DWORD WINAPI main()
{
    AllocConsole();
    menu();

    return 0;
}

bool __stdcall DllMain(HINSTANCE H_instance, unsigned long rsn) {
    DisableThreadLibraryCalls(H_instance);
    switch (rsn) {
    case DLL_PROCESS_ATTACH: {
        CreateThread(0, 0, (LPTHREAD_START_ROUTINE)main, 0, 0, 0);

    } break;

    }

    return true;
}

внедрение успешное, но никакого оверлея, меню нету, помогите пожалуйста, как можно исправить проблему с изображением меню, оверлея.
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
внедрение успешное, но никакого оверлея, меню нету, помогите пожалуйста, как можно исправить проблему с изображением меню, оверлея.
Хукни банальную ендсцену и рисуй там
 
Хукни банальную ендсцену и рисуй там
Мне кажется, ты его неправильно понял. Судя по всему, он после видосов репки хочет инжектить чит в условный блокнот, а не запускать отдельным процессом (также кейтбот работает)
 
Мне кажется, ты его неправильно понял. Судя по всему, он после видосов репки хочет инжектить чит в условный блокнот, а не запускать отдельным процессом (также кейтбот работает)
Примерно так, ток я не смотрел репку никакого, то есть я хочу что бы как бы внедрялся в другой процесс. а работал для кс го, что бы так же екстернал был, но в виде длл
 
Всем Привет, вообщем я взял сурс External чита для кс и хотел бы сделать его под DLL,что бы при внедрении в любой 32 битный процесс чит работал для кс как обычный External чит, хочу сделать для того что бы он работал через лоадер.

чит взял вот этот: https://yougame.biz/threads/240982/ (не реклама)

Вот каким код был:

C++:
Expand Collapse Copy
int main()
{
    con->setupConsole();
    offsets->DownloadOffsets();
    mem->startMemory();
    CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)d3d->CreateDirectWindow, NULL, NULL, NULL);
    CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)iModels->SetKnife, NULL, NULL, NULL);
    while (true)
    {
        con->terminateThread();

        if (LocalPlayer::isInGame())
        {
            if (CFG.triggerBot)
                iAimbot->Trigger();

            for (int i = 0; i < 64; i++)
            {
                DWORD entity = Entity::getEntityBase(i);
                if (entity != NULL && Entity::isEntityValid(entity))
                {
                    if (CFG.radar)
                        iVisuals->InGameRadar(entity);

                    if (CFG.glow)
                        iVisuals->Glow(entity);

                    if (CFG.clrRender)
                        iVisuals->RenderChams(entity);

                    if (CFG.hitSound)
                        iMisc->Sound();

                    if (CFG.bunnyHop)
                        iMisc->Bunny();

                    if (CFG.AimBotB)
                        iAimbot->Aim(iAimbot->getPlayer(), entity);

                }
            }
        }
        std::this_thread::sleep_for(1ms);
    }
    return 0;
}

Каким я код сделал:

C++:
Expand Collapse Copy
void menu()
{
    con->setupConsole();
    offsets->DownloadOffsets();
    mem->startMemory();
    CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)d3d->CreateDirectWindow, NULL, NULL, NULL);
    CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)iModels->SetKnife, NULL, NULL, NULL);
    while (true)
    {
        con->terminateThread();

        if (LocalPlayer::isInGame())
        {
            if (CFG.triggerBot)
                iAimbot->Trigger();

            for (int i = 0; i < 64; i++)
            {
                DWORD entity = Entity::getEntityBase(i);
                if (entity != NULL && Entity::isEntityValid(entity))
                {
                    if (CFG.radar)
                        iVisuals->InGameRadar(entity);

                    if (CFG.glow)
                        iVisuals->Glow(entity);

                    if (CFG.clrRender)
                        iVisuals->RenderChams(entity);

                    if (CFG.hitSound)
                        iMisc->Sound();

                    if (CFG.bunnyHop)
                        iMisc->Bunny();

                    if (CFG.AimBotB)
                        iAimbot->Aim(iAimbot->getPlayer(), entity);

                }
            }
        }
        std::this_thread::sleep_for(1ms);
    }
    //return 0;
}

DWORD WINAPI main()
{
    AllocConsole();
    menu();

    return 0;
}

bool __stdcall DllMain(HINSTANCE H_instance, unsigned long rsn) {
    DisableThreadLibraryCalls(H_instance);
    switch (rsn) {
    case DLL_PROCESS_ATTACH: {
        CreateThread(0, 0, (LPTHREAD_START_ROUTINE)main, 0, 0, 0);

    } break;

    }

    return true;
}

внедрение успешное, но никакого оверлея, меню нету, помогите пожалуйста, как можно исправить проблему с изображением меню, оверлея.

Вообще очень странная у тебя затея, так как твоё приложение никак не изменится в работе. Да, ты можешь заинжектить dll в условный блокнот, но у тебя не будет интерфейса, потому что это блин библиотека, а не exe'шник. И тут ты можешь просто воспользоваться биндами.

К примеру у тебя F6 - Glow. И в твоей dll будет проверка, активен ли бинд на эту кнопку , если да, то рисуем.

Если же ты решишь делать как предложил Keaton, то это уже что-то среднее межу Internal и External. У тебя есть меню внутри игры, где ты настраиваешь все фичи чита, но работают эти фичи как бы External методом.

Так что предложил бы не ебаться со всем этим и сесть писать свой Internal чЫт, благо баз для этого полно баз.
 
Что за бред? Можно отрисовать свое окно используя ImGui или подобные библиотеки..
В сурсе саивиора и так имгуй, тс жалуется на то, что у него, собсна, этот имгуй не рисуется.
 
Что за бред? Можно отрисовать свое окно используя ImGui или подобные библиотеки..
Могу тупо ошибаться, но ведь для этого нужно хукать директХ. И в ендсцене рисовать. Это при условии, что dll в кс инжектится. А автор собирается это делать в другое приложение ( условно блокнот ), где хукать уже нельзя будет. И где тогда все эти окна рисовать...
 
Если же ты решишь делать как предложил Keaton, то это уже что-то среднее межу Internal и External. У тебя есть меню внутри игры, где ты настраиваешь все фичи чита, но работают эти фичи как бы External методом.
Тут бред ебаный получается, всесь прикол экстернала теряется, так что да, лучше тогда сразу интернал пилить.
Могу тупо ошибаться, но ведь для этого нужно хукать директХ. И в ендсцене рисовать. Это при условии, что dll в кс инжектится. А автор собирается это делать в другое приложение ( условно блокнот ), где хукать уже нельзя будет. И где тогда все эти окна рисовать...
На дх оверлее, который и не работает, либо же в чите саивиора используется не оверлей, а отдельное винапивское окно. Щас чекну сурс, чтоб хуйни не нести.
UPD.: Возможно, инжект в другие процессы не даёт заюзать CreateWindow()?
 
Тут бред ебаный получается, всесь прикол экстернала теряется, так что да, лучше тогда сразу интернал пилить.

На дх оверлее, который и не работает, либо же в чите саивиора используется не оверлей, а отдельное винапивское окно. Щас чекну сурс, чтоб хуйни не нести.
UPD.: Возможно, инжект в другие процессы не даёт заюзать CreateWindow()?
Может быть, там при инжекте, не показывает вообще никакое меню или консольку
 
@KROSSSSAW кажется, я нашёл решение.
В Direct.cpp, в функции directX::CreateDirectWindow(void*) попробуй заменить ::CreateWindow на ::CreateWindowEx, и добавь 0 или типа того как первый параметр (не замени, а именно добавь)
Не уверен в том, что это решит проблему, но что нашёл на стаке - тем и делюсь) Если не поможет - вместо создания окна делай дх оверлей
Может быть, там при инжекте, не показывает вообще никакое меню или консольку
Для консоли нужно прописать AllocConsole(), тс это и так сделал, но консоль (как я понял) в чите не используется вообще
 
@KROSSSSAW кажется, я нашёл решение.
В Direct.cpp, в функции directX::CreateDirectWindow(void*) попробуй заменить ::CreateWindow на ::CreateWindowEx, и добавь 0 или типа того как первый параметр (не замени, а именно добавь)
Не уверен в том, что это решит проблему, но что нашёл на стаке - тем и делюсь) Если не поможет - вместо создания окна делай дх оверлей

Для консоли нужно прописать AllocConsole(), тс это и так сделал, но консоль (как я понял) в чите не используется вообще
У меня на данный момент нету доступа к пк, возможно что бы ты проверил?
 
Могу тупо ошибаться, но ведь для этого нужно хукать директХ. И в ендсцене рисовать. Это при условии, что dll в кс инжектится. А автор собирается это делать в другое приложение ( условно блокнот ), где хукать уже нельзя будет. И где тогда все эти окна рисовать...
Блять.. ImGui был придуман не для читов, какой епта хукать директх? Приложения на ImGUI тоже свой директх епта? Не неси хуйню, епт
 
Блять.. ImGui был придуман не для читов, какой епта хукать директх? Приложения на ImGUI тоже свой директх епта? Не неси хуйню, епт
Друг, ты тему то читал ? ОПу нужен оверлей, но чтобы создать меню в игре нужен хук, если же инжектить в условный блокнот, то через создание окна ( в чем нет смысла, если сурс и без того вроде создаёт окно ). Вообще, просто предлагаю прекратить срач, смысла в нём нет, тк каждый при своем останется.
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Думаю самое полезное для тебя
Пожалуйста, авторизуйтесь для просмотра ссылки.
 
Назад
Сверху Снизу