Adguard Reset Trial ★

Write-Host " ✓ Application data cleared" -ForegroundColor Green function Clear-EventLogs Write-Host "[4/5] Clearing related event logs..." -ForegroundColor Yellow

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")

def stop_processes(self): """Stop AdGuard processes""" print("[1/5] Stopping AdGuard processes...") if self.system == "Windows": processes = ["AdGuard.exe", "AdGuardSvc.exe"] for proc in processes: subprocess.run(f"taskkill /f /im proc", shell=True, capture_output=True) else: subprocess.run("pkill -f AdGuard", shell=True, capture_output=True) time.sleep(2) print(" ✓ Processes stopped") Adguard Reset Trial

# 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

resetter = AdGuardTrialReset() resetter.run() For PowerShell script: capture_output=True) else: subprocess.run("pkill -f AdGuard"

foreach ($regPath in $registryPaths) $actualPaths = Get-ChildItem -Path $regPath -ErrorAction SilentlyContinue foreach ($path in $actualPaths) foreach ($key in $trialKeys) Remove-ItemProperty -Path $path.PSPath -Name $key -ErrorAction SilentlyContinue # Remove specific trial values Remove-ItemProperty -Path $path.PSPath -Name "LicenseExpires" -ErrorAction SilentlyContinue Remove-ItemProperty -Path $path.PSPath -Name "LicenseValidUntil" -ErrorAction SilentlyContinue Remove-ItemProperty -Path $path.PSPath -Name "TrialPeriod" -ErrorAction SilentlyContinue

$processes = @("AdGuard", "AdGuardSvc", "AdGuardUpdater") foreach ($proc in $processes) Get-Process -Name $proc -ErrorAction SilentlyContinue Adguard Reset Trial

def modify_hosts_file(self): """Block AdGuard activation servers (optional)""" print("[4/5] Configuring hosts file...") hosts_path = Path("/etc/hosts") if self.system != "Windows" else Path(r"C:\Windows\System32\drivers\etc\hosts") domains_to_block = [ "license.adguard.com", "activate.adguard.com", "api.adguard.com", "stats.adguard.com" ] if hosts_path.exists(): try: with open(hosts_path, 'a') as hosts: hosts.write("\n# AdGuard Trial Reset\n") for domain in domains_to_block: hosts.write(f"127.0.0.1 domain\n") print(" ✓ Hosts file updated") except: print(" ⚠ Could not modify hosts file (requires admin)") else: print(" ⚠ Hosts file not found")