December 14, 2025Dec 14 You need to be compile project.#include <windows.h> #include <tlhelp32.h> #include <psapi.h> #include <winsvc.h> #include <iostream> #include <vector> #include <string> #include <sstream> #include <algorithm> #include <io.h> #include <fcntl.h> #include <conio.h> #include <cmath> #include <ctime> #include <windows.h> #include <tlhelp32.h> #include <iostream> #include <thread> #include <chrono> #include <tchar.h> #include <windows.h> #include <tlhelp32.h> #include <psapi.h> #include <winsvc.h> #include <iostream> #include <vector> #include <string> #include <sstream> #include <algorithm> #include <io.h> #include <fcntl.h> #include <conio.h> #include <cmath> #include <ctime> using namespace std; void Center(const std::string& text) { CONSOLE_SCREEN_BUFFER_INFO csbi; GetConsoleScreenBufferInfo(GetStdHandle(STD_OUTPUT_HANDLE), &csbi); int consoleWidth = csbi.srWindow.Right - csbi.srWindow.Left + 1; int padding = (consoleWidth - text.size()) / 2; if (padding < 0) padding = 0; cout << string(padding, ' ') << text << endl; } bool IsElevated() { BOOL isAdmin = FALSE; HANDLE token = NULL; if (OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY, &token)) { TOKEN_ELEVATION elevation; DWORD size = sizeof(TOKEN_ELEVATION); if (GetTokenInformation(token, TokenElevation, &elevation, sizeof(elevation), &size)) { isAdmin = elevation.TokenIsElevated; } CloseHandle(token); } return isAdmin != FALSE; } void CHECK_ADMIN() { if (IsElevated()) { // Already admin → do nothing return; } // Not admin → relaunch self as admin wchar_t szPath[MAX_PATH]; GetModuleFileNameW(NULL, szPath, MAX_PATH); SHELLEXECUTEINFOW sei = { sizeof(sei) }; sei.lpVerb = L"runas"; sei.lpFile = szPath; sei.hwnd = NULL; sei.nShow = SW_NORMAL; if (ShellExecuteExW(&sei)) { // Success → child process started with admin rights exit(0); // kill the non-elevated instance } else { // User clicked "No" on UAC or error Center("[!] Failed to elevate to administrator."); Center("[!] Run the program as administrator manually."); Sleep(4000); exit(1); } } bool IsVgcRunning() { SC_HANDLE scManager = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS); if (scManager == NULL) { std::cerr << "OpenSCManager failed: " << GetLastError() << std::endl; return false; } SC_HANDLE service = OpenService(scManager, L"vgc", SERVICE_QUERY_STATUS); if (service == NULL) { std::cerr << "OpenService failed: " << GetLastError() << std::endl; CloseServiceHandle(scManager); return false; } SERVICE_STATUS_PROCESS ssStatus; DWORD bytesNeeded; if (!QueryServiceStatusEx(service, SC_STATUS_PROCESS_INFO, (LPBYTE)&ssStatus, sizeof(SERVICE_STATUS_PROCESS), &bytesNeeded)) { std::cerr << "QueryServiceStatusEx failed: " << GetLastError() << std::endl; CloseServiceHandle(service); CloseServiceHandle(scManager); return false; } CloseServiceHandle(service); CloseServiceHandle(scManager); return ssStatus.dwCurrentState == SERVICE_RUNNING; } bool StartVgc() { SC_HANDLE scManager = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS); if (scManager == NULL) { std::cerr << "OpenSCManager failed: " << GetLastError() << std::endl; return false; } SC_HANDLE service = OpenService(scManager, L"vgc", SERVICE_START); if (service == NULL) { std::cerr << "OpenService failed: " << GetLastError() << std::endl; CloseServiceHandle(scManager); return false; } if (!StartService(service, 0, NULL)) { std::cerr << "StartService failed: " << GetLastError() << std::endl; CloseServiceHandle(service); CloseServiceHandle(scManager); return false; } CloseServiceHandle(service); CloseServiceHandle(scManager); return true; } bool IsProcessRunning(const TCHAR* executableName) { PROCESSENTRY32 entry; entry.dwSize = sizeof(PROCESSENTRY32); HANDLE snapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); if (snapshot == INVALID_HANDLE_VALUE) return false; if (!Process32First(snapshot, &entry)) { CloseHandle(snapshot); return false; } do { if (!_tcsicmp(entry.szExeFile, executableName)) { CloseHandle(snapshot); return true; } } while (Process32Next(snapshot, &entry)); CloseHandle(snapshot); return false; } #define PURPLE 13 #define GREEN 10 #define RED 12 #define YELLOW 14 void SetColor(int c) { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), c); } void LOGO() { SetColor(PURPLE); cout << R"( ____________________________________________________________ | ___ ___ __ ___ _______ ___ ___ | | |" \ /" |/""\ |" | /" "||" \/" | | | \ \ // // \ || | (: ______) \ \ / | | \\ \/. .//' /\ \ |: | \/ | \\ \/ | | \. //// __' \ \ |___ // ___)_ /\. \ | | \\ // / \\ \( \_|: \(: "| / \ \ | | \__/(___/ \___)\_______)\_______)|___/\___| | | | ____________________________________________________________ )" << endl; } void WaitForProcessToOpen(const TCHAR* processName) { SetColor(YELLOW); Center("==================================================================="); Center("[+] Waiting for VALORANT to start..."); Center("==================================================================="); // Get console width CONSOLE_SCREEN_BUFFER_INFO csbi; HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE); GetConsoleScreenBufferInfo(hConsole, &csbi); int consoleWidth = csbi.srWindow.Right - csbi.srWindow.Left + 1; string base = "[+] Waiting"; int dots = 0; // Print a blank centered line where animation will be int animPad = (consoleWidth - (int)base.size() - 3) / 2; cout << endl; cout << string(animPad, ' ') << base << " " << endl; // Save cursor position (this is where animation will update) CONSOLE_SCREEN_BUFFER_INFO posInfo; GetConsoleScreenBufferInfo(hConsole, &posInfo); int animX = animPad; int animY = posInfo.dwCursorPosition.Y - 1; // line we just printed while (!IsProcessRunning(processName)) { // Move cursor to animation position COORD pos; pos.X = animX; pos.Y = animY; SetConsoleCursorPosition(hConsole, pos); // Print animation cout << base << string(dots, '.') << " "; dots = (dots + 1) % 4; cout.flush(); std::this_thread::sleep_for(std::chrono::milliseconds(400)); } // When found, move cursor down and print message COORD endPos; endPos.X = 0; endPos.Y = animY + 2; SetConsoleCursorPosition(hConsole, endPos); SetColor(GREEN); Center("[+] VALORANT FOUND!"); cout << endl; } void PrintASCIIArt(); void PrintColoredText(const std::wstring& text, bool animated); class PopupBypass { private: std::vector<DWORD> dnsCacheThreadler; std::vector<DWORD> svchostThreadler; std::vector<DWORD> askiyaAlinanThreadler; HANDLE hDnsCacheProcess; DWORD vgcPID; DWORD svchostPID; bool bypassAktif; bool dnsFreezeYapildi; struct ProcessCpuInfo { DWORD pid; ULONGLONG lastKernelTime; ULONGLONG lastUserTime; }; ProcessCpuInfo vgcCpuInfo; bool HataAyiklamaHaklariniEtkinlestir() { HANDLE hToken; TOKEN_PRIVILEGES tp; LUID luid; if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken)) return false; if (!LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &luid)) { CloseHandle(hToken); return false; } tp.PrivilegeCount = 1; tp.Privileges[0].Luid = luid; tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; AdjustTokenPrivileges(hToken, FALSE, &tp, sizeof(TOKEN_PRIVILEGES), NULL, NULL); CloseHandle(hToken); return true; } DWORD ProsesBul(const std::wstring& prosesIsmi) { HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); if (hSnapshot == INVALID_HANDLE_VALUE) return 0; PROCESSENTRY32W pe; pe.dwSize = sizeof(pe); if (!Process32FirstW(hSnapshot, &pe)) { CloseHandle(hSnapshot); return 0; } do { std::wstring mevcutProses(pe.szExeFile); std::transform(mevcutProses.begin(), mevcutProses.end(), mevcutProses.begin(), ::towlower); std::wstring hedefProses(prosesIsmi); std::transform(hedefProses.begin(), hedefProses.end(), hedefProses.begin(), ::towlower); if (mevcutProses == hedefProses) { CloseHandle(hSnapshot); return pe.th32ProcessID; } } while (Process32NextW(hSnapshot, &pe)); CloseHandle(hSnapshot); return 0; } void ValorantKapat() { DWORD valorantPID = ProsesBul(L"VALORANT-Win64-Shipping.exe"); if (valorantPID != 0) { HANDLE hValorant = OpenProcess(PROCESS_TERMINATE, FALSE, valorantPID); if (hValorant) { TerminateProcess(hValorant, 0); CloseHandle(hValorant); } } } void KillProcessByName(const wchar_t* processName) { HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); if (hSnapshot == INVALID_HANDLE_VALUE) return; PROCESSENTRY32W pe; pe.dwSize = sizeof(pe); if (Process32FirstW(hSnapshot, &pe)) { do { std::wstring currentProcess(pe.szExeFile); std::transform(currentProcess.begin(), currentProcess.end(), currentProcess.begin(), ::towlower); std::wstring targetProcess(processName); std::transform(targetProcess.begin(), targetProcess.end(), targetProcess.begin(), ::towlower); if (currentProcess == targetProcess) { HANDLE hProcess = OpenProcess(PROCESS_TERMINATE, FALSE, pe.th32ProcessID); if (hProcess) { TerminateProcess(hProcess, 0); CloseHandle(hProcess); } } } while (Process32NextW(hSnapshot, &pe)); } CloseHandle(hSnapshot); } bool ServisDurdur(const wchar_t* serviceName) { SC_HANDLE hSCManager = OpenSCManagerW(NULL, NULL, SC_MANAGER_CONNECT); if (!hSCManager) return false; SC_HANDLE hService = OpenServiceW(hSCManager, serviceName, SERVICE_STOP | SERVICE_QUERY_STATUS); if (!hService) { CloseServiceHandle(hSCManager); return false; } SERVICE_STATUS_PROCESS ssp; DWORD dwBytesNeeded; if (QueryServiceStatusEx(hService, SC_STATUS_PROCESS_INFO, (LPBYTE)&ssp, sizeof(SERVICE_STATUS_PROCESS), &dwBytesNeeded)) { if (ssp.dwCurrentState != SERVICE_STOPPED) { ControlService(hService, SERVICE_CONTROL_STOP, (LPSERVICE_STATUS)&ssp); for (int i = 0; i < 50; i++) { Sleep(100); if (QueryServiceStatusEx(hService, SC_STATUS_PROCESS_INFO, (LPBYTE)&ssp, sizeof(SERVICE_STATUS_PROCESS), &dwBytesNeeded)) { if (ssp.dwCurrentState == SERVICE_STOPPED) break; } } } } CloseServiceHandle(hService); CloseServiceHandle(hSCManager); return true; } bool ServisBaslat(const wchar_t* serviceName) { SC_HANDLE hSCManager = OpenSCManagerW(NULL, NULL, SC_MANAGER_CONNECT); if (!hSCManager) return false; SC_HANDLE hService = OpenServiceW(hSCManager, serviceName, SERVICE_START | SERVICE_QUERY_STATUS); if (!hService) { CloseServiceHandle(hSCManager); return false; } SERVICE_STATUS_PROCESS ssp; DWORD dwBytesNeeded; if (QueryServiceStatusEx(hService, SC_STATUS_PROCESS_INFO, (LPBYTE)&ssp, sizeof(SERVICE_STATUS_PROCESS), &dwBytesNeeded)) { if (ssp.dwCurrentState == SERVICE_STOPPED) { StartServiceW(hService, 0, NULL); for (int i = 0; i < 50; i++) { Sleep(100); if (QueryServiceStatusEx(hService, SC_STATUS_PROCESS_INFO, (LPBYTE)&ssp, sizeof(SERVICE_STATUS_PROCESS), &dwBytesNeeded)) { if (ssp.dwCurrentState == SERVICE_RUNNING) break; } } } } CloseServiceHandle(hService); CloseServiceHandle(hSCManager); return true; } void NetshKomutu(const std::wstring& komut) { STARTUPINFOW si = { sizeof(STARTUPINFOW) }; PROCESS_INFORMATION pi = {}; si.dwFlags = STARTF_USESHOWWINDOW; si.wShowWindow = SW_HIDE; std::wstring cmdLine = L"netsh.exe " + komut; std::vector<wchar_t> cmdBuffer(cmdLine.begin(), cmdLine.end()); cmdBuffer.push_back(L'\0'); CreateProcessW(nullptr, cmdBuffer.data(), nullptr, nullptr, FALSE, CREATE_NO_WINDOW | CREATE_NEW_CONSOLE, nullptr, nullptr, &si, &pi); if (pi.hProcess) { WaitForSingleObject(pi.hProcess, 2000); CloseHandle(pi.hProcess); CloseHandle(pi.hThread); } } void GuvenlikDuvariKuraliEkle(const std::wstring& kuralIsmi, const std::wstring& programYolu, bool giden) { std::wstringstream ss; ss << L"advfirewall firewall add rule name=\"" << kuralIsmi << L"\" dir=" << (giden ? L"out" : L"in") << L" action=block program=\"" << programYolu << L"\" enable=yes profile=any"; NetshKomutu(ss.str()); } void GuvenlikDuvariKuraliSil(const std::wstring& kuralIsmi) { std::wstringstream ss; ss << L"advfirewall firewall delete rule name=\"" << kuralIsmi << L"\""; NetshKomutu(ss.str()); } void GuvenlikDuvariEngellemeleri() { std::wstring vgcYolu = L"C:\\Program Files\\Riot Vanguard\\vgc.exe"; std::wstring vgmYolu = L"C:\\Program Files\\Riot Vanguard\\vgm.exe"; GuvenlikDuvariKuraliEkle(L"Block vgc.exe Outbound", vgcYolu, true); GuvenlikDuvariKuraliEkle(L"Block vgm.exe Outbound", vgmYolu, true); } void GuvenlikDuvariKurallariniTemizle() { GuvenlikDuvariKuraliSil(L"Block vgc.exe Outbound"); GuvenlikDuvariKuraliSil(L"Block vgc.exe Inbound"); GuvenlikDuvariKuraliSil(L"Block vgm.exe Outbound"); } DWORD GetServicePID(const wchar_t* serviceName) { SC_HANDLE hSCManager = OpenSCManagerW(NULL, NULL, SC_MANAGER_ENUMERATE_SERVICE); if (!hSCManager) return 0; SC_HANDLE hService = OpenServiceW(hSCManager, serviceName, SERVICE_QUERY_STATUS); if (!hService) { CloseServiceHandle(hSCManager); return 0; } SERVICE_STATUS_PROCESS ssp; DWORD dwBytesNeeded; if (!QueryServiceStatusEx(hService, SC_STATUS_PROCESS_INFO, (LPBYTE)&ssp, sizeof(SERVICE_STATUS_PROCESS), &dwBytesNeeded)) { CloseServiceHandle(hService); CloseServiceHandle(hSCManager); return 0; } DWORD pid = ssp.dwProcessId; CloseServiceHandle(hService); CloseServiceHandle(hSCManager); return pid; } bool DnsCacheFreeze() { ServisDurdur(L"Dnscache"); Sleep(300); ServisBaslat(L"Dnscache"); Sleep(500); DWORD dnsPid = GetServicePID(L"Dnscache"); if (dnsPid == 0) return false; hDnsCacheProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, dnsPid); if (!hDnsCacheProcess) return false; HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, 0); if (hSnapshot == INVALID_HANDLE_VALUE) return false; THREADENTRY32 te; te.dwSize = sizeof(THREADENTRY32); dnsCacheThreadler.clear(); if (Thread32First(hSnapshot, &te)) { do { if (te.th32OwnerProcessID == dnsPid) { HANDLE hThread = OpenThread(THREAD_SUSPEND_RESUME, FALSE, te.th32ThreadID); if (hThread) { SuspendThread(hThread); dnsCacheThreadler.push_back(te.th32ThreadID); CloseHandle(hThread); } } } while (Thread32Next(hSnapshot, &te)); } CloseHandle(hSnapshot); dnsFreezeYapildi = !dnsCacheThreadler.empty(); return dnsFreezeYapildi; } void DnsCacheUnfreeze() { for (DWORD threadID : dnsCacheThreadler) { HANDLE hThread = OpenThread(THREAD_SUSPEND_RESUME, FALSE, threadID); if (hThread) { ResumeThread(hThread); CloseHandle(hThread); } } dnsCacheThreadler.clear(); if (hDnsCacheProcess) { CloseHandle(hDnsCacheProcess); hDnsCacheProcess = NULL; } dnsFreezeYapildi = false; } bool SvchostSuspend() { DWORD dnsServicePID = GetServicePID(L"Dnscache"); if (dnsServicePID == 0) return false; svchostThreadler.clear(); bool basarili = false; HANDLE hSnapshotThread = CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, 0); if (hSnapshotThread != INVALID_HANDLE_VALUE) { THREADENTRY32 te; te.dwSize = sizeof(THREADENTRY32); if (Thread32First(hSnapshotThread, &te)) { do { if (te.th32OwnerProcessID == dnsServicePID) { HANDLE hThread = OpenThread(THREAD_SUSPEND_RESUME, FALSE, te.th32ThreadID); if (hThread) { SuspendThread(hThread); svchostThreadler.push_back(te.th32ThreadID); basarili = true; CloseHandle(hThread); } } } while (Thread32Next(hSnapshotThread, &te)); } CloseHandle(hSnapshotThread); } if (basarili) { svchostPID = dnsServicePID; } return basarili; } void SvchostResume() { for (DWORD threadID : svchostThreadler) { HANDLE hThread = OpenThread(THREAD_SUSPEND_RESUME, FALSE, threadID); if (hThread) { ResumeThread(hThread); CloseHandle(hThread); } } svchostThreadler.clear(); svchostPID = 0; } double GetVgcCpuUsage() { if (vgcPID == 0) return 0.0; HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, FALSE, vgcPID); if (!hProcess) return 0.0; FILETIME ftCreation, ftExit, ftKernel, ftUser; if (!GetProcessTimes(hProcess, &ftCreation, &ftExit, &ftKernel, &ftUser)) { CloseHandle(hProcess); return 0.0; } ULARGE_INTEGER kernel, user; kernel.LowPart = ftKernel.dwLowDateTime; kernel.HighPart = ftKernel.dwHighDateTime; user.LowPart = ftUser.dwLowDateTime; user.HighPart = ftUser.dwHighDateTime; ULONGLONG currentTime = kernel.QuadPart + user.QuadPart; double cpuUsage = 0.0; if (vgcCpuInfo.lastKernelTime != 0) { ULONGLONG timeDiff = currentTime - (vgcCpuInfo.lastKernelTime + vgcCpuInfo.lastUserTime); if (timeDiff > 0) { cpuUsage = (double)timeDiff / 100000.0; } } vgcCpuInfo.lastKernelTime = kernel.QuadPart; vgcCpuInfo.lastUserTime = user.QuadPart; CloseHandle(hProcess); return cpuUsage; } void VgcThreadleriniAskiyaAl() { if (vgcPID == 0) { vgcPID = ProsesBul(L"vgc.exe"); if (vgcPID == 0) return; } HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, 0); if (hSnapshot == INVALID_HANDLE_VALUE) return; THREADENTRY32 te; te.dwSize = sizeof(THREADENTRY32); std::vector<DWORD> yeniThreadler; if (Thread32First(hSnapshot, &te)) { do { if (te.th32OwnerProcessID == vgcPID) { bool zatenVar = false; for (DWORD tid : askiyaAlinanThreadler) { if (tid == te.th32ThreadID) { zatenVar = true; break; } } if (!zatenVar) { HANDLE hThread = OpenThread(THREAD_SUSPEND_RESUME, FALSE, te.th32ThreadID); if (hThread) { SuspendThread(hThread); yeniThreadler.push_back(te.th32ThreadID); CloseHandle(hThread); } } } } while (Thread32Next(hSnapshot, &te)); } CloseHandle(hSnapshot); if (!yeniThreadler.empty()) { askiyaAlinanThreadler.insert(askiyaAlinanThreadler.end(), yeniThreadler.begin(), yeniThreadler.end()); } } void VgcThreadleriniDevamEttir() { for (DWORD threadID : askiyaAlinanThreadler) { HANDLE hThread = OpenThread(THREAD_SUSPEND_RESUME | THREAD_SET_INFORMATION, FALSE, threadID); if (hThread) { SetThreadPriority(hThread, THREAD_PRIORITY_NORMAL); ResumeThread(hThread); CloseHandle(hThread); } } askiyaAlinanThreadler.clear(); if (vgcPID != 0) { HANDLE hVgc = OpenProcess(PROCESS_SET_INFORMATION | PROCESS_QUERY_INFORMATION, FALSE, vgcPID); if (hVgc) { SetPriorityClass(hVgc, NORMAL_PRIORITY_CLASS); DWORD_PTR processAffinityMask; DWORD_PTR systemAffinityMask; if (GetProcessAffinityMask(hVgc, &processAffinityMask, &systemAffinityMask)) { SetProcessAffinityMask(hVgc, systemAffinityMask); } SIZE_T minWorkingSet = -1; SIZE_T maxWorkingSet = -1; SetProcessWorkingSetSize(hVgc, minWorkingSet, maxWorkingSet); CloseHandle(hVgc); } } } static DWORD WINAPI PopupBypassThread(LPVOID lpParam) { PopupBypass* self = (PopupBypass*)lpParam; self->PopupBypassRutini(); return 0; } void PopupBypassRutini() { system("cls"); PrintASCIIArt(); std::wcout << L"\n"; std::wcout << L"1. Popup Bypass\n"; std::wcout << L"2. Safe Exit\n"; std::wcout << L"3. STOP BYPASS\n\n"; std::wcout << L"Enter your choice : \n\n"; PrintColoredText(L"[*] Bypass started.\n", true); PrintColoredText(L"[*] Please open the game…\n", true); while (ProsesBul(L"VALORANT-Win64-Shipping.exe") == 0) { if (!bypassAktif) return; Sleep(500); } PrintColoredText(L"[+] Game detected!\n", true); PrintColoredText(L"[*] Waiting 8 seconds…\n", true); for (int i = 0; i < 80 && bypassAktif; i++) { Sleep(100); } if (!bypassAktif) return; vgcPID = ProsesBul(L"vgc.exe"); if (vgcPID == 0) { PrintColoredText(L"[*] Waiting for VGC..\n", true); for (int i = 0; i < 10 && vgcPID == 0 && bypassAktif; i++) { Sleep(1000); vgcPID = ProsesBul(L"vgc.exe"); } } if (!bypassAktif || vgcPID == 0) { PrintColoredText(L"[-] VGC not found!\n", true); return; } vgcCpuInfo.lastKernelTime = 0; vgcCpuInfo.lastUserTime = 0; PrintColoredText(L"[*] VGC CPU usage is being monitored…\n", true); bool cpuSpikeDetected = false; while (!cpuSpikeDetected && bypassAktif) { double cpu = GetVgcCpuUsage(); if (cpu >= 0.1) { cpuSpikeDetected = true; PrintColoredText(L"[+] CPU spike detected! Applying DNS freeze…\n", true); break; } Sleep(10); } if (!bypassAktif) return; if (!cpuSpikeDetected) { PrintColoredText(L"[-] CPU spike tespit edilemedi!\n", true); return; } if (DnsCacheFreeze()) { PrintColoredText(L"[+]DNS freeze applied!\n", true); } else { PrintColoredText(L"[-] DNS freeze failed!\n", true); return; } PrintColoredText(L"[+] Bypass active! (press F8 to terminate)\n\n", true); std::wcout << L" Press any key to continue…\n\n"; } void SafeExitIslemleri() { system("cls"); PrintASCIIArt(); std::wcout << L"\n"; std::wcout << L"1. Popup Bypass\n"; std::wcout << L"2. Safe Exit\n"; std::wcout << L"3. Cikis\n\n"; std::wcout << L"Seciminiz: 2\n\n"; PrintColoredText(L"[*] Closing Valorant…\n", true); ValorantKapat(); Sleep(2000); PrintColoredText(L"[*] Stopping bypass…\n", true); bypassAktif = false; Sleep(500); PrintColoredText(L"[*] Performing DNS unfreeze…\n", true); DnsCacheUnfreeze(); ServisDurdur(L"Dnscache"); Sleep(1000); ServisBaslat(L"Dnscache"); Sleep(1000); dnsFreezeYapildi = false; vgcPID = 0; svchostPID = 0; dnsCacheThreadler.clear(); PrintColoredText(L"[+] Safe exit completed!\n\n", true); std::wcout << L"[*] Safe exit completed! \n\n"; } void F8Unfreeze() { PrintColoredText(L"\n[*] F8 pressed – Performing unfreeze…\n", true); DnsCacheUnfreeze(); PrintColoredText(L"[+] Unfreeze completed!\n", true); } public: PopupBypass() : hDnsCacheProcess(NULL), vgcPID(0), svchostPID(0), bypassAktif(false), dnsFreezeYapildi(false) { vgcCpuInfo.pid = 0; vgcCpuInfo.lastKernelTime = 0; vgcCpuInfo.lastUserTime = 0; } ~PopupBypass() { bypassAktif = false; if (hDnsCacheProcess) { CloseHandle(hDnsCacheProcess); } } void BypassBaslat() { if (bypassAktif) { PrintColoredText(L"[-] Bypass is already active!\n", true); return; } HataAyiklamaHaklariniEtkinlestir(); bypassAktif = true; CreateThread(NULL, 0, PopupBypassThread, this, 0, NULL); Sleep(100); } void SafeExit() { SafeExitIslemleri(); } void Unfreeze() { F8Unfreeze(); } bool IsBypassActive() const { return bypassAktif; } }; HANDLE g_hBypass = NULL; PopupBypass* g_bypass = NULL; void SetConsoleColor(int r, int g, int b) { std::wcout << L"\033[38;2;" << r << L";" << g << L";" << b << L"m"; } void ResetConsoleColor() { std::wcout << L"\033[0m"; } void PrintColoredText(const std::wstring& text, bool animated = false) { if (animated) { static int hue = 0; hue = (hue + 30) % 360; double h = hue; double s = 1.0; double v = 1.0; double c = v * s; double x = c * (1 - abs(fmod(h / 60.0, 2) - 1)); double m = v - c; int r, g, b; if (h < 60) { r = (int)((c + m) * 255); g = (int)((x + m) * 255); b = (int)(m * 255); } else if (h < 120) { r = (int)((x + m) * 255); g = (int)((c + m) * 255); b = (int)(m * 255); } else if (h < 180) { r = (int)(m * 255); g = (int)((c + m) * 255); b = (int)((x + m) * 255); } else if (h < 240) { r = (int)(m * 255); g = (int)((x + m) * 255); b = (int)((c + m) * 255); } else if (h < 300) { r = (int)((x + m) * 255); g = (int)(m * 255); b = (int)((c + m) * 255); } else { r = (int)((c + m) * 255); g = (int)(m * 255); b = (int)((x + m) * 255); } SetConsoleColor(r, g, b); std::wcout << text; ResetConsoleColor(); } else { std::wcout << text; } } void PrintASCIIArt() { SetConsoleColor(255, 0, 0); std::wcout << L"\n"; std::wcout << L" ░██ ░██ ░███ ░██ ░██████████ ░██ ░██ \n"; std::wcout << L" ░██ ░██ ░██░██ ░██ ░██ ░██ ░██ \n"; std::wcout << L" ░██ ░██ ░██ ░██ ░██ ░██ ░██░██ \n"; std::wcout << L" ░██ ░██ ░█████████ ░██ ░█████████ ░███ \n"; std::wcout << L" ░██ ░██ ░██ ░██ ░██ ░██ ░██░██ \n"; std::wcout << L" ░██░██ ░██ ░██ ░██ ░██ ░██ ░██ \n"; std::wcout << L" ░███ ░██ ░██ ░██████████ ░██████████ ░██ ░██ \n"; '\n'; '\n'; wcout << L"===============================================================================================================================\n"; std::wcout << L"\n"; ResetConsoleColor(); } DWORD WINAPI HotkeyThread(LPVOID lpParam) { bool f8Pressed = false; while (true) { if (GetAsyncKeyState(VK_F8) & 0x8000) { if (!f8Pressed) { f8Pressed = true; if (g_bypass) { g_bypass->Unfreeze(); } } } else { f8Pressed = false; } Sleep(100); } return 0; } DWORD WINAPI WindowSizeMonitor(LPVOID lpParam) { HWND hwnd = GetConsoleWindow(); if (!hwnd) return 0; RECT targetRect; GetWindowRect(hwnd, &targetRect); int targetWidth = targetRect.right - targetRect.left; int targetHeight = targetRect.bottom - targetRect.top; while (true) { RECT currentRect; GetWindowRect(hwnd, ¤tRect); int currentWidth = currentRect.right - currentRect.left; int currentHeight = currentRect.bottom - currentRect.top; if (currentWidth != targetWidth || currentHeight != targetHeight) { MoveWindow(hwnd, currentRect.left, currentRect.top, targetWidth, targetHeight, TRUE); } Sleep(100); } return 0; } int main() { HWND hwnd = GetConsoleWindow(); if (hwnd) { LONG_PTR style = GetWindowLongPtr(hwnd, GWL_STYLE); style &= ~WS_THICKFRAME; style &= ~WS_MAXIMIZEBOX; SetWindowLongPtr(hwnd, GWL_STYLE, style); RECT rect; GetWindowRect(hwnd, &rect); int width = 1250; int height = 300; MoveWindow(hwnd, rect.left, rect.top, width, height, TRUE); HMENU hMenu = GetSystemMenu(hwnd, FALSE); if (hMenu) { EnableMenuItem(hMenu, SC_SIZE, MF_BYCOMMAND | MF_GRAYED); EnableMenuItem(hMenu, SC_MAXIMIZE, MF_BYCOMMAND | MF_GRAYED); } } HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE); CONSOLE_SCREEN_BUFFER_INFO csbi; GetConsoleScreenBufferInfo(hOut, &csbi); COORD bufferSize; bufferSize.X = 100; bufferSize.Y = 50; SetConsoleScreenBufferSize(hOut, bufferSize); SMALL_RECT windowSize; windowSize.Left = 0; windowSize.Top = 0; windowSize.Right = 125; windowSize.Bottom = 30; SetConsoleWindowInfo(hOut, TRUE, &windowSize); DWORD dwMode = 0; GetConsoleMode(hOut, &dwMode); dwMode |= ENABLE_VIRTUAL_TERMINAL_PROCESSING; SetConsoleMode(hOut, dwMode); _setmode(_fileno(stdout), _O_U16TEXT); _setmode(_fileno(stdin), _O_U16TEXT); PopupBypass bypass; g_bypass = &bypass; CreateThread(NULL, 0, HotkeyThread, NULL, 0, NULL); CreateThread(NULL, 0, WindowSizeMonitor, NULL, 0, NULL); int secim = 0; CHECK_ADMIN(); while (true) { system("cls"); PrintASCIIArt(); std::wcout << L"\n"; std::wcout << L"1. Popup Bypass\n"; std::wcout << L"2. Safe Exit\n"; std::wcout << L"3. STOP BYPASS\n\n"; std::wcout << L"Enter your choice : "; std::wcin >> secim; if (secim == 1) { bypass.BypassBaslat(); _getch(); } else if (secim == 2) { bypass.SafeExit(); std::wcout << L"Press any key to continue..." << std::endl; _getch(); } else if (secim == 3) { bypass.SafeExit(); break; } else { std::wcout << L"\n[-] Invalid choice!" << std::endl; Sleep(1000); } } return 0; }
Create an account or sign in to comment