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


@echo off

:: 1. Проверка прав администратора через короткий путь %~s0 (защита от падений из-за кириллицы/пробелов)
net session >nul 2>&1
if %errorLevel% neq 0 (
    echo Запрос прав администратора...
    powershell -NoProfile -ExecutionPolicy Bypass -Command "Start-Process -FilePath '%~s0' -Verb RunAs"
    exit /b
)

:: 2. Переход в папку скрипта и инициализация кодировки
cd /d "%~dp0"

:: 3. Надежное получение ANSI ESC символа через PowerShell
for /f "delims=" %%a in ('powershell -NoProfile -Command "[char]27"') do set "ESC=%%a"

:: 4. Перевод в UTF-8 и включение расширенной подстановки
chcp 65001 > nul
setlocal enabledelayedexpansion

:: Переменные вывода
set "PCT=%%"
set "RESET=%ESC%[0m"
set "RED=%ESC%[91m"
set "GREEN=%ESC%[92m"
set "YELLOW=%ESC%[93m"
set "BLUE=%ESC%[94m"
set "MAGENTA=%ESC%[95m"
set "CYAN=%ESC%[96m"
set "WHITE=%ESC%[97m"
set "BOLD=%ESC%[1m"
set "DIM=%ESC%[2m"

title Комплексная АНИГИЛЯЦИЯ гавнюктера и фикс VAL 43
cls

:: =======================================================================
:: ШАПКА
:: =======================================================================
echo.
echo %MAGENTA%  ███████╗███████╗██████╗  ██████╗ ██████╗      ██████╗ ██████╗ ██████╗ ██████╗ %RESET%
echo %MAGENTA%  ██╔════╝██╔════╝██╔══██╗██╔═══██╗██╔══██╗    ██╔════╝██╔═══██╗██╔══██╗██╔══██╗%RESET%
echo %MAGENTA%  █████╗  █████╗  ██║  ██║██║   ██║██████╔╝    ██║     ██║   ██║██████╔╝██████╔╝%RESET%
echo %MAGENTA%  ██╔══╝  ██╔══╝  ██║  ██║██║   ██║██╔══██╗    ██║     ██║   ██║██╔══██╗██╔═══╝ %RESET%
echo %MAGENTA%  ██║     ███████╗██████╔╝╚██████╔╝██║  ██║    ╚██████╗╚██████╔╝██║  ██║██║     %RESET%
echo %MAGENTA%  ╚═╝     ╚══════╝╚═════╝  ╚═════╝ ╚═╝  ╚═╝     ╚═════╝ ╚═════╝ ╚═╝  ╚═╝╚═╝     %RESET%
echo.
echo %BOLD%%WHITE%         ЕБАЛ В РОТ РИОТОВ%RESET%
echo %DIM%%WHITE%     Комплексная анигиляция + фикс VAL 43%RESET%
echo.
echo %DIM%=======================================================================%RESET%
echo.

:: =======================================================================
:: [1/5] Завершение процессов
:: =======================================================================
echo %BOLD%%BLUE%[1/5]%RESET% %WHITE%Завершение подвисших процессов...%RESET%

net stop vgc >nul 2>&1
net stop windivert >nul 2>&1
net stop zapret >nul 2>&1
net stop goodbyedpi >nul 2>&1

for %%P in (
    RiotClientServices.exe
    RiotClientUx.exe
    RiotClientUxRender.exe
    VALORANT-Win64-Shipping.exe
    VALORANT.exe
    vgc.exe
    vgtray.exe
    winws.exe
    goodbyedpi.exe
    byedpi.exe
    spoofdpi.exe
) do taskkill /f /im %%P >nul 2>&1

echo   %GREEN%[OK]%RESET% Процессы завершены
echo   %CYAN%[████░░░░░░░░░░░░░░░░]%RESET% %WHITE%20!PCT!%RESET%
echo.

