From 2e8994ee7a54bb60a22d317257a94dc86ead967c Mon Sep 17 00:00:00 2001 From: Tad Date: Wed, 21 Jul 2021 15:27:59 -0400 Subject: [PATCH] Improve database descriptions and add a new database source --- .idea/vcs.xml | 2 +- .../us/spotco/malwarescanner/Database.java | 5 ++-- .../spotco/malwarescanner/MainActivity.java | 23 ++++++++++++++++--- app/src/main/res/values-de/strings.xml | 6 +++++ app/src/main/res/values-es/strings.xml | 6 +++++ app/src/main/res/values-fr/strings.xml | 6 +++++ app/src/main/res/values-it/strings.xml | 6 +++++ app/src/main/res/values-pt/strings.xml | 6 +++++ app/src/main/res/values-ru/strings.xml | 7 ++++++ app/src/main/res/values/arrays.xml | 1 + app/src/main/res/values/strings.xml | 7 ++++++ scripts/0clamav.sh | 4 ++-- 12 files changed, 71 insertions(+), 8 deletions(-) diff --git a/.idea/vcs.xml b/.idea/vcs.xml index 6596ed1..94a25f7 100644 --- a/.idea/vcs.xml +++ b/.idea/vcs.xml @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/app/src/main/java/us/spotco/malwarescanner/Database.java b/app/src/main/java/us/spotco/malwarescanner/Database.java index 844d170..ac27540 100644 --- a/app/src/main/java/us/spotco/malwarescanner/Database.java +++ b/app/src/main/java/us/spotco/malwarescanner/Database.java @@ -92,8 +92,9 @@ class Database { signatureDatabases.clear(); prefs = context.getSharedPreferences(BuildConfig.APPLICATION_ID, Context.MODE_PRIVATE); - if (prefs.getBoolean("SIGNATURES_EXTRA", false)) { - //no databases + if (prefs.getBoolean("SIGNATURES_TARGETEDTHREATS", true)) { + signatureDatabases.add(new SignatureDatabase(baseURL + "targetedthreats.hdb.gz")); + signatureDatabases.add(new SignatureDatabase(baseURL + "targetedthreats.hsb.gz")); } if (prefs.getBoolean("SIGNATURES_ESET", true)) { signatureDatabases.add(new SignatureDatabase(baseURL + "eset.hdb.gz")); diff --git a/app/src/main/java/us/spotco/malwarescanner/MainActivity.java b/app/src/main/java/us/spotco/malwarescanner/MainActivity.java index fa2013c..4d763d1 100644 --- a/app/src/main/java/us/spotco/malwarescanner/MainActivity.java +++ b/app/src/main/java/us/spotco/malwarescanner/MainActivity.java @@ -156,14 +156,31 @@ public class MainActivity extends AppCompatActivity { creditsDialog.show(); } + private String localizeDBDescription(String desc) { + String localDesc = desc + .replaceAll("AUTHOR", getString(R.string.db_desc_author)) + .replaceAll("LICENSE", getString(R.string.db_desc_license)) + .replaceAll("SIZE_SMALL", getString(R.string.db_desc_size_small)) + .replaceAll("SIZE_MEDIUM", getString(R.string.db_desc_size_medium)) + .replaceAll("SIZE_LARGE", getString(R.string.db_desc_size_large)) + .replaceAll("SIZE", getString(R.string.db_desc_size)) + .replaceAll("SOURCE", getString(R.string.db_desc_source)); + return localDesc; + } + private void selectDatabases() { - final String[] databases = {"ClamAV: Android Only (GPL-2.0)", "ClamAV: Main (GPL-2.0)", "ClamAV: Daily [MASSIVE] (GPL-2.0)", "ESET (BSD 2-Clause)", "Extra (unused)"}; + final String[] databases = { + localizeDBDescription("ClamAV: Android Only\n • SIZE: SIZE_MEDIUM\n • LICENSE: GPL-2.0\n • AUTHOR: Cisco\n • SOURCE: https://clamav.net\n"), + localizeDBDescription("ClamAV: Main\n • SIZE: SIZE_LARGE\n • LICENSE: GPL-2.0\n • AUTHOR: Cisco\n • SOURCE: https://clamav.net\n"), + localizeDBDescription("ClamAV: Daily\n • SIZE: SIZE_LARGE\n • LICENSE: GPL-2.0\n • AUTHOR: Cisco\n • SOURCE: https://clamav.net\n"), + localizeDBDescription("ESET\n • SIZE: SIZE_SMALL\n • LICENSE: BSD 2-Clause\n • AUTHOR: ESET\n • SOURCE: https://github.com/eset/malware-ioc\n"), + localizeDBDescription("Targeted Threats\n • SIZE: SIZE_SMALL\n • LICENSE: CC BY-4.0\n • AUTHOR: Nex\n • SOURCE: https://github.com/botherder/targetedthreats")}; final boolean[] databaseDefaults = { prefs.getBoolean("SIGNATURES_CLAMAV-ANDROID", true), prefs.getBoolean("SIGNATURES_CLAMAV-MAIN", false), prefs.getBoolean("SIGNATURES_CLAMAV-DAILY", false), prefs.getBoolean("SIGNATURES_ESET", true), - prefs.getBoolean("SIGNATURES_EXTRA", false)}; + prefs.getBoolean("SIGNATURES_TARGETEDTHREATS", true)}; Dialog databaseDialog; AlertDialog.Builder databaseBuilder = new AlertDialog.Builder(this); @@ -182,7 +199,7 @@ public class MainActivity extends AppCompatActivity { prefs.edit().putBoolean("SIGNATURES_CLAMAV-MAIN", databaseDefaults[1]).apply(); prefs.edit().putBoolean("SIGNATURES_CLAMAV-DAILY", databaseDefaults[2]).apply(); prefs.edit().putBoolean("SIGNATURES_ESET", databaseDefaults[3]).apply(); - prefs.edit().putBoolean("SIGNATURES_EXTRA", databaseDefaults[4]).apply(); + prefs.edit().putBoolean("SIGNATURES_TARGETEDTHREATS", databaseDefaults[4]).apply(); } }); diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 3d20cbe..8e6afdf 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -44,4 +44,10 @@ Keine %s Hash-Signaturen verfügbar Scan nach %s Sekunden abgeschlossen @ %sMB/s! %s Datei(en) gescannt + Lizenz + Größe + Quelle + Klein + Mittel + Groß diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 3b2d651..a38174a 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -46,4 +46,10 @@ No hay firmas %s hashes disponibles ¡Escaneo completado en %s segundos @ %sMB/s! %s archivos escaneados + Licencia + Grande + Medio + Pequeña + Fuente + Tamaño \ No newline at end of file diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 5ea990b..0f51439 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -43,4 +43,10 @@ Vérification de tous les hachages %s par rapport aux bases de données de signatures Scan complété en %s secondes @ %sMB/s! %s fichiers scannés + Licence + Taille + La source + Moyen + Grande + Petite diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 7411102..9542629 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -45,4 +45,10 @@ Nessuna firma hash %s disponibile Scansione completata in %s secondi @ %sMB/s! %s file scansionati + Licenza + Dimensione + "Fonte " + Medio + Grande + Piccola diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index a1a5bc2..913bf46 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -46,4 +46,10 @@ Sem %s assinaturas de hashes disponíveis Análise será concluída em %s segundos @ %sMB/s! %s arquivos analisados + Licença + Grande + Média + Pequena + Fonte + Tamanho diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 5705cb1..6609c79 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -46,4 +46,11 @@ Нет доступных подписей хэшей %s Сканирование выполнено за %s секунд @ %sMB/s! Просканировано %s файлов + Лицензия + Автор + Размер + Источник + Небольшой + Середина + Большой diff --git a/app/src/main/res/values/arrays.xml b/app/src/main/res/values/arrays.xml index 35727a3..6f76f50 100644 --- a/app/src/main/res/values/arrays.xml +++ b/app/src/main/res/values/arrays.xml @@ -8,6 +8,7 @@ • @q1011: Russian Translations • ClamAV by Cisco: Signature Databases • ESET: Signature Databases + • Nex (@botherder): Signature Databases • RecursiveFileObserver.java: Daniel Gultsch, ownCloud Inc., Bartek Przybylski • Google: App Icon diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 57b993a..54d5575 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -48,4 +48,11 @@ No %s hashes signatures available Scan completed in %s seconds @ %sMB/s! %s files scanned + Author + License + Size + Source + Small + Medium + Large diff --git a/scripts/0clamav.sh b/scripts/0clamav.sh index b8e3a2e..24f1362 100644 --- a/scripts/0clamav.sh +++ b/scripts/0clamav.sh @@ -7,9 +7,9 @@ mkdir /tmp/mss mkdir /tmp/mss/processed cd /tmp/mss cp /var/lib/clamav/main.cvd . -cp /var/lib/clamav/daily.cvd . +cp /var/lib/clamav/daily.c*d . sigtool -u main.cvd -sigtool -u daily.cvd +sigtool -u daily.c*d #MD5 grep "Andr\\." main.hdb >> Android.hdb