This is the same layout used in production tools (ImGui + Win32 + Visual Studio). No KeyAuth library — only WinHTTP and your dashboard credentials.
Download C++ SDK (ZIP) Use AI instead (Cursor / ChatGPT)
1.0) — must match your EXE exactly.ghotz-cpp.zip contains every file. After unzip, read PROJECT_SETUP.txt in the folder.
| Copy to your project | Add in Visual Studio? | What it does |
|---|---|---|
include/ghotz_config.h | No (header only) | Your name, ownerid, version, url |
include/ghotz_auth.h | No | ghotz::Auth + GhotzAuth:: wrapper |
src/ghotz_auth.cpp | Yes — Compile | WinHTTP client → POST /api/1.2/index.php |
include/login_screen.h | No | ImGui login UI (optional) |
src/login_screen.cpp | Yes — Compile | Login button → GhotzAuth::Login / License |
Your main.cpp / dllmain.cpp | Already in project | Call GhotzAuth::Init() at start; main menu only if logged in |
name, ownerid, version (when and how)1.0).include/ghotz_config.h.example → include/ghotz_config.h.ghotz_config.h and replace the four strings — save before building.Field in ghotz_config.h | Where you get it in dashboard | Example |
|---|---|---|
name |
Manage Apps → your app card → Application name (not the secret) | YOUR_APP_NAME |
ownerid |
Same page → Owner ID (always 10 characters) | XXXXXXXXXX |
version |
App Settings → Version — must be identical in code and dashboard | 1.0 |
url |
Fixed for all apps (do not change unless self-hosting) | https://keyghotz.space/api/1.2/ |
When to write this file: right after you create/select the app in the dashboard — before you build the EXE. Copy ghotz_config.h.example → ghotz_config.h, paste the four values, save, then add other SDK files.
Never put secret in the EXE (server/webhooks only).
#pragma once
namespace ghotz_config {
inline const char* name = "YOUR_APP_NAME";
inline const char* ownerid = "XXXXXXXXXX";
inline const char* version = "1.0";
inline const char* url = "https://keyghotz.space/api/1.2/";
}
| Library | Required? | How to add in Visual Studio |
|---|---|---|
winhttp.lib |
Yes (auth HTTP) | Project → Properties → Linker → Input → Additional Dependencies → add winhttp.libOr keep #pragma comment(lib, "winhttp.lib") at top of ghotz_auth.cpp (already there). |
d3d11.lib / dxgi.lib |
Only if you use ImGui + DirectX11 | Same Linker → Input (your overlay already may have these) |
KeyAuth library_x64.lib |
No — remove it | Ghotz uses WinHTTP only; delete old KeyAuth .lib from linker list |
$(ProjectDir)include/std:c++17 or newerwinhttp.lib (plus your D3D libs if ImGui)Add .cpp files: right-click project → Add → Existing Item → pick src/ghotz_auth.cpp and src/login_screen.cpp.
#include lines (paste in your code)// At top of dllmain.cpp, main.cpp, or login_screen.cpp: #include "ghotz_config.h" // name, ownerid, version, url (edit this file first) #include "ghotz_auth.h" // GhotzAuth::Init(), Login(), License() #include "login_screen.h" // optional ImGui UI
// 1) When EXE / panel starts (once):
GhotzAuth::Init();
if (!GhotzAuth::InitSucceeded()) {
// show GhotzAuth::LastError() on login screen — do not open main menu
}
// 2) Login button:
if (GhotzAuth::Login(username, password)) {
authenticed = true;
login_page = 0;
}
// OR: GhotzAuth::License(license_key);
// 3) Main loop — only draw cheat/menu when authenticed == true:
if (login_page && !authenticed)
LoginScreen_Render(&authenticed, &login_page);
else if (authenticed)
DrawYourMainMenu();API: POST https://keyghotz.space/api/1.2/index.php (form-urlencoded). See example/WINMAIN_SNIPPET.txt in the ZIP.
<!DOCTYPE html> → re-upload api/1.2/ on the server (see API_DEPLOY_FIX.md in the website package).Session not found → upload latest api/1.2/index.php on Hostinger, rebuild EXE.invalidver → version in code ≠ version in App Settings.Keep your old SDK. Change only:
https://keyghotz.space/api/1.2/name, ownerid, version from Ghotz dashboardIn the dashboard: Manage Apps → your app → Part 8 — Full AI guide → copy prompt into Cursor. The prompt includes your real credentials and this exact file layout.