
Open-Source-Android-Client für VirusTotal. Scannen Sie Dateien, URLs und installierte Apps mit über 70 Antiviren-Engines. Zeigen Sie detaillierte Berichte mit Hashes, Bedrohungsklassifikationen, YARA-Übereinstimmungen und Sandbox-Verhalten an. Kein Tracking und keine Werbung.
Kostenlos und Open Source. Bringen Sie Ihren eigenen VirusTotal-API-Schlüssel mit, um Dateien, Links und installierte Anwendungen gegen über 70 Engines zu scannen – entwickelt mit einer Material-3-Oberfläche. Keine Konten, kein Tracking, keine Werbung.
Veto ist ein Android-Client für VirusTotal. Reichen Sie eine Datei, einen Link oder eine installierte Anwendung ein, um Echtzeit-Analyseergebnisse zu sehen. Die Anwendung zeigt einen klaren Bericht, der von einem einzigen einheitlichen Urteil bis hin zum vollständigen Satz der vom Dienst zurückgegebenen Felder reicht.
Das Projekt ist kostenlos und Open Source und enthält keine Benutzerkonten, Tracking-Systeme oder Werbung. Da Benutzer ihren eigenen VirusTotal-API-Schlüssel bereitstellen, laufen alle Scans direkt unter ihrem persönlichen Konto, ohne über zwischengeschaltete Drittanbieter-Server geleitet zu werden.
![]() |
![]() |
![]() |
![]() |
![]() |
ScanManager dient als zentrale Quelle der Wahrheit für alle Scan-Zustände. Dadurch bleibt die Benutzeroberfläche synchronisiert, unabhängig davon, ob die App im Vordergrund aktiv, im Hintergrund angehalten oder vom Betriebssystem zerstört wurde./analyses/{id} mit einer Sechs-Minuten-Wanduhr-Obergrenze ab. Wenn eine Rate-Limit-Antwort auftritt, wartet der Prozess, anstatt zu scheitern. Der Bericht wird erneut abgerufen, bis die Ergebnisse gefüllt sind, und gibt einen strukturierten Fehlerzustand zurück, wenn das Zeitlimit erreicht wird.ScanState innerhalb des ScanManager befindet, um die Zerstörung der Activity zu überstehen, hält ScanService den Prozesslebenszyklus während aktiver Vorgänge aufrecht und verwaltet laufende und abgeschlossene Benachrichtigungen.attributes-JSON über einen benutzerdefinierten Serializer beibehalten wird. Dadurch kann die detaillierte Berichtsansicht alle zurückgegebenen Felder rendern, einschließlich neuer Felder, die im Laufe der Zeit zur API-Payload hinzugefügt werden.| Ebene | Technologie | Rolle im Projekt |
|---|---|---|
| Sprache | Kotlin | Primäre Programmiersprache |
| UI-Framework | Jetpack Compose | Deklarative UI-Struktur |
| Designsystem | Material 3 | Visuelle Gestaltung, dynamische Systemfarben und erweiterte Symbole |
| Abhängigkeitsinjektion | Hilt | Abhängigkeitsverwaltung |
| Netzwerk | Retrofit & OkHttp | HTTP-Kommunikation mit der VirusTotal-API |
| Serialisierung | kotlinx.serialization | Typsicheres JSON-Parsing und benutzerdefinierte Attributerhaltung |
| Asynchronität | Kotlin Coroutines | Asynchrone Programmierung und Hintergrundverarbeitung |
| Persistenz | Jetpack DataStore | Speicherung dynamischer Einstellungen und gespeicherter Scan-Berichte |
| Kompatibilität | SDK 30 bis 36 | Kompiliert mit JDK 17, minSdk 30, targetSdk 36 |
└── app/src/main/java/com/quantum_prof/vtscansuite/
├── data/ # Modelle, Remote-API und Repository-Implementierung
├── domain/ # Repository-Schnittstelle und Geschäftsanwendungsfälle
├── di/ # Hilt-Abhängigkeitsinjektionsmodule
├── scan/ # ScanManager, ScanService und Systembenachrichtigungen
└── ui/ # UI-Komponenten und Präsentationsschichten
├── intro/ # Splash-Screen und API-Schlüsselkonfiguration
├── dashboard/ # Navigationszentrum: Link-, Datei- und App-Scanmodule
├── results/ # Schnell- und Detailbericht-Visualisierer
├── components/# Wiederverwendbare UI-Elemente und Layouts
├── theme/ # Farb-, Form-, Typografie- und Bewegungskonfigurationen
└── util/ # Haptisches Feedback, Gesten und Deep-Linking-Dienstprogramme
fastlane/metadata/android/en-US/ verfügbar.docs/store/svg/.docs/store/export.html in das PNG-Format exportiert werden.Klonen Sie das Repository und kompilieren Sie den Debug-Build über die Befehlszeile:
git clone https://github.com/ProfessorQuantumUniverse/VTScan.git
cd VTScan
./gradlew :app:assembleDebug