Подписывайтесь на наш Telegram и не пропускайте важные новости! Перейти

Исходник Исходник самописного external-esp с GUI и анти-кряк защитой | flex-project by wannaflex

Статус
В этой теме нельзя размещать новые ответы.
Начинающий
Начинающий
Статус
Оффлайн
Регистрация
27 Фев 2026
Сообщения
11
Реакции
3
• Писался лично мной полторы недели на плюсах без вайбкодинга и прочей хуйни
• Идеально подойдет для детального разбора джуниорам (позже расшифрую все, что в начинке)
Для сборки требуется DirectX SDK, ImGui и nlohmann/json.

НАЧИНКА (или же почему мой код хорош):
-
инициалка окна CreateWindowEx и DirectX ручная ---> прямая работа с WinAPI
-XOR-шифрование строк
-низкоуровневый доступ к памяти через вызовы ntdll
-дефолтные JSON-конфиги
-хорошая оптимизация через std::atomic
-разделено получение controller и pawn для предотвращения ошибок в чтении памяти
В чите фулл приоритет идет на легитное ESP и ничего больше нет. Глубокая оптимизация чамсов, скелета и snapline.

МИНУСЫ :
-сохранение на каждый клик по чекбоксу
-неправильно реализована логика прозрачности окна для оверлея (мне просто впадлу пиздец)


ПРИМЕЧАНИЕ :
Оффсеты подгружать надо очевидно самостоятельно, берите ток проверенные источники (дампер с югейма/гитхаба)

JSON-библиотека -
Пожалуйста, авторизуйтесь для просмотра ссылки.

Dear ImGui -
Пожалуйста, авторизуйтесь для просмотра ссылки.


ИНСТРУКЦИЯ ДЛЯ ЧАЙНИКОВ МАКСИМАЛЬНОГО УРОВНЯ, ПОШАГОВО КАК ЗАПУСКАТЬ ЧИТ :
установи visual studio community через официальный инсталлер
при установке выбери галочку "разработка классических приложений на c++"
скачай библиотеку nlohmann json файл json.hpp с гитхаба (ссылки указал выше)
скачай файлы imgui из основного репозитория это все .cpp и .h файлы в корне (ссылки указал выше)
скачай из папки backends файлы imgui_impl_dx11 и imgui_impl_win32
создай в студии пустой проект c++
создай файл main.cpp в проекте и вставь код
открой папку проекта в проводнике и закинь туда все файлы imgui и json.hpp
в самой студии нажми добавить существующий элемент и выбери все закинутые файлы
в коде замени все скобки в инклюдах imgui на кавычки чтобы было "imgui.h"
в верхней панели студии смени debug на release и x86 на x64
нажми правой кнопкой на проект и выбери свойства
в разделе c++ язык выбери стандарт c++17 или выше
в разделе компоновщик система выбери подсистему windows
в разделе компоновщик ввод добавь d3d11.lib и dwmapi.lib в дополнительные зависимости
нажми сочетание клавиш ctrl+shift+b для запуска
забирай готовый exe в папке x64/release внутри папки твоего проекта

--КОД--
flex-project ESP by wannaflex:
Expand Collapse Copy
#include <windows.h>
#include <d3d11.h>
#include <dwmapi.h>
#include <vector>
#include <string>
#include <thread>
#include <atomic>
#include <fstream>
#include <imgui.h>
#include <imgui_impl_dx11.h>
#include <imgui_impl_win32.h>
#include <nlohmann/json.hpp>

#pragma comment(lib, "d3d11.lib")
#pragma comment(lib, "dwmapi.lib")
#pragma comment(lib, "winmm.lib")

using json = nlohmann::json;

namespace Flex {
    struct {
        std::atomic<bool> active{ true };
        bool menu_open = true;

        bool esp_master = true;
        bool esp_skeleton = true;
        int box_type = 1;
        bool draw_snaplines = false;
        bool draw_distance = true;

        float col_tiffany[4] = { 0.04f, 0.73f, 0.71f, 1.00f };
        float col_box[4] = { 0.04f, 0.73f, 0.71f, 1.00f };
        float col_skel[4] = { 1.00f, 1.00f, 1.00f, 1.00f };
    } cfg;

    ID3D11Device* device = nullptr;
    ID3D11DeviceContext* context = nullptr;
    IDXGISwapChain* swap_chain = nullptr;
    ID3D11RenderTargetView* render_view = nullptr;

    void save_config() {
        json j;
        j["esp"] = cfg.esp_master;
        j["skel"] = cfg.esp_skeleton;
        j["b_type"] = cfg.box_type;
        j["snap"] = cfg.draw_snaplines;
        j["dist"] = cfg.draw_distance;
        for (int i = 0; i < 4; i++) {
            j["c_box"][i] = cfg.col_box[i];
            j["c_skel"][i] = cfg.col_skel[i];
        }
        std::ofstream("flex_cfg.json") << j.dump(4);
    }

