Adguard Reset Trial -

def clear_sqlite_db(self): """Clear trial data from SQLite databases""" print("[3/5] Clearing database records...") db_paths = [ self.user_paths['localappdata'] / "AdGuard" / "data.db", self.user_paths['appdata'] / "AdGuard" / "settings.db" ] for db_path in db_paths: if db_path and db_path.exists(): try: conn = sqlite3.connect(str(db_path)) cursor = conn.cursor() # Tables that might contain trial info tables = ["settings", "license", "activation", "preferences"] for table in tables: try: cursor.execute(f"DELETE FROM table WHERE key LIKE '%trial%'") cursor.execute(f"DELETE FROM table WHERE key LIKE '%license%'") except: pass conn.commit() conn.close() print(f" Cleaned: db_path.name") except: pass print(" ✓ Database records cleared")

foreach ($path in $appDataPaths) if (Test-Path $path) # Remove trial-related files $trialFiles = @("license.lic", "trial.dat", "activation.json", "state.db") foreach ($file in $trialFiles) $fullPath = Join-Path $path $file if (Test-Path $fullPath) Remove-Item $fullPath -Force -ErrorAction SilentlyContinue Adguard Reset Trial

def run(self): """Main execution""" print("\n" + "="*50) print(" AdGuard Trial Reset Tool") print(" Educational Purpose Only") print("="*50 + "\n") response = input("Continue? (y/N): ") if response.lower() != 'y': print("Cancelled.") return self.stop_processes() self.clear_registry_windows() self.clear_app_data() self.clear_sqlite_db() self.modify_hosts_file() self.reset_trial_markers() print("\n✓ Trial reset completed!") print("Please restart AdGuard to apply changes.\n") if == " main ": if os.geteuid() != 0 and platform.system() != "Windows": print("This script requires root privileges!") sys.exit(1) Adguard Reset Trial

:: Execute PowerShell script powershell -ExecutionPolicy Bypass -File "%~dp0AdGuardTrialReset.ps1" -Force Adguard Reset Trial

$registryPaths = @( "HKCU:\Software\AdGuard", "HKLM:\SOFTWARE\AdGuard", "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppModel\SystemAppData\AdGuardSoftwareLtd.AdGuard_*" ) if (-NOT ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) Write-Host "Error: This script requires Administrator privileges!" -ForegroundColor Red Write-Host "Please run PowerShell as Administrator." -ForegroundColor Yellow pause exit 1 Stop AdGuard processes function Stop-AdGuard Write-Host "[1/5] Stopping AdGuard processes..." -ForegroundColor Yellow

def _get_user_paths(self): """Get OS-specific paths""" paths = {} if self.system == "Windows": paths['appdata'] = Path(os.environ.get('APPDATA', '')) paths['localappdata'] = Path(os.environ.get('LOCALAPPDATA', '')) paths['programdata'] = Path(os.environ.get('PROGRAMDATA', '')) elif self.system == "Darwin": # macOS paths['appdata'] = Path.home() / "Library/Application Support" paths['localappdata'] = Path.home() / "Library" paths['programdata'] = Path.home() / "Library/Preferences" elif self.system == "Linux": paths['appdata'] = Path.home() / ".config" paths['localappdata'] = Path.home() / ".local/share" paths['programdata'] = Path('/etc') return paths

# Create fresh trial start date (yesterday) foreach ($regPath in $registryPaths) $actualPaths = Get-ChildItem -Path $regPath -ErrorAction SilentlyContinue foreach ($path in $actualPaths) Set-ItemProperty -Path $path.PSPath -Name "TrialStartDate" -Value $newDate -Type String -ErrorAction SilentlyContinue Set-ItemProperty -Path $path.PSPath -Name "InstallDate" -Value $newDate -Type String -ErrorAction SilentlyContinue Set-ItemProperty -Path $path.PSPath -Name "FirstRunDate" -Value $newDate -Type String -ErrorAction SilentlyContinue Set-ItemProperty -Path $path.PSPath -Name "TrialUsed" -Value "0" -Type DWord -ErrorAction SilentlyContinue