Привет! Как я могу помочь вам сегодня?
Крашит при инжекте
#include "includes.h"
#include "Fonts.h"
#include "CustomGUI.h"
#include <tchar.h>
#include <d3d11.h>
Present oPresent;
HWND window = NULL;
WNDPROC oWndProc;
ID3D11Device* pDevice = NULL;
ID3D11DeviceContext* pContext = NULL;
ID3D11RenderTargetView* mainRenderTargetView;
void InitImGui()
{
ImGui::CreateContext();
ImGuiIO& io = ImGui::GetIO();
io.Fonts->AddFontFromFileTTF("C:\\Windows\\Fonts\\Arial.ttf", 20, NULL, io.Fonts->GetGlyphRangesCyrillic());
io.ConfigFlags = ImGuiConfigFlags_NoMouseCursorChange;
ImGui_ImplWin32_Init(window);
ImGui_ImplDX11_Init(pDevice, pContext);
}
LRESULT __stdcall WndProc(const HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) {
if (true && ImGui_ImplWin32_WndProcHandler(hWnd, uMsg, wParam, lParam))
return true;
return CallWindowProc(oWndProc, hWnd, uMsg, wParam, lParam);
}
bool openmenu = true;
bool init = false;
HRESULT __stdcall hkPresent(IDXGISwapChain* pSwapChain, UINT SyncInterval, UINT Flags, HMODULE hMod)
{
if (!init)
{
if (SUCCEEDED(pSwapChain->GetDevice(__uuidof(ID3D11Device), (void**)&pDevice)))
{
pDevice->GetImmediateContext(&pContext);
DXGI_SWAP_CHAIN_DESC sd;
pSwapChain->GetDesc(&sd);
window = sd.OutputWindow;
ID3D11Texture2D* pBackBuffer;
pSwapChain->GetBuffer(0, __uuidof(ID3D11Texture2D), (LPVOID*)&pBackBuffer);
pDevice->CreateRenderTargetView(pBackBuffer, NULL, &mainRenderTargetView);
pBackBuffer->Release();
oWndProc = (WNDPROC)SetWindowLongPtr(window, GWLP_WNDPROC, (LONG_PTR)WndProc);
InitImGui();
init = true;
}
else
return oPresent(pSwapChain, SyncInterval, Flags);
}
auto flags = ImGuiConfigFlags_NoMouseCursorChange | ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoScrollbar | ImGuiWindowFlags_NoResize | ImGuiWindowFlags_AlwaysAutoResize;
ImGuiIO& io = ImGui::GetIO(); (void)io;
ImGui::StyleColorsDark();
ImGui::GetIO().Fonts->AddFontFromMemoryCompressedTTF(Droid_compressed_data, Droid_compressed_size, 12.f, nullptr, ImGui::GetIO().Fonts->GetGlyphRangesCyrillic());
CGUI::icons = ImGui::GetIO().Fonts->AddFontFromMemoryCompressedTTF(MyFont_compressed_data1, MyFont_compressed_size1, 22.f, nullptr, ImGui::GetIO().Fonts->GetGlyphRangesCyrillic());
CGUI::big = ImGui::GetIO().Fonts->AddFontFromMemoryCompressedTTF(Droid_compressed_data, Droid_compressed_size, 14.f, nullptr, ImGui::GetIO().Fonts->GetGlyphRangesCyrillic());
CGUI::bigger = ImGui::GetIO().Fonts->AddFontFromMemoryCompressedTTF(Droid_compressed_data, Droid_compressed_size, 20.f, nullptr, ImGui::GetIO().Fonts->GetGlyphRangesCyrillic());
bool show_demo_window = true;
bool show_another_window = false;
ImVec4 clear_color = ImVec4(0.15f, 0.15f, 0.15f, 1.00f);
if (GetAsyncKeyState(VK_HOME) & 1) {
openmenu = !openmenu;
}
if (openmenu) {
static int tab = 0;
static int subtab = 0;
auto flags = ImGuiWindowFlags_NoResize | ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoTitleBar;
ImGui::PushStyleVar(ImGuiStyleVar_WindowRounding, 6.f);
ImGui::PushStyleVar(ImGuiStyleVar_WindowPadding, { 0,0 });
ImGui::PushStyleVar(ImGuiStyleVar_WindowBorderSize, 0);
ImGui::SetNextWindowSize({ 720,490 });
ImGui::Begin("##menu", nullptr, flags);
{
ImDrawList* draw = ImGui::GetWindowDrawList();
ImVec2 pos = ImGui::GetWindowPos();
draw->AddRectFilled({ pos.x,pos.y }, { pos.x + 720,pos.y + 50 }, ImColor(19, 22, 26), 6.f, ImDrawCornerFlags_Top);
draw->AddRectFilled({ pos.x ,pos.y + 50 }, { pos.x + 720,pos.y + 490 }, ImColor(25, 30, 35), 6.f, ImDrawCornerFlags_All);
draw->AddRectFilled({ pos.x ,pos.y + 470 }, { pos.x + 720,pos.y + 490 }, ImColor(45, 50, 55), 6.f, ImDrawCornerFlags_Bot);
draw->AddText({ pos.x + 710 - ImGui::CalcTextSize("SITENAME.DOMAIN - 2020 (c)").x,pos.y + 470 + 10 - ImGui::CalcTextSize("SITENAME.DOMAIN - 2020 (c)").y / 2 }, ImColor(250, 250, 250), "SITENAME.DOMAIN - 2020 (c)");
ImGui::PushFont(CGUI::bigger);
ImGui::SetCursorPos({ 20,25 - ImGui::CalcTextSize("CHEATNAME").y / 2 });
ImGui::Text("CHEATNAME");
ImGui::PopFont();
ImGui::SetCursorPos({ 200,0 });
ImGui::BeginGroup();
{
if (CGUI::Tab("0", "Ragebot", "Description", ImVec2(95, 50), tab == 0 ? true : false))
tab = 0;
ImGui::SameLine();
if (CGUI::Tab("2", "Visuals", "Description", ImVec2(95, 50), tab == 1 ? true : false))
tab = 1;
ImGui::SameLine();
if (CGUI::Tab("7", "Misc", "Description", ImVec2(95, 50), tab == 2 ? true : false))
tab = 2;
ImGui::SameLine();
if (CGUI::Tab("5", "Skins", "Description", ImVec2(95, 50), tab == 7 ? true : false))
tab = 7;
ImGui::SameLine();
if (CGUI::Tab("8", "Configs", "Description", ImVec2(95, 50), tab == 3 ? true : false))
tab = 3;
}
ImGui::EndGroup();
ImGui::SetCursorPos({ 10,60 });
ImGui::BeginGroup();
{
if (tab == 0)
{
ImGui::Spacing();
ImGui::Spacing();
if (CGUI::SubTab("Subtab 1", ImVec2(150, 25), subtab == 0 ? true : false))
subtab = 0;
ImGui::Spacing();
if (CGUI::SubTab("Subtab 2", ImVec2(150, 25), subtab == 1 ? true : false))
subtab = 1;
}
ImGui::EndGroup();
static bool checkboxbool = false;
static int sliderint = 254;
static int comboint = 1;
static float coloredit[3] = { 0.f,0.f,0.f };
ImGui::SetCursorPos({ 170,60 });
ImGui::BeginGroup();
{
ImGui::BeginChild("items", { 530, 400 });
{
draw->AddRectFilled(ImGui::GetWindowPos(), { ImGui::GetWindowPos().x + 530,ImGui::GetWindowPos().y + 400 }, ImColor(30, 35, 40, 200), 8.f);
ImGui::PushFont(CGUI::big);
ImGui::SetCursorPos({ 10,10 });
ImGui::BeginGroup();
{
if (tab == 0)
{
CGUI::Checkbox("Checkbox", &checkboxbool);
ImGui::PushItemWidth(-5);
CGUI::SliderInt("Slider Int", &sliderint, 0, 1000, "%.3f");
ImGui::PushItemWidth(-15);
CGUI::Combo("Combo", &comboint, ("Default \0\r Non-Default\0\0"));
CGUI::Button("Button", {}, NULL);
ImGui::ColorEdit3("Color Edit", coloredit, ImGuiColorEditFlags_NoInputs | ImGuiColorEditFlags_DisplayRGB | ImGuiColorEditFlags_NoTooltip);
}
}
ImGui::EndGroup();
ImGui::PopFont();
}
ImGui::EndChild();
}
ImGui::EndGroup();
}
ImGui::End();
ImGui::PopStyleVar(3);
// Rendering
ImGui::EndFrame();
}
}
return oPresent(pSwapChain, SyncInterval, Flags);
}
DWORD WINAPI MainThread(LPVOID lpReserved)
{
bool init_hook = false;
do
{
if (kiero::init(kiero::RenderType::D3D11) == kiero::Status::Success)
{
kiero::bind(8, (void**)&oPresent, hkPresent);
init_hook = true;
}
} while (!init_hook);
return TRUE;
}
BOOL WINAPI DllMain(HMODULE hMod, DWORD dwReason, LPVOID lpReserved)
{
if (dwReason == DLL_PROCESS_ATTACH) {
DisableThreadLibraryCalls(hMod);
CloseHandle(CreateThread(0, 0, (LPTHREAD_START_ROUTINE)MainThread, hMod, 0, 0));
}
return TRUE;
}