mirror of
https://github.com/MaintainTeam/Hypatia.git
synced 2025-03-01 05:48:23 +03:00
Add support for the Echap stalkerware database
Signed-off-by: Tad <tad@spotco.us>
This commit is contained in:
parent
d052fff807
commit
76d06b504f
7 changed files with 27 additions and 4 deletions
|
@ -65,6 +65,7 @@ Credits
|
||||||
- ESET for extra databases (BSD 2-Clause)
|
- ESET for extra databases (BSD 2-Clause)
|
||||||
- Nex (@botherder) for extra databases (CC BY-SA 4.0)
|
- Nex (@botherder) for extra databases (CC BY-SA 4.0)
|
||||||
- Amnesty International for extra databases (CC BY 2.0)
|
- Amnesty International for extra databases (CC BY 2.0)
|
||||||
|
- Echap for extra databases (CC BY 4.0)
|
||||||
- RecursiveFileObserver.java (GPLv3): Daniel Gultsch, ownCloud Inc., Bartek Przybylski
|
- RecursiveFileObserver.java (GPLv3): Daniel Gultsch, ownCloud Inc., Bartek Przybylski
|
||||||
- Petra Mirelli for the German/Spanish/Italian translations, the app banner/feature graphic, and various tweaks.
|
- Petra Mirelli for the German/Spanish/Italian translations, the app banner/feature graphic, and various tweaks.
|
||||||
- Jean-Luc Tibaux and Petra Mirelli for the French translations.
|
- Jean-Luc Tibaux and Petra Mirelli for the French translations.
|
||||||
|
|
|
@ -6,8 +6,8 @@ android {
|
||||||
applicationId "us.spotco.malwarescanner"
|
applicationId "us.spotco.malwarescanner"
|
||||||
minSdkVersion 16
|
minSdkVersion 16
|
||||||
targetSdkVersion 32
|
targetSdkVersion 32
|
||||||
versionCode 95
|
versionCode 96
|
||||||
versionName "2.29"
|
versionName "2.30"
|
||||||
resConfigs 'en', 'af', 'de', 'es', 'fi', 'fr', 'it', 'pl', 'pt', 'ru'
|
resConfigs 'en', 'af', 'de', 'es', 'fi', 'fr', 'it', 'pl', 'pt', 'ru'
|
||||||
}
|
}
|
||||||
buildTypes {
|
buildTypes {
|
||||||
|
|
|
@ -96,6 +96,9 @@ class Database {
|
||||||
if (prefs.getBoolean("SIGNATURES_AMNESTY", true)) {
|
if (prefs.getBoolean("SIGNATURES_AMNESTY", true)) {
|
||||||
signatureDatabases.add(new SignatureDatabase(baseURL, "amnesty.hsb.gz"));
|
signatureDatabases.add(new SignatureDatabase(baseURL, "amnesty.hsb.gz"));
|
||||||
}
|
}
|
||||||
|
if (prefs.getBoolean("SIGNATURES_STALKERWARE", true)) {
|
||||||
|
signatureDatabases.add(new SignatureDatabase(baseURL, "stalkerware.hsb.gz"));
|
||||||
|
}
|
||||||
if (prefs.getBoolean("SIGNATURES_ESET", true)) {
|
if (prefs.getBoolean("SIGNATURES_ESET", true)) {
|
||||||
signatureDatabases.add(new SignatureDatabase(baseURL, "eset.hdb.gz"));
|
signatureDatabases.add(new SignatureDatabase(baseURL, "eset.hdb.gz"));
|
||||||
signatureDatabases.add(new SignatureDatabase(baseURL, "eset.hsb.gz"));
|
signatureDatabases.add(new SignatureDatabase(baseURL, "eset.hsb.gz"));
|
||||||
|
|
|
@ -150,14 +150,16 @@ public class MainActivity extends Activity {
|
||||||
localizeDBDescription("ClamAV: Daily\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("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-SA 4.0\n • AUTHOR: Nex\n • SOURCE: https://github.com/botherder/targetedthreats\n"),
|
localizeDBDescription("Targeted Threats\n • SIZE: SIZE_SMALL\n • LICENSE: CC BY-SA 4.0\n • AUTHOR: Nex\n • SOURCE: https://github.com/botherder/targetedthreats\n"),
|
||||||
localizeDBDescription("Amnesty Tech Investigations\n • SIZE: SIZE_SMALL\n • LICENSE: CC BY 2.0\n • AUTHOR: Amnesty International\n • SOURCE: https://github.com/amnestytech/investigations")};
|
localizeDBDescription("Amnesty Tech Investigations\n • SIZE: SIZE_SMALL\n • LICENSE: CC BY 2.0\n • AUTHOR: Amnesty International\n • SOURCE: https://github.com/amnestytech/investigations\n"),
|
||||||
|
localizeDBDescription("Stalkerware\n • SIZE: SIZE_SMALL\n • LICENSE: CC BY 4.0\n • AUTHOR: Echap\n • SOURCE: https://github.com/AssoEchap/stalkerware-indicators")};
|
||||||
final boolean[] databaseDefaults = {
|
final boolean[] databaseDefaults = {
|
||||||
prefs.getBoolean("SIGNATURES_CLAMAV-ANDROID", true),
|
prefs.getBoolean("SIGNATURES_CLAMAV-ANDROID", true),
|
||||||
prefs.getBoolean("SIGNATURES_CLAMAV-MAIN", false),
|
prefs.getBoolean("SIGNATURES_CLAMAV-MAIN", false),
|
||||||
prefs.getBoolean("SIGNATURES_CLAMAV-DAILY", false),
|
prefs.getBoolean("SIGNATURES_CLAMAV-DAILY", false),
|
||||||
prefs.getBoolean("SIGNATURES_ESET", true),
|
prefs.getBoolean("SIGNATURES_ESET", true),
|
||||||
prefs.getBoolean("SIGNATURES_TARGETEDTHREATS", true),
|
prefs.getBoolean("SIGNATURES_TARGETEDTHREATS", true),
|
||||||
prefs.getBoolean("SIGNATURES_AMNESTY", true)};
|
prefs.getBoolean("SIGNATURES_AMNESTY", true),
|
||||||
|
prefs.getBoolean("SIGNATURES_STALKERWARE", true)};
|
||||||
|
|
||||||
Dialog databaseDialog;
|
Dialog databaseDialog;
|
||||||
AlertDialog.Builder databaseBuilder = new AlertDialog.Builder(this);
|
AlertDialog.Builder databaseBuilder = new AlertDialog.Builder(this);
|
||||||
|
@ -171,6 +173,7 @@ public class MainActivity extends Activity {
|
||||||
prefs.edit().putBoolean("SIGNATURES_ESET", databaseDefaults[3]).apply();
|
prefs.edit().putBoolean("SIGNATURES_ESET", databaseDefaults[3]).apply();
|
||||||
prefs.edit().putBoolean("SIGNATURES_TARGETEDTHREATS", databaseDefaults[4]).apply();
|
prefs.edit().putBoolean("SIGNATURES_TARGETEDTHREATS", databaseDefaults[4]).apply();
|
||||||
prefs.edit().putBoolean("SIGNATURES_AMNESTY", databaseDefaults[5]).apply();
|
prefs.edit().putBoolean("SIGNATURES_AMNESTY", databaseDefaults[5]).apply();
|
||||||
|
prefs.edit().putBoolean("SIGNATURES_STALKERWARE", databaseDefaults[6]).apply();
|
||||||
});
|
});
|
||||||
|
|
||||||
databaseDialog = databaseBuilder.create();
|
databaseDialog = databaseBuilder.create();
|
||||||
|
|
|
@ -15,6 +15,7 @@
|
||||||
<item>• ESET: Signature Databases</item>
|
<item>• ESET: Signature Databases</item>
|
||||||
<item>• Nex (@botherder): Signature Databases</item>
|
<item>• Nex (@botherder): Signature Databases</item>
|
||||||
<item>• Amnesty International: Signature Databases</item>
|
<item>• Amnesty International: Signature Databases</item>
|
||||||
|
<item>• Echap: Signature Databases</item>
|
||||||
<item>• RecursiveFileObserver.java: Daniel Gultsch, ownCloud Inc., Bartek Przybylski</item>
|
<item>• RecursiveFileObserver.java: Daniel Gultsch, ownCloud Inc., Bartek Przybylski</item>
|
||||||
<item>• Google: App Icon</item>
|
<item>• Google: App Icon</item>
|
||||||
</string-array>
|
</string-array>
|
||||||
|
|
1
fastlane/metadata/android/en-US/changelogs/96.txt
Normal file
1
fastlane/metadata/android/en-US/changelogs/96.txt
Normal file
|
@ -0,0 +1 @@
|
||||||
|
* Add support for the Echap stalkerware database
|
14
scripts/0stalkerware.sh
Normal file
14
scripts/0stalkerware.sh
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
#!/bin/bash
|
||||||
|
#License: GPLv3
|
||||||
|
#Description: Hypatia conversion script for https://github.com/AssoEchap/stalkerware-indicators (CC BY 4.0)
|
||||||
|
|
||||||
|
while IFS=, read -r col1SHA col2Package col3Certificate col4Version col5Name
|
||||||
|
do
|
||||||
|
if [ -n "$col1SHA" ] && [ -n "$col5Name" ]; then
|
||||||
|
echo "$col1SHA:0:$col5Name" >> ./stalkerware.hsb;
|
||||||
|
fi;
|
||||||
|
done < samples.csv;
|
||||||
|
|
||||||
|
sed -i '1d' stalkerware.hsb;
|
||||||
|
|
||||||
|
gzip stalkerware.hsb;
|
Loading…
Add table
Reference in a new issue