diff --git a/app/src/main/java/us/spotco/malwarescanner/Database.kt b/app/src/main/java/us/spotco/malwarescanner/Database.kt
index 993a89e..7995c30 100644
--- a/app/src/main/java/us/spotco/malwarescanner/Database.kt
+++ b/app/src/main/java/us/spotco/malwarescanner/Database.kt
@@ -420,13 +420,13 @@ internal class Database(log: TextView?) {
databaseLoading.close()
} else {
log(
- "Failed to validate database, please double check signing key",
+ context.getString(R.string.main_database_validate_error),
LogType.WARNING
)
}
} catch (e: Exception) {
log(
- "There was an error while checking database validation, please double check signing key",
+ context.getString(R.string.main_database_validate_error),
LogType.WARNING
)
e.printStackTrace()
diff --git a/app/src/main/java/us/spotco/malwarescanner/LinkScannerService.kt b/app/src/main/java/us/spotco/malwarescanner/LinkScannerService.kt
index 1ce6a69..1cfc7a4 100644
--- a/app/src/main/java/us/spotco/malwarescanner/LinkScannerService.kt
+++ b/app/src/main/java/us/spotco/malwarescanner/LinkScannerService.kt
@@ -29,7 +29,6 @@ import android.view.accessibility.AccessibilityNodeInfo
import android.widget.Toast
import androidx.core.app.NotificationCompat
import us.spotco.malwarescanner.HypatiaLogger.Companion.log
-import us.spotco.malwarescanner.Utils.context
import java.util.Locale
import java.util.Random
import java.util.concurrent.ConcurrentSkipListMap
@@ -43,7 +42,7 @@ class LinkScannerService : AccessibilityService() {
private var foregroundNotification: NotificationCompat.Builder? = null
public override fun onServiceConnected() {
- prefs = context?.getSharedPreferences(BuildConfig.APPLICATION_ID, MODE_PRIVATE)
+ prefs = applicationContext?.getSharedPreferences(BuildConfig.APPLICATION_ID, MODE_PRIVATE)
notificationManager = getSystemService(NOTIFICATION_SERVICE) as NotificationManager?
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
// Create Detection Channel
@@ -94,7 +93,7 @@ class LinkScannerService : AccessibilityService() {
}
}
if (shouldScanView) {
- scannedPackages.put(packageName, System.currentTimeMillis())
+ scannedPackages[packageName] = System.currentTimeMillis()
val sourceCopy = event.source?.let {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R)
AccessibilityNodeInfo(it)
@@ -102,11 +101,12 @@ class LinkScannerService : AccessibilityService() {
AccessibilityNodeInfo.obtain(it)
}
val thread = Thread { scanViews(sourceCopy) }
- scannerThreads.put(packageName, thread)
+ scannerThreads[packageName] = thread
thread.start()
}
+ } else if (Database.domains != null) {
+ stopForegroundNotification()
}
- stopForegroundNotification()
}
override fun onInterrupt() {
@@ -119,7 +119,6 @@ class LinkScannerService : AccessibilityService() {
getString(R.string.database_not_loaded_link_scanner),
Toast.LENGTH_LONG
).show()
- log(getString(R.string.database_not_loaded_link_scanner) + "\n")
setForegroundNotification(getString(R.string.database_not_loaded_link_scanner))
}
}
@@ -132,10 +131,10 @@ class LinkScannerService : AccessibilityService() {
}
//Get and check the text
- val text = mNodeInfo.getText() as String?
+ val text = mNodeInfo.text as String?
if (text != null && text.contains(".") && text.length < 10000) {
//Don't scan text if we already did
- val hashDomain = mNodeInfo.getText().hashCode()
+ val hashDomain = mNodeInfo.text.hashCode()
if (scannedText.contains(hashDomain)) {
return
} else {
@@ -219,15 +218,13 @@ class LinkScannerService : AccessibilityService() {
.setContentText(message)
.setPriority(NotificationCompat.PRIORITY_MIN)
.setOngoing(true)
- if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
- foregroundNotification?.setShowWhen(false)
- }
+ foregroundNotification?.setShowWhen(false)
startForeground(-1, foregroundNotification?.build())
}
private fun stopForegroundNotification() {
- if (!prefs!!.getBoolean("DOMAINS", false) && foregroundNotification != null) {
+ if (prefs?.getBoolean("DOMAINS", false) != true && foregroundNotification != null) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
stopForeground(STOP_FOREGROUND_REMOVE)
} else {
diff --git a/app/src/main/java/us/spotco/malwarescanner/MainActivity.kt b/app/src/main/java/us/spotco/malwarescanner/MainActivity.kt
index 7bc5fd6..b67475a 100644
--- a/app/src/main/java/us/spotco/malwarescanner/MainActivity.kt
+++ b/app/src/main/java/us/spotco/malwarescanner/MainActivity.kt
@@ -224,13 +224,13 @@ class MainActivity : AppCompatActivity() {
val builderServerOverride = AlertDialog.Builder(this)
builderServerOverride.setTitle(getString(R.string.lblDatabaseServer))
val inputServerOverride = EditText(this)
- inputServerOverride.setInputType(InputType.TYPE_CLASS_TEXT)
+ inputServerOverride.inputType = InputType.TYPE_CLASS_TEXT
inputServerOverride.setText(Utils.getDatabaseURL(this))
builderServerOverride.setView(inputServerOverride)
builderServerOverride.setPositiveButton(
getString(R.string.lblOverride)
) { dialog: DialogInterface?, which: Int ->
- var newServer = inputServerOverride.getText().toString()
+ var newServer = inputServerOverride.text.toString()
if (!newServer.endsWith("/")) {
newServer += "/"
}
@@ -265,13 +265,13 @@ class MainActivity : AppCompatActivity() {
val builderKey = AlertDialog.Builder(this)
builderKey.setTitle(getString(R.string.lblSigningKey))
val inputKey = EditText(this)
- inputKey.setInputType(InputType.TYPE_CLASS_TEXT)
+ inputKey.inputType = InputType.TYPE_CLASS_TEXT
inputKey.setText(Utils.getSigningKey(this))
builderKey.setView(inputKey)
builderKey.setPositiveButton(
getString(R.string.lblOverride)
) { dialog: DialogInterface?, which: Int ->
- prefs!!.edit().putString("SIGNING_KEY", inputKey.getText().toString())
+ prefs!!.edit().putString("SIGNING_KEY", inputKey.text.toString())
.apply()
log(Utils.checkOldDatabase(this) + "\n")
}
diff --git a/app/src/main/java/us/spotco/malwarescanner/NotificationPromptActivity.kt b/app/src/main/java/us/spotco/malwarescanner/NotificationPromptActivity.kt
index 9e02b8b..6849e8d 100644
--- a/app/src/main/java/us/spotco/malwarescanner/NotificationPromptActivity.kt
+++ b/app/src/main/java/us/spotco/malwarescanner/NotificationPromptActivity.kt
@@ -78,10 +78,10 @@ class NotificationPromptActivity : AppCompatActivity() {
"us.spotco.malwarescanner.DELETE_FILE" -> if (intent.getPackage() == null || intent.getPackage() == BuildConfig.APPLICATION_ID) {
val matched =
File(Objects.requireNonNull(intent.getStringExtra("FILE_PATH")))
- if (matched.exists() && matched.isFile()) {
+ if (matched.exists() && matched.isFile) {
val deleteDialog = AlertDialog.Builder(this)
.setTitle(R.string.confirm_delete_title)
- .setMessage(getString(R.string.confirm_delete_summary) + "\n>>>" + matched.getName() + "<<<")
+ .setMessage(getString(R.string.confirm_delete_summary) + "\n>>>" + matched.name + "<<<")
.setIcon(android.R.drawable.ic_dialog_alert)
.setPositiveButton(
android.R.string.yes
diff --git a/app/src/main/java/us/spotco/malwarescanner/ShareScanner.kt b/app/src/main/java/us/spotco/malwarescanner/ShareScanner.kt
index 74b4b8e..91e7705 100644
--- a/app/src/main/java/us/spotco/malwarescanner/ShareScanner.kt
+++ b/app/src/main/java/us/spotco/malwarescanner/ShareScanner.kt
@@ -82,7 +82,7 @@ class ShareScanner : AppCompatActivity() {
log("Scanning file at: " + file.absolutePath, LogType.DEBUG)
malwareScanner!!.executeOnExecutor(Utils.threadPoolExecutor, filesToScan)
- return "Scan started for: " + file.getName()
+ return "Scan started for: " + file.name
} catch (e: RuntimeException) {
Log.e("Hypatia", "Scan error: " + e.message)
return "Scanner Error: " + e.message
diff --git a/app/src/main/java/us/spotco/malwarescanner/Utils.kt b/app/src/main/java/us/spotco/malwarescanner/Utils.kt
index a13b4dc..d4c19fd 100644
--- a/app/src/main/java/us/spotco/malwarescanner/Utils.kt
+++ b/app/src/main/java/us/spotco/malwarescanner/Utils.kt
@@ -93,10 +93,10 @@ internal object Utils {
var root = root
val filesAll = HashSet()
try {
- root = root.getCanonicalFile()
+ root = root.canonicalFile
} catch (_: Exception) {
}
- if (root.isFile()) {
+ if (root.isFile) {
if (root.canRead() && root.length() <= MAX_SCAN_SIZE) {
filesAll.add(root)
}
@@ -105,10 +105,10 @@ internal object Utils {
val files = root.listFiles()
if (files != null) {
for (f in files) {
- if (f.isDirectory()) {
+ if (f.isDirectory) {
filesAll.addAll(getFilesRecursive(f))
} else {
- if (f.isFile() && f.canRead() && f.length() <= MAX_SCAN_SIZE) { //Exclude files larger than limit for performance
+ if (f.isFile && f.canRead() && f.length() <= MAX_SCAN_SIZE) { //Exclude files larger than limit for performance
filesAll.add(f)
}
}
@@ -121,8 +121,8 @@ internal object Utils {
//Credit (CC BY-SA 3.0): https://stackoverflow.com/a/5921190
fun isServiceRunning(serviceClass: Class<*>, context: Context): Boolean {
val manager = context.getSystemService(Context.ACTIVITY_SERVICE) as ActivityManager
- for (service in manager.getRunningServices(Int.Companion.MAX_VALUE)) {
- if (serviceClass.getName() == service.service.className) {
+ for (service in manager.getRunningServices(Int.MAX_VALUE)) {
+ if (serviceClass.name == service.service.className) {
return true
}
}
diff --git a/app/src/main/res/values-bg/strings.xml b/app/src/main/res/values-bg/strings.xml
index e661604..a0c13b8 100644
--- a/app/src/main/res/values-bg/strings.xml
+++ b/app/src/main/res/values-bg/strings.xml
@@ -1,13 +1,13 @@
- Copyright 2017–2024 Divested Computing Group
+ Авторско право 2017–2024 Divested Computing Group\nАвторско право 2025 MaintainTeam Organization
Кредити
- Scan Removable Storage
+ Сканиране на сменяеми носители
Откриване на зловреден софтуер
Открит зловреден софтуер:
Използва се сървър %s
Всички %s хешове бяха проверени спрямо бази данни със сигнатури
- Сканирането завърши за %s секунди @ %sMB/s!
+ Сканирането завърши за %1$s секунди @ %2$sMB/s!
Сканирани са %s файла
Успешен самотест.
Търсене
@@ -59,7 +59,7 @@
Пропускане на действие, базата данни се зарежда!
Извлича домейни от цялото текстово съдържание на екрана и ги проверява в списък за блокиране
Няма свързана мрежа!
- License: GPL-3.0
+ Лиценз: GPL-3.0
Активирай скенер на връзки?
Написах тестови файлове!
Потвърди търсенето
@@ -79,4 +79,12 @@
Изглежда, че сте на ограничена връзка. Сигурни ли сте, че искате да актуализирате базите данни?\nМоже да изтегли до %s мегабайта данни.
Основни сървъри
[ЕКСПЕРИМЕНТАЛНО]\nТова ще изтегли допълнителна база данни с домейни.\nВсички домейни, намерени в съдържанието на екрана, ще бъдат проверени спрямо базата данни.\nТова изисква ръчно предоставяне на разрешение за услугата за достъпност.\nТова може да има значително въздействие върху производителността на екрани с големи количества текст.
+ Това е само скенер за зловреден софтуер, който сравнява файлове с предварително открити хешове. Не е магическа пръчка, която да пази целия ви Android супер сигурен. Трябва да внимавате какво изтегляте/кликвате!
+ Огледало на GitHub
+ Тъй като това беше сканиране за споделяне, трябва ръчно да премахнете или поставите файла под карантина!
+ Моля, вижте „Известия“ за управление на заразения файл.
+ Няма заредена база данни. Моля, актуализирайте базите данни, за да използвате скенера за връзки.
+ Екранът ще бъде сканиран и злонамерени връзки ще бъдат открити в реално време
+ Използва се за показване на информация за сканиране на връзки.
+ Възникна грешка при валидирането на базата данни. Моля, проверете отново ключа за подписване и изтеглете отново
diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml
index 3cb642f..2255b14 100644
--- a/app/src/main/res/values-de/strings.xml
+++ b/app/src/main/res/values-de/strings.xml
@@ -1,90 +1,90 @@
Lizenz: GPL-3.0
- Copyright 2017–2024 Divested Computing Group\n\nCopyleft 2025 MaintainTeam Organization
+ Copyright 2017–2024 Divested Computing Group\nCopyleft 2025 MaintainTeam Organization
Version: %s
Basierend auf Signaturen im Stil von ClamAV
- Downloads via Tor
- Downloads via Tor, dies könnte etwas dauern…
+ Über Tor herunterladen
+ Herunterladen über Tor…, dies könnte etwas dauern…
Orbot ist nicht installiert!
- Datenbank aktualisieren
+ Datenbanken aktualisieren
Datenbankserver überschreiben
Danksagung
/system scannen
APK-Dateien scannen
Externen Speicher scannen
- Scan Removable Storage
+ Wechseldatenträger scannen
Schadsoftware-Erkennung
Dient zur direkten Warnung bei erkannter Schadsoftware
Echtzeit-Scanner
- Dient zur Aufzählung bereits dursuchter Dateien und der Aufrechthaltung des aktiven Scan\'s im Hintergrund
+ Dient zur Anzeige des Zählers für gescannte Dateien und zur Aufrechterhaltung des Hintergrunddienstes
Bekannte Schadsoftware wird in Echtzeit erkannt
Hypatia: Echtzeit-Scanner wurde gestoppt
Schadsoftware gefunden:
Echtzeit-Scanner
Zurücksetzen
Überschreiben
- %s Datenbank(en) wird/werden aktualisiert…
+ %s Datenbanken werden aktualisiert…
Via Server %s
Erfolgreich heruntergeladen
- Datenbank(en) nicht heruntergeladen. Fehlernummer %s
- Datenbank(en) nicht verfügbar. Schadsoftware-Prüfung nicht möglich…
+ Datei nicht heruntergeladen, Antwortcode %s
+ Keine Datenbank verfügbar, kein Scan …
Veröffentlicht am %s
- Keine Veränderung der Datenbank(en)
+ Datei nicht geändert
seit %s
Download ist fehlgeschlagen. Details können im logcat eingesehen werden
- Schadsoftware-Prüfung startet…
- Prüfung wird abgebrochen…
- %s Dateien sind zur Schadsoftware-Prüfung vorgesehen
- Lade Datenbank(en)…
- Datenbank(en) mit %s Signaturen geladen
- Generiere Prüfsummen der Dateien…
+ Starte Scan…
+ Scan wird abgebrochen…
+ %s Dateien stehen zur Prüfung aus
+ Lade Datenbank…
+ Datenbank mit %s Signaturen geladen
+ Generiere Datei-Prüfsummen…
Prüfsummen für alle Dateien generiert
- Alle %s Prüfsummen wurden mit den Signaturen der Datenbank(en) verglichen
+ Alle %s Prüfsummen wurden mit den Signaturen der Datenbanken verglichen
Überprüfung abgeschlossen in %1$s Sekunden mit %2$sMB/s!
- %s Dateien überprüft
- Scan Steuerung
- Vorhaben wurde übersprungen, ein aktiver Scan läuft bereits!
- Datenbank Signierschlüssel
- Mit keinem Netzwerk verbunden!
- Der Selbsttest war erfolgreich.
- Der Selbsttest ist fehlgeschlagen!
- Vorhaben wurde übersprungen, Datenbank wird geladen!
- Alle Datenbanken wurden aktualisiert!
- Nachschauen
+ %s Dateien gescannt
+ Scan-Steuerung
+ Aktion übersprungen, ein Scan läuft bereits!
+ Datenbank-Signierschlüssel
+ Kein Netzwerk verbunden!
+ Selbsttest erfolgreich.
+ Selbsttest fehlgeschlagen!
+ Aktion wird übersprungen, Datenbank wird geladen!
+ Alle Datenbanken aktualisiert!
+ Nachschlagen
Löschen
Gelöscht!
Ignorieren
Keine Schadsoftware gefunden :)
Schadsoftware erkannt! :(
- Suche bestätigen
- Wollen Sie wirklich VirusTotal.com in Ihrem Web Browser mit der Folgenden Signatur öffnen?
+ Nachschlagen bestätigen
+ Sind Sie sicher, dass Sie VirusTotal.com in Ihrem Webbrowser mit der folgenden Prüfsumme öffnen möchten?
Löschen bestätigen
- Wollen Sie wirklich die Folgende(n) Datei(en) Löschen?
+ Wollen Sie wirklich die folgende Datei löschen?
Löschen fehlgeschlagen!
Ignoriert!
Deinstallieren
- Selbsttest Dateien plazieren
- Erweiterte Datenbank laden
+ Selbsttestdateien schreiben
+ Erweiterte Datenbank
Erweiterte Datenbank aktivieren?
- [EXPERIMENTELL]\nDiese Funktion ermöglicht das erkennen weiterer ~40 Millionen Signaturen.\nDies erfordert den Download von 125MB, eine über zweiminütige vorbereitung beim jeweiligen ersten Scan und eine hohe Anzahl falscher Schadsoftware funde.\nDiese Datenbank wird nur vierteljährlich aktualisiert.
- Es scheint als laufen Sie über eine getaktete Verbindung. Soll die Datenbank wirklich aktualisiert werden?
-\nDies könnte bis zu %s Megabytes an Daten herunterladen.
- Vorhaben wurde übersprungen, ein aktiver Update läuft bereits!
- Selbsttest Dateien wurden geschrieben!
+ [EXPERIMENTELL]\nDamit können zusätzlich etwa 40 Millionen Signaturen erkannt werden. \nDazu ist ein Download von 200 MB erforderlich, der den Start um mehr als zwei Minuten verlangsamt, den RAM‑Verbrauch der Anwendung erhöht und die Rate falscher Positivmeldungen steigert. \nDiese Datenbank wird nur vierteljährlich aktualisiert.
+ Sie scheinen über eine getaktete Verbindung verbunden zu sein. Sind Sie sicher, dass Sie die Datenbanken aktualisieren möchten? \nEs könnten bis zu %s Megabyte Daten heruntergeladen werden.
+ Aktion wurde übersprungen, ein Update läuft bereits!
+ Selbsttest-Dateien wurden geschrieben!
Primärer Server
Download bestätigen
- Hypatia Link Scanner
- Entinmmt Webaddressen vom Text des Bildschirminhalts und vergleicht diese gegen die Blockierliste
+ Hypatia Link-Scanner
+ Extrahiert Domains aus allen Textinhalten des Bildschirms und prüft sie gegen eine Blockliste
Bösartiger Link erkannt:
- Link Scanner
- Link Scanner aktivieren?
- [EXPERIMENTELL]
-\nDiese funktion wird eine zusätzliche Webaddressen-Datenbank herunterladen.
-\nJegliche erkannte Webaddresse im Bildschirminhalt wird mittels dieser Datenbank verglichen.
-\nDiese funktion benötigt das manuelle freigeben der Android \"Bedienungshilfe-Berechtigung\".
-\nDiese funktion kann bei Bildschirminhalten mit viel Text einen großen einfluss auf die Geräteleistung verusachen.
- Dies ist lediglich ein Malware-Scanner, der Dateien mit zuvor gefundenen Hashes vergleicht. Kein Zauberstab, der Ihr gesamtes Android-Gerät supersicher macht. Seien Sie vorsichtig, was Sie herunterladen/anklicken!
+ Link-Scanner
+ Link-Scanner aktivieren?
+ [EXPERIMENTELL]\nDamit wird eine zusätzliche Datenbank mit Domains heruntergeladen.\nAlle in Bildschirminhalten gefundenen Domains werden gegen die Datenbank geprüft.\nDafür muss die Berechtigung für den Barrierefreiheits‑Dienst manuell erteilt werden.\nDas kann bei Bildschirmen mit sehr viel Text zu erheblichen Leistungseinbußen führen.
+ Dies ist lediglich ein Malware-Scanner, der Dateien mit zuvor gefundenen Prüfsummen vergleicht. Kein Zauberstab, der Ihr gesamtes Android-Gerät supersicher macht. Seien Sie vorsichtig, was Sie herunterladen/anklicken!
GitHub Mirror
- Da es sich um einen Freigabescan handelte, sollten Sie die Datei manuell entfernen oder unter Quarantäne stellen!
+ Da es sich um einen Freigabe‑Scan handelte, sollten Sie die Datei manuell entfernen oder unter Quarantäne stellen!
+ Beim Validieren der Datenbank ist ein Fehler aufgetreten. Bitte überprüfen Sie den Signaturschlüssel und laden Sie die Datenbank erneut herunter
+ Keine Datenbank geladen. Bitte aktualisieren Sie die Datenbanken, um den Link‑Scanner zu verwenden.
+ Bildschirm wird gescannt und bösartige Links werden in Echtzeit erkannt
+ Wird verwendet, um Informationen zum Link‑Scanning anzuzeigen.
+ Bitte prüfen Sie die Benachrichtigungen, um die infizierte Datei zu verwalten.
diff --git a/app/src/main/res/values-et/strings.xml b/app/src/main/res/values-et/strings.xml
index 3ee8271..fac8335 100644
--- a/app/src/main/res/values-et/strings.xml
+++ b/app/src/main/res/values-et/strings.xml
@@ -91,4 +91,8 @@
Peegelserver GitHubis
Kuna antud juhul skaneerisid jaosmeediat, siis pead faili käsitsi kustutama või karantiini panema!
Nakatunud failiga tehtavate toimingute valikud leiad teavitusest.
+ Ühtegi andmebaasi pole laaditud. Palun uuenda andmebaasid linkide skanneri jaoks.
+ Ekraanivaade saab olema skaneeritud ja kahtlased lingid tuvastatud reaalajas
+ Kasutusel linkide skaneerimise teabe näitamiseks.
+ Andmebaasi õigsuse kontrollimisel tekkis viga, palun topeltkontrolli allkirjastamise võtme õigsust ja laadi andmekogu uuesti alla
diff --git a/app/src/main/res/values-fi/strings.xml b/app/src/main/res/values-fi/strings.xml
index e3b1ca4..fb74362 100644
--- a/app/src/main/res/values-fi/strings.xml
+++ b/app/src/main/res/values-fi/strings.xml
@@ -6,16 +6,16 @@
Ladataan käyttäen Tor-verkkoa, tämä voi kestää jonkin aikaa…
Orbot:ia ei ole asennettu!
Päivitä tietokannat
- Tietokantapalvelimen ohitus
+ Tietokantapalvelimen ylikirjoitus
Krediitit
Tarkista /järjestelmä
Tarkista sovellus APK:t
Tarkista ulkoinen tallennustila
- Scan Removable Storage
+ Tarkista siirrettävä tallennusväline
Haittaohjelmien tunnistus
Käytetään hälyttämään, kun haittaohjelma havaitaan
Reaaliaikainen tarkistus
- Käytetään näyttämään tarkistettujen tiedostojen laskuri ja ylläpitämään taustapalvelua.
+ Käytetään näyttämään tarkistettujen tiedostojen laskuri ja ylläpitämään taustapalvelua
Tunnetut haittaohjelmat havaitaan reaaliajassa
Hypatia: Reaaliaikainen tarkistus pysäytetty
Haittaohjelma havaittu:
@@ -36,10 +36,10 @@
%s tarkistettavaa tiedostoa
Ladataan tietokantaa…
Ladattiin tietokanta %s allekirjoituksella
- Hashataan tiedostoja…
- Laskettiin hashit kaikille tiedostoille
- Tarkistettiin kaikki %s hashit allekirjoitustietokannoista
- Tarkistus suoritettu %s sekunnissa @ %sMB/s!
+ Tiedostojen hash-tiivisteiden laskenta…
+ Laskettiin hash-tiivisteet kaikille tiedostoille
+ Tarkistettiin kaikki %s hash-tiivisteet digitaalisista allekirjoitustietokannoista
+ Tarkistus suoritettu %1$s sekunnissa @ %2$sMB/s!
%s tiedostoa tarkistettu
Kaikki tietokannat on päivitetty!
Jätä huomiotta
@@ -49,12 +49,12 @@
Toiminta ohitettiin, tarkistus on käynnissä!
Tietokannan allekirjoitusavain
Poistaminen epäonnistui!
- Haluatko varmasti avata VirusTotal.com sivuston selaimessasi seuraavalla hashilla?
+ Haluatko varmasti avata VirusTotal.com sivuston selaimessasi seuraavalla hash-tiivisteellä?
[KOKEELLINEN]
\nTämä ottaa käyttöön ~40 miljoonan ylimääräisen allekirjoituksen havaitsemisen.
\nTämä vaatii 200 Mt:n latauksen, hidastaa käynnistystä yli kaksi minuuttia, lisää sovelluksen RAM-muistin käyttöä ja lisää väärien positiivisten tulosten määrää.
\nTämä tietokanta päivittyy vain neljännesvuosittain.
- Tekijänoikeus 2017–2024 Divested Computing Group
+ Tekijänoikeudet 2017–2024 Divested Computing Group\nCopyleft 2025 MaintainTeam Organization
Lisenssi: GPL-3.0
Ei verkkoyhteyttä!
Omavalvonta onnistui.
@@ -87,4 +87,11 @@
\nTämä edellyttää saavutettavuuspalvelun käyttöoikeuden myöntämistä manuaalisesti.
\nTämä voi vaikuttaa merkittävästi suorituskykyyn silloin, kun näytöllä on paljon tekstiä.
Poimii verkkotunnukset kaikesta näytön tekstisisällöstä ja vertaa niitä estolistaan
+ Tämä on ainoastaan haittaohjelmien tarkistusohjelma, joka vertaa tiedostoja aiemmin löydettyihin hash-tiivistearvoihin. Se ei ole taikasauva, joka pitää koko Android-laitteesi täysin turvassa. Sinun tulee olla varovainen sen suhteen, mitä lataat/klikkaat!
+ GitHub-peilipalvelin
+ Tietokantaa ei ole ladattu. Päivitä tietokannat, jotta voit käyttää linkkiskanneria.
+ Näyttöä tarkastellaan ja haitalliset linkit havaitaan reaaliajassa
+ Käytetään linkkien skannaustietojen näyttämiseen.
+ Koska kyseessä oli jaettu skannaus, sinun tulee poistaa tai eristää tiedosto manuaalisesti!
+ Katso Ilmoitukset, jos haluat hallita tartunnan saanutta tiedostoa.
diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml
index 166b5c3..47e23a5 100644
--- a/app/src/main/res/values-pl/strings.xml
+++ b/app/src/main/res/values-pl/strings.xml
@@ -78,4 +78,5 @@
[EKSPERYMENTALNE]\nSpowoduje to pobranie dodatkowej bazy danych domen.\nWszystkie domeny znalezione w zawartości ekranu zostaną sprawdzone w bazie danych.\nWymaga to ręcznego udzielenia uprawnień usługi ułatwień dostępu.\nMoże to mieć znaczący wpływ na wydajność ekranów z dużą ilością tekstu.
Ponieważ było to skanowanie współdzielone, należy ręcznie usunąć plik lub umieścić go w kwarantannie!
Autotest zakończony sukcesem.
+ Aby zarządzać zainfekowanym plikiem, przejdź do sekcji Powiadomienia.
diff --git a/app/src/main/res/values-ro/strings.xml b/app/src/main/res/values-ro/strings.xml
index 1c799d6..1376371 100644
--- a/app/src/main/res/values-ro/strings.xml
+++ b/app/src/main/res/values-ro/strings.xml
@@ -82,4 +82,7 @@
S-au scris fișierele de testare!
[EXPERIMENTAL]\nAceasta va descărca o bază de date suplimentară de domenii.\nOrice domenii găsite în conținutul ecranului vor fi verificate în baza de date.\nAcest lucru necesită acordarea manuală a permisiunii serviciului de accesibilitate.\nAcest lucru poate avea un impact substanțial de performanță asupra ecranelor cu cantități mari de text.
Consultă Notificările pentru a gestiona fișierul infectat.
+ Nicio bază de date încărcată. Actualizează bazele de date pentru a utiliza scanerul de link-uri.
+ Ecranul va fi scanat și legăturile rău intenționate vor fi detectate în timp real
+ Folosit pentru a afișa informațiile de scanare a link-urilor.
diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml
index da84e15..00df704 100644
--- a/app/src/main/res/values-ru/strings.xml
+++ b/app/src/main/res/values-ru/strings.xml
@@ -12,7 +12,7 @@
Сканировать /system
Сканировать APK-файлы приложений
Сканировать внешнее хранилище
- Scan Removable Storage
+ Сканировать извлекаемое хранилище
Обнаружение вредоносного ПО
Используется для оповещения при обнаружении вредоносного ПО
Сканер в реальном времени
@@ -83,4 +83,5 @@
\nДля этого необходимо вручную предоставить разрешение службе доступности.
\nЭто может существенно повлиять на производительность экранов с большим количеством текста.
Сканер Hypatia Link
+ Это всего лишь вредоносный сканер, сравнивающий файлы с известными хэш-суммами из баз данных вредоносных программ, а не чудодейстенное средство, обеспечивающее Вашей системе свехзащищённость. Вам следует быть осторожным и обращать внимание на то, что скачиваете/куда клацаете!
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 7da1275..d832c06 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -31,6 +31,7 @@
Using server %s
Successfully downloaded
File not downloaded, response code %s
+ There was an error while validating the database, please double check the signing key and redownload
No database available, not scanning…
Released on %s
File not changed