Загрузка данных


Главная причина краша (0xC0000005 / Stack Underflow) полностью устранена. Теперь в блоке рендера меню ровно 4 вызова ImGui::PushStyleColor и они корректно закрываются одним вызовом ImGui::PopStyleColor(4) в самом конце. Баланс стека ImGui восстановлен, и чит больше не будет вылетать при нажатии на Insert/Delete.

Кстати, очень грамотное решение изменить условие на if (menu_open && g_intro_done). Это не даст меню отрисовываться и перехватывать клики мышки до того момента, пока не закончится красивое интро с логотипом.

Однако, при редактировании кода появилась одна новая, очень коварная опечатка, которая может привести к графическим артефактам или новому тихому крашу.

Посмотри на функцию DrawIntro

Во втором цикле ты написал for(float dy:{-o,0.f,dy}). С точки зрения C++ это компилируется, но переменная dy пытается прочитать саму себя ещё до того, как ей присвоено значение. Она получит "мусор" из оперативной памяти (например, NaN или 4.3e-39). Из-за этого DirectX может сойти с ума при попытке отрисовать свечение (тень) вокруг логотипа.



так же в твоем этом коде появились ошибки при сборке

Серьезность	Код	Описание	Проект	Файл	Строка	Состояние подавления	Подробности

Ошибка	C2143	синтаксическая ошибка: отсутствие ";" перед "}"	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1016		

Ошибка	C2143	синтаксическая ошибка: отсутствие ";" перед "{"	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1016		

Ошибка	C2143	синтаксическая ошибка: отсутствие ";" перед ":"	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1016		

Ошибка	C2143	синтаксическая ошибка: отсутствие ")" перед "{"	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1016		

Ошибка	C2059	синтаксическая ошибка: )	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1016		

Ошибка (активно)	E3232	Невозможно вывести тип диапазона в цикле for на основе диапазона.	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1016		

Предупреждение	lnt-logical-bitwise-mismatch	Использование логические "!", хотя, скорее всего, предполагалось Побитовый "~".	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\ImGui\imgui.cpp	1622		

Ошибка (активно)	E0020	идентификатор "WndProc" не определен	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1170		

Ошибка (активно)	E0020	идентификатор "g_sc" не определен	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1026		

Ошибка (активно)	E0020	идентификатор "g_sc" не определен	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1908		

Ошибка (активно)	E0020	идентификатор "g_sc" не определен	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1920		

Ошибка (активно)	E0020	идентификатор "g_sc" не определен	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1921		

Ошибка (активно)	E0020	идентификатор "g_sc" не определен	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1922		

Ошибка (активно)	E0020	идентификатор "g_rtv" не определен	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1026		

Ошибка (активно)	E0020	идентификатор "g_rtv" не определен	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1905		

Ошибка (активно)	E0020	идентификатор "g_rtv" не определен	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1922		

Ошибка (активно)	E0020	идентификатор "g_rtv" не определен	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1923		

Серьезность	Код	Описание	Проект	Файл	Строка	Состояние подавления	Подробности

Ошибка (активно)	E0020	идентификатор "g_dev" не определен	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1187		

Ошибка (активно)	E0020	идентификатор "g_dev" не определен	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1920		

Ошибка (активно)	E0020	идентификатор "g_dev" не определен	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1922		

Ошибка (активно)	E0020	идентификатор "g_dev" не определен	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1921		

Ошибка (активно)	E0020	идентификатор "g_ctx" не определен	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1026		

Ошибка (активно)	E0020	идентификатор "g_ctx" не определен	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1187		

Ошибка (активно)	E0020	идентификатор "g_ctx" не определен	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1921		

Ошибка (активно)	E0020	идентификатор "g_ctx" не определен	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1920		

Ошибка (активно)	E0020	идентификатор "dy" не определен	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1016		

Предупреждение	C6031	Возвращаемое значение пропущено: "CoInitializeEx".	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1572		

Ошибка	C2065	WndProc: необъявленный идентификатор	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1170		

Ошибка	C3861	MakeRTV: идентификатор не найден	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1920		

Ошибка	C2065	g_sc: необъявленный идентификатор	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1026		

Ошибка	C2065	g_sc: необъявленный идентификатор	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1026		

Ошибка	C2065	g_sc: необъявленный идентификатор	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1908		

Ошибка	C2065	g_sc: необъявленный идентификатор	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1920		

Ошибка	C2065	g_sc: необъявленный идентификатор	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1920		

Ошибка	C2065	g_sc: необъявленный идентификатор	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1921		

Ошибка	C2065	g_sc: необъявленный идентификатор	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1921		

Ошибка	C2065	g_sc: необъявленный идентификатор	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1921		

Ошибка	C2065	g_sc: необъявленный идентификатор	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1922		

Серьезность	Код	Описание	Проект	Файл	Строка	Состояние подавления	Подробности

Ошибка	C2065	g_rtv: необъявленный идентификатор	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1026		

Ошибка	C2065	g_rtv: необъявленный идентификатор	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1026		

Ошибка	C2065	g_rtv: необъявленный идентификатор	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1906		

Ошибка	C2065	g_rtv: необъявленный идентификатор	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1922		

Ошибка	C2065	g_rtv: необъявленный идентификатор	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1905		

Ошибка	C2065	g_rtv: необъявленный идентификатор	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1923		

Ошибка	C2065	g_rtv: необъявленный идентификатор	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1923		

Ошибка	C2065	g_rtv: необъявленный идентификатор	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1923		

Ошибка	C2065	g_dev: необъявленный идентификатор	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1187		