:: =======================================================================
:: [2/5] Очистка файлового кэша
:: =======================================================================
echo %BOLD%%BLUE%[2/5]%RESET% %WHITE%Глубокая очистка файлов кэша...%RESET%
set "LOCAL_DATA=%localappdata%"
set "PROGRAM_DATA=%ProgramData%"
set "RIOT_LOCAL=%LOCAL_DATA%\Riot Games"
set "RIOT_PROGRAM=%PROGRAM_DATA%\Riot Games"

del /f /q "%RIOT_LOCAL%\Riot Client\Data\RiotClientPrivateSettings.yaml" >nul 2>&1

if exist "%RIOT_LOCAL%\Riot Client\Logs"    rmdir /s /q "%RIOT_LOCAL%\Riot Client\Logs"    >nul 2>&1
if exist "%RIOT_LOCAL%\Riot Client\Crashes" rmdir /s /q "%RIOT_LOCAL%\Riot Client\Crashes" >nul 2>&1

if exist "%RIOT_PROGRAM%\Riot Client\Logs"    rmdir /s /q "%RIOT_PROGRAM%\Riot Client\Logs"    >nul 2>&1
if exist "%RIOT_PROGRAM%\Riot Client\Crashes" rmdir /s /q "%RIOT_PROGRAM%\Riot Client\Crashes" >nul 2>&1

if exist "%LOCAL_DATA%\VALORANT\Saved\webcache" rmdir /s /q "%LOCAL_DATA%\VALORANT\Saved\webcache" >nul 2>&1
if exist "%LOCAL_DATA%\VALORANT\Saved\Logs"     rmdir /s /q "%LOCAL_DATA%\VALORANT\Saved\Logs"     >nul 2>&1
if exist "%LOCAL_DATA%\VALORANT\Saved\Crashes"  rmdir /s /q "%LOCAL_DATA%\VALORANT\Saved\Crashes"  >nul 2>&1
if exist "%LOCAL_DATA%\VALORANT\Saved\Config\Windows" (


del /f /q "%LOCAL_DATA%\VALORANT\Saved\Config\Windows\*.ini" >nul 2>&1
)

if exist "%ProgramFiles%\Riot Vanguard\Logs" rmdir /s /q "%ProgramFiles%\Riot Vanguard\Logs" >nul 2>&1
if exist "%TEMP%\Riot Games" rmdir /s /q "%TEMP%\Riot Games" >nul 2>&1
if exist "%RIOT_PROGRAM%\Metadata\valorant.live" rmdir /s /q "%RIOT_PROGRAM%\Metadata\valorant.live" >nul 2>&1

echo   %GREEN%[OK]%RESET% Кэш и логи очищены
echo   %CYAN%[█████████░░░░░░░░░░░]%RESET% %WHITE%45!PCT!%RESET%
echo.

:: =======================================================================
:: [3/5] Сброс сети и DNS
:: =======================================================================
echo %BOLD%%BLUE%[3/5]%RESET% %WHITE%Сброс сетевого стека и DNS...%RESET%

sc config w32time start= auto >nul 2>&1
net start w32time >nul 2>&1
w32tm /resync /force >nul 2>&1

netsh winhttp reset proxy >nul 2>&1
netsh winsock reset catalog >nul 2>&1
netsh int ip reset >nul 2>&1
netsh int ipv6 reset >nul 2>&1

ipconfig /release >nul 2>&1
ipconfig /renew >nul 2>&1
ipconfig /flushdns >nul 2>&1
ipconfig /registerdns >nul 2>&1
nbtstat -R >nul 2>&1
nbtstat -RR >nul 2>&1
arp -d * >nul 2>&1

echo   %GREEN%[OK]%RESET% Сеть и DNS сброшены
echo   %CYAN%[██████████████░░░░░░]%RESET% %WHITE%70!PCT!%RESET%
echo.

:: =======================================================================
:: [4/5] Проверка hosts, конфликтов zapret и перезапуск Vanguard
:: =======================================================================
echo %BOLD%%BLUE%[4/5]%RESET% %WHITE%Проверка hosts и конфликтов zapret...%RESET%
set "HOSTS_FILE=%SystemRoot%\System32\drivers\etc\hosts"

