diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index 41871c2..4404972 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -5,7 +5,7 @@
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 0401201..bf02b78 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -1,5 +1,12 @@
+
+
+
+
+
@@ -26,7 +33,7 @@
-
+
@@ -41,6 +48,7 @@
+
diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml
deleted file mode 100644
index e497da9..0000000
--- a/.idea/runConfigurations.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index 38c86c9..fab900c 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -6,7 +6,7 @@ android {
applicationId "us.spotco.malwarescanner"
minSdkVersion 16
targetSdkVersion 29
- versionCode 74
+ versionCode 75
versionName "2.21"
resConfigs "en", "de", "es", "fr", "it", "pt", "ru"
}
diff --git a/app/src/main/java/us/spotco/malwarescanner/MalwareScanner.java b/app/src/main/java/us/spotco/malwarescanner/MalwareScanner.java
index b23d506..c60a39c 100644
--- a/app/src/main/java/us/spotco/malwarescanner/MalwareScanner.java
+++ b/app/src/main/java/us/spotco/malwarescanner/MalwareScanner.java
@@ -48,9 +48,9 @@ class MalwareScanner extends AsyncTask, Object, String> {
private boolean userFacing = false;
private NotificationManager notificationManager = null;
private long scanStartTime = 0;
- private final HashMap fileHashesMD5 = new HashMap<>();
- private final HashMap fileHashesSHA1 = new HashMap<>();
- private final HashMap fileHashesSHA256 = new HashMap<>();
+ private final HashMap fileHashesMD5 = new HashMap<>();
+ private final HashMap fileHashesSHA1 = new HashMap<>();
+ private final HashMap fileHashesSHA256 = new HashMap<>();
public boolean running = false;
public MalwareScanner(Activity activity, Context context, boolean userFacing) {
@@ -191,13 +191,12 @@ class MalwareScanner extends AsyncTask, Object, String> {
logResult((String) objects[0], (boolean) objects[1]);
}
- private void checkSignature(String hashType, HashMap signaturesToCheck, HashMap signatureDatabase) {
- //XXX: TODO: This is a map with hash,file meaning multiple files with the same hashes will only match once!
+ private void checkSignature(String hashType, HashMap signaturesToCheck, HashMap signatureDatabase) {
if (signatureDatabase.size() > 0) {
- for (Map.Entry file : signaturesToCheck.entrySet()) {
- if (signatureDatabase.containsKey(file.getKey())) {
- String result = signatureDatabase.get(file.getKey());
- publishProgress(result + " in " + file.getValue().toString().replaceAll(Environment.getExternalStorageDirectory().toString(), "~"), false);
+ for (Map.Entry file : signaturesToCheck.entrySet()) {
+ if (signatureDatabase.containsKey(file.getValue())) {
+ String result = signatureDatabase.get(file.getValue());
+ publishProgress(result + " in " + file.getKey().toString().replaceAll(Environment.getExternalStorageDirectory().toString(), "~"), false);
}
}
publishProgress("\t" + context.getString(R.string.main_hash_scan_done, hashType) + "\n", true);
@@ -228,9 +227,9 @@ class MalwareScanner extends AsyncTask, Object, String> {
fis.close();
- fileHashesMD5.put(String.format("%032x", new BigInteger(1, digestMD5.digest())).substring(0, Utils.MAX_HASH_LENGTH), file);
- fileHashesSHA1.put(String.format("%032x", new BigInteger(1, digestSHA1.digest())).substring(0, Utils.MAX_HASH_LENGTH), file);
- fileHashesSHA256.put(String.format("%064x", new BigInteger(1, digestSHA256.digest())).substring(0, Utils.MAX_HASH_LENGTH), file);
+ fileHashesMD5.put(file, String.format("%032x", new BigInteger(1, digestMD5.digest())).substring(0, Utils.MAX_HASH_LENGTH));
+ fileHashesSHA1.put(file, String.format("%032x", new BigInteger(1, digestSHA1.digest())).substring(0, Utils.MAX_HASH_LENGTH));
+ fileHashesSHA256.put(file, String.format("%064x", new BigInteger(1, digestSHA256.digest())).substring(0, Utils.MAX_HASH_LENGTH));
} catch (Exception e) {
e.printStackTrace();
}