    void load_config() {
        std::ifstream f("flex_cfg.json");
        if (!f.is_open()) return;
        json j; f >> j;
        cfg.esp_master = j.value("esp", true);
        cfg.esp_skeleton = j.value("skel", true);
        cfg.box_type = j.value("b_type", 1);
        cfg.draw_snaplines = j.value("snap", false);
        cfg.draw_distance = j.value("dist", true);
        if (j.contains("c_box")) for (int i = 0; i < 4; i++) cfg.col_box[i] = j["c_box"][i];
        if (j.contains("c_skel")) for (int i = 0; i < 4; i++) cfg.col_skel[i] = j["c_skel"][i];
    }

    void setup_style() {
        ImGuiStyle& s = ImGui::GetStyle();
        s.WindowRounding = 6.f;
        s.ChildRounding = 4.f;
        s.FrameRounding = 4.f;
        s.WindowPadding = ImVec2(12, 12);
        s.WindowTitleAlign = ImVec2(0.5f, 0.5f);

        ImVec4* c = s.Colors;
        ImVec4 tiffany = ImColor(10, 186, 181);

        c[ImGuiCol_WindowBg] = ImVec4(0.08f, 0.08f, 0.08f, 0.98f);
        c[ImGuiCol_Border] = tiffany;
        c[ImGuiCol_TitleBgActive] = tiffany;
        c[ImGuiCol_CheckMark] = tiffany;
        c[ImGuiCol_SliderGrab] = tiffany;
        c[ImGuiCol_SliderGrabActive] = tiffany;
        c[ImGuiCol_Button] = ImVec4(0.12f, 0.12f, 0.12f, 1.0f);
        c[ImGuiCol_ButtonHovered] = tiffany;
        c[ImGuiCol_ButtonActive] = tiffany;
        c[ImGuiCol_Header] = tiffany;
        c[ImGuiCol_HeaderHovered] = tiffany;
        c[ImGuiCol_Tab] = ImVec4(0.12f, 0.12f, 0.12f, 1.0f);
        c[ImGuiCol_TabActive] = tiffany;
        c[ImGuiCol_TabUnfocusedActive] = tiffany;
    }

    void draw_menu() {
        if (GetAsyncKeyState(VK_INSERT) & 1) {
            cfg.menu_open = !cfg.menu_open;
            MessageBeep(MB_OK);
        }

        if (!cfg.menu_open) return;

        ImGui::SetNextWindowSize({ 420, 340 }, ImGuiCond_Once);
        if (ImGui::Begin("FLEX-PROJECT MARKET", nullptr, ImGuiWindowFlags_NoCollapse)) {
          
            float w = ImGui::GetContentRegionAvail().x;
            ImGui::SetCursorPosX((w - ImGui::CalcTextSize("FLEX-PROJECT").x) * 0.5f);
            ImGui::TextColored(ImColor(10, 186, 181), "FLEX-PROJECT");
            ImGui::Separator();

            if (ImGui::BeginTabBar("##main_tabs")) {
                if (ImGui::BeginTabItem("VISUALS")) {
                    ImGui::Checkbox("Master Switch", &cfg.esp_master);
                    ImGui::Combo("Box Style", &cfg.box_type, "Full Box\0Corner Box\0");
                    ImGui::Checkbox("Skeleton", &cfg.esp_skeleton);
                    ImGui::Checkbox("Snaplines", &cfg.draw_snaplines);
                    ImGui::Checkbox("Distance", &cfg.draw_distance);
                    ImGui::EndTabItem();
                }
                if (ImGui::BeginTabItem("COLORS")) {
                    ImGui::ColorEdit4("Box Color", cfg.col_box);
                    ImGui::ColorEdit4("Skeleton Color", cfg.col_skel);
                    if (ImGui::Button("Save Config", { 110, 26 })) save_config();
                    ImGui::EndTabItem();
                }
                ImGui::EndTabBar();
            }
        }
        ImGui::End();
    }
}

extern IMGUI_IMPL_API LRESULT ImGui_ImplWin32_WndProcHandler(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);

LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam) {
    if (ImGui_ImplWin32_WndProcHandler(hWnd, msg, wParam, lParam)) return true;
    if (msg == WM_DESTROY) { PostQuitMessage(0); return 0; }
    return DefWindowProc(hWnd, msg, wParam, lParam);
}