if exist "%HOSTS_FILE%" (
    findstr /i "riotgames valorant" "%HOSTS_FILE%" >nul 2>&1
    if !errorlevel! equ 0 (
        echo   %YELLOW%[!]%RESET% В hosts найдены записи Riot/Valorant, очищаем...
        attrib -r -h -s "%HOSTS_FILE%" >nul 2>&1
        powershell -NoProfile -ExecutionPolicy Bypass -Command ^
            "$f='%HOSTS_FILE%';" ^
            "$c=Get-Content -LiteralPath $f;" ^
            "$c | Where-Object { $_ -notmatch 'riotgames|valorant' } | Set-Content -LiteralPath $f -Encoding ASCII"
        attrib -r "%HOSTS_FILE%" >nul 2>&1
    )
)

sc query windivert >nul 2>&1
if !errorlevel! equ 0 (
    net stop windivert >nul 2>&1
)
tasklist /fi "imagename eq winws.exe" 2>nul | find /i "winws.exe" >nul
if !errorlevel! equ 0 (
    taskkill /f /im winws.exe >nul 2>&1
)

sc query vgc >nul 2>&1
if !errorlevel! equ 0 (
    sc config vgc start= demand >nul 2>&1
    net stop vgc >nul 2>&1
    timeout /t 1 /nobreak >nul
    net start vgc >nul 2>&1
)

sc query vgk >nul 2>&1

echo   %GREEN%[OK]%RESET% Проверка hosts и софта завершена
echo   %CYAN%[█████████████████░░░]%RESET% %WHITE%85!PCT!%RESET%
echo.

:: =======================================================================
:: [5/5] Финализация
:: =======================================================================
echo %BOLD%%BLUE%[5/5]%RESET% %WHITE%Финализация...%RESET%
echo   %CYAN%[████████████████████]%RESET% %WHITE%100!PCT!%RESET%
echo.

echo %GREEN%=======================================================================%RESET%
echo %GREEN%  АНИГИЛЯЦИЯ ЗАВЕРШЕНА!%RESET%
echo %GREEN%=======================================================================%RESET%
echo.

:: =======================================================================
:: АВТОЗАПУСК RIOT CLIENT
:: =======================================================================
set "RIOT_EXE="
set "RIOT_DIR="

for %%D in (
    "C:\Riot Games\Riot Client"
    "D:\Riot Games\Riot Client"
    "E:\Riot Games\Riot Client"
    "F:\Riot Games\Riot Client"
    "G:\Riot Games\Riot Client"
    "%ProgramFiles%\Riot Games\Riot Client"
    "%ProgramFiles(x86)%\Riot Games\Riot Client"
) do (
    if not defined RIOT_EXE if exist "%%~D\RiotClientServices.exe" (
        set "RIOT_EXE=%%~D\RiotClientServices.exe"
        set "RIOT_DIR=%%~D"
    )
)

if not defined RIOT_EXE (
    for /f "tokens=2,*" %%A in ('
        reg query "HKLM\SOFTW


ARE\WOW6432Node\Riot Games, Inc\Riot Client" /v Path 2^>nul
        ^| findstr /i "Path"
    ') do (
        set "RIOT_DIR=%%B"
        if exist "!RIOT_DIR!\RiotClientServices.exe" set "RIOT_EXE=!RIOT_DIR!\RiotClientServices.exe"
    )
)

if defined RIOT_EXE (
    echo %CYAN%[>]%RESET% Запускаем Riot Client...
    start "" /D "!RIOT_DIR!" "!RIOT_EXE!" --launch-product=valorant --launch-patchline=live
    echo   %GREEN%[OK]%RESET% Riot Client запущен
) else (
    echo   %RED%[X]%RESET% Riot Client не найден
)

echo.
echo %DIM%=======================================================================%RESET%
echo %WHITE% Готово. Нажми любую клавишу для выхода.%RESET%
echo %DIM%=======================================================================%RESET%
pause >nul