Ошибка	C2065	g_dev: необъявленный идентификатор	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1193		

Ошибка	C2065	g_dev: необъявленный идентификатор	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1920		

Ошибка	C2065	g_dev: необъявленный идентификатор	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1920		

Ошибка	C2065	g_dev: необъявленный идентификатор	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1921		

Ошибка	C2065	g_dev: необъявленный идентификатор	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1921		

Ошибка	C2065	g_dev: необъявленный идентификатор	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1921		

Ошибка	C2065	g_dev: необъявленный идентификатор	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1922		

Ошибка	C2065	g_ctx: необъявленный идентификатор	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1026		

Ошибка	C2065	g_ctx: необъявленный идентификатор	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1187		

Ошибка	C2065	g_ctx: необъявленный идентификатор	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1026		

Ошибка	C2065	g_ctx: необъявленный идентификатор	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1906		

Ошибка	C2065	g_ctx: необъявленный идентификатор	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1905		

Ошибка	C2065	g_ctx: необъявленный идентификатор	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1920		

Ошибка	C2065	g_ctx: необъявленный идентификатор	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1920		

Ошибка	C2065	g_ctx: необъявленный идентификатор	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1921		

Ошибка	C2065	g_ctx: необъявленный идентификатор	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1921		

Ошибка	C2065	g_ctx: необъявленный идентификатор	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1921		

Серьезность	Код	Описание	Проект	Файл	Строка	Состояние подавления	Подробности

Ошибка	C3861	FreeRTV: идентификатор не найден	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1921		

Ошибка	C2065	dy: необъявленный идентификатор	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1016		

Ошибка	C2065	dy: необъявленный идентификатор	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1016		

Ошибка	C2065	dy: необъявленный идентификатор	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1017		

Ошибка	C2065	dy: необъявленный идентификатор	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1017		

Ошибка	C2065	dx: необъявленный идентификатор	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1017		

Ошибка	C2065	dx: необъявленный идентификатор	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1016		

Ошибка	C2065	dx: необъявленный идентификатор	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1017		

Ошибка	C3861	CreateDX11: идентификатор не найден	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1180		

Ошибка	C3861	CleanDX11: идентификатор не найден	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1180		

Ошибка	C3861	CleanDX11: идентификатор не найден	aasdasd	C:\Users\vboxuser\source\repos\aasdasd\main.cpp	1914		



Эти ошибки возникают из-за того, что в процессе правок нарушилась логика объявлений в C++: функции и переменные используются раньше, чем компилятор их «увидел», а опечатка в цикле окончательно ломает синтаксис.

Вот полный план по исправлению:

Ошибка в цикле (dy): В функции DrawIntro допущена опечатка, где переменная пытается инициализировать саму себя.

Как исправить: Замените строку с циклами dx и dy

Ошибки «идентификатор не определен» (g_sc, WndProc, CreateDX11 и др.): C++ читает файл сверху вниз. Если main стоит выше, чем определение переменных DirectX, он их «не видит». Как исправить: Перенесите все объявления глобальных переменных и прототипы функций в самое начало файла (сразу после #include).

2. Реорганизация структуры кода

Чтобы все ошибки исчезли, структура начала файла должна выглядеть иначе.

Удали блок кода, работающий с sound.mp3​.

Убедитесь, что строка io.IniFilename = nullptr; активна в коде. Это предотвратит создание файла imgui.ini в папке, откуда запущен .exe.

Подключи библиотеку #include "skCrypter.h". Абсолютно все открытые текстовые строки (названия вкладок, тексты уведомлений, имена окон) оберни в skCrypt. Внимание: при передаче строк в функции (например, Notif) используй метод .decrypt(), если функция ожидает const char*. Пример: Notif(skCrypt("Text").decrypt(), 5.f);​

3. Интеграция Clipboard-Конфигов (Вместо файлов):

Полностью удали старые функции SaveCfg() и LoadCfg(), которые работали с файлами. Чит не должен ничего сохранять на диск.

Напиши функцию ExportCfgToClipboard(). Она должна собирать все текущие настройки в одну отформатированную строку. Важно: используй только стандартные библиотеки C++ (например, <sstream> или <string>), не пиши и не подключай сторонние библиотеки для Base64 или JSON. Затем скопируй эту строку в буфер обмена Windows с помощью ImGui::SetClipboardText(str.c_str());. То же самое касается парсинга в ImportCfgFromClipboard() — используй стандартный std::stringstream и std::getline с разделителем ;.

Напиши функцию ImportCfgFromClipboard(). Она должна читать текст из буфера с помощью ImGui::GetClipboardText(), парсить эту строку и применять значения обратно к переменным чита.

В меню ImGui замени кнопки "Save" и "Load" на "Export" и "Import", привязав к ним новые функции.

4. Защита от случайных открытий исполняемого exe.

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

В самом начале функции main() (сразу после старта и до любой инициализации) добавь скрытый цикл ожидания. Программа должна висеть в фоне и ждать нажатия клавиши F7 (VK_F7).

Таймаут: Добавь таймер (используй GetTickCount64 или <chrono>). Если клавиша F7 не нажата в течение 10 секунд с момента запуска, процесс должен тихо завершиться (через return 0; или ExitProcess(0);).

Оптимизация: Внутри цикла ожидания обязательно вызывай Sleep(50);, чтобы процесс не потреблял ресурсы процессора.

Если F7 нажата до истечения 10 секунд, цикл прерывается, и чит начинает свою нормальную работу.

Сделай чтобы функция OBS Bypass была включена по стандарту автоматически.