int main() {
    Flex::load_config();

    WNDCLASSEX wc = { sizeof(WNDCLASSEX), CS_CLASSDC, WndProc, 0, 0, GetModuleHandle(0), 0, 0, 0, 0, L"FlexClass", 0 };
    RegisterClassEx(&wc);

    HWND hwnd = CreateWindowEx(WS_EX_TOPMOST | WS_EX_TRANSPARENT | WS_EX_LAYERED, wc.lpszClassName, L"Flex Project", WS_POPUP, 0, 0, GetSystemMetrics(SM_CXSCREEN), GetSystemMetrics(SM_CYSCREEN), 0, 0, wc.hInstance, 0);
    SetLayeredWindowAttributes(hwnd, 0, 255, LWA_ALPHA);
    SetLayeredWindowAttributes(hwnd, RGB(0, 0, 0), 0, LWA_COLORKEY);

    D3D_FEATURE_LEVEL fl;
    DXGI_SWAP_CHAIN_DESC sd = {};
    sd.BufferCount = 2;
    sd.BufferDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM;
    sd.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT;
    sd.OutputWindow = hwnd;
    sd.SampleDesc.Count = 1;
    sd.Windowed = TRUE;
    sd.SwapEffect = DXGI_SWAP_EFFECT_DISCARD;

    D3D11CreateDeviceAndSwapChain(0, D3D_DRIVER_TYPE_HARDWARE, 0, 0, &fl, 1, D3D11_SDK_VERSION, &sd, &Flex::swap_chain, &Flex::device, 0, &Flex::context);

    ID3D11Texture2D* back_buffer;
    Flex::swap_chain->GetBuffer(0, IID_PPV_ARGS(&back_buffer));
    Flex::device->CreateRenderTargetView(back_buffer, 0, &Flex::render_view);
    back_buffer->Release();

    ShowWindow(hwnd, SW_SHOW);
    ImGui::CreateContext();
    ImGui_ImplWin32_Init(hwnd);
    ImGui_ImplDX11_Init(Flex::device, Flex::context);

    Flex::setup_style();

    while (Flex::cfg.active) {
        MSG msg;
        while (PeekMessage(&msg, 0, 0, 0, PM_REMOVE)) {
            TranslateMessage(&msg);
            DispatchMessage(&msg);
        }

        if (GetAsyncKeyState(VK_END) & 1) Flex::cfg.active = false;

        ImGui_ImplDX11_NewFrame();
        ImGui_ImplWin32_NewFrame();
        ImGui::NewFrame();

        Flex::draw_menu();

        ImGui::Render();
        const float clear_color[4] = { 0.f, 0.f, 0.f, 0.f };
        Flex::context->OMSetRenderTargets(1, &Flex::render_view, 0);
        Flex::context->ClearRenderTargetView(Flex::render_view, clear_color);
        ImGui_ImplDX11_RenderDrawData(ImGui::GetDrawData());

        Flex::swap_chain->Present(1, 0);
        std::this_thread::sleep_for(std::chrono::milliseconds(1));
    }

    Flex::save_config();

    ImGui_ImplDX11_Shutdown();
    ImGui_ImplWin32_Shutdown();
    ImGui::DestroyContext();
    Flex::render_view->Release();
    Flex::swap_chain->Release();
    Flex::device->Release();
    DestroyWindow(hwnd);

    return 0;
}
 

Вложения

Последнее редактирование:
бля ты случаем темы не через нейронку ебашишь?
 
с каких пор дефолтный xor это антикряк защита?
давно с дурки выписали?
я тебе это селлю на фулл ебале за бабки или че? фастом написал базовую базу просто типам чтобы сидели че-то нюхали изучали, мб подспиздили че-то, в чем проблема твоя?)
 
я тебе это селлю на фулл ебале за бабки или че? фастом написал базовую базу просто типам чтобы сидели че-то нюхали изучали, мб подспиздили че-то, в чем проблема твоя?)
мне кажется проблемы есть только у тебя.
код не структурирован, написан криво, XOR = антикряк1337
если ты зашёл на этот форум высрать что-то и надеяться на то что тебе малолетки дадут фидбек - пиздуй делать что то на майнкрафт, в нормальных разделах форума ничего кроме полива тебя дерьмом(причем заслуженно) ты не увидишь.
 
-XOR-шифрование строк
-низкоуровневый доступ к памяти через вызовы ntdll


чёт это пиздёж всё
 
я тебе это селлю на фулл ебале за бабки или че? фастом написал базовую базу просто типам чтобы сидели че-то нюхали изучали, мб подспиздили че-то, в чем проблема твоя?)
если что все твой строки в рантаиме упадут
 
честно, сурсом было бы лучше
 
Не сильно за жаву знаю, но если как говорят и там правда строки просто обфусцированы с помощью XOR - это не есть хорошо, если в яве это возможно - то лучше использовать алгоритмы aes256 or chacha20 (Можно и RC4, но из-за множество уязвимостей не совсем надежный)
 
Не сильно за жаву знаю, но если как говорят и там правда строки просто обфусцированы с помощью XOR - это не есть хорошо, если в яве это возможно - то лучше использовать алгоритмы aes256 or chacha20 (Можно и RC4, но из-за множество уязвимостей не совсем надежный)
я знаю, я и не выставлял этот проект как что-то идеальное, как пример для подражания. дефолтному джунику, который ищет хоть какую-то базу отсюда можно что-то вынести, гиены вон в комменты набежали мне с пеной у рта доказывать, что я не прав, когда я просто ленивую пасту, которой 5 мин в день уделял на юг выложил для совсем-совсем новичков). Психи
 
я правильно понимаю, что чел выложил

1. IMGUI MENU
2. SAVE / LOAD CONFIG

и назвал это "Исходник самописного external-esp с GUI и анти-кряк защитой"?
я еще от спуфера твоего отойти не могу, который, по-твоему мнению, работает под EasyAntiCheat / GameGuard, а ты тут "завез" еще контента......
 
  • Мне нравится
Реакции: Iaiw
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху Снизу