mirror of
https://github.com/MaintainTeam/Hypatia.git
synced 2025-02-28 21:38:21 +03:00
More fixes
- Fixup SHA1 hash calculation - Show full notification text when expanded - Make basic self test more robust - Add a self test option that actually writes files - Bump version to 3.0, since all previous versions are basically completely broken garbage Signed-off-by: Tad <tad@spotco.us>
This commit is contained in:
parent
71cc9157a7
commit
72d1f97a96
8 changed files with 43 additions and 7 deletions
|
@ -6,8 +6,8 @@ android {
|
|||
applicationId "us.spotco.malwarescanner"
|
||||
minSdkVersion 19
|
||||
targetSdkVersion 32
|
||||
versionCode 120
|
||||
versionName "2.40"
|
||||
versionCode 121
|
||||
versionName "3.0"
|
||||
resConfigs 'en', 'af', 'de', 'el', 'es', 'fi', 'fr', 'it', 'pl', 'pt', 'ru', 'tr', 'zh-rCN'
|
||||
}
|
||||
buildTypes {
|
||||
|
|
|
@ -244,9 +244,12 @@ class Database {
|
|||
|
||||
public static boolean selfTest() {
|
||||
if (signaturesMD5 != null && signaturesSHA1 != null && signaturesSHA256 != null) {
|
||||
return signaturesMD5.mightContain("903616d0dbe074aa363d2d49c03f7362")
|
||||
&& signaturesSHA1.mightContain("fc4a3e802894cc2229be77ec6f082d1aab744e54")
|
||||
&& signaturesSHA256.mightContain("df44844a0e99ddd935e8419257440a2ca7ef3243435a67416fcbb6cd3ae560c3");
|
||||
return signaturesMD5.mightContain("903616d0dbe074aa363d2d49c03f7362") //HypatiaHypatiaHypatia
|
||||
&& signaturesMD5.mightContain("faf325d9d4b2a6c9457405eb31870b22") //HypatiaHypatiaHypatia-MD5
|
||||
&& signaturesSHA1.mightContain("fc4a3e802894cc2229be77ec6f082d1aab744e54") //HypatiaHypatiaHypatia
|
||||
&& signaturesSHA1.mightContain("04445ab9332cdca0031184165eb88a0a9dcec4ed") //HypatiaHypatiaHypatia-SHA1
|
||||
&& signaturesSHA256.mightContain("df44844a0e99ddd935e8419257440a2ca7ef3243435a67416fcbb6cd3ae560c3") //HypatiaHypatiaHypatia
|
||||
&& signaturesSHA256.mightContain("3be403a831795482e82e2f9bc3e57ca34744aca3756e297b056b9f9c41830eaf"); //HypatiaHypatiaHypatia-SHA256
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -228,6 +228,9 @@ public class MainActivity extends Activity {
|
|||
scanExternal = !item.isChecked();
|
||||
item.setChecked(scanExternal);
|
||||
break;
|
||||
case R.id.mnuSelfTestReal:
|
||||
Utils.writeSelfTestFiles();
|
||||
break;
|
||||
case R.id.mnuFullCredits:
|
||||
showCredits();
|
||||
break;
|
||||
|
|
|
@ -88,7 +88,8 @@ class MalwareScanner extends AsyncTask<HashSet<File>, Object, String> {
|
|||
new Notification.Builder(context.getApplicationContext())
|
||||
.setSmallIcon(R.drawable.ic_notification)
|
||||
.setContentTitle(context.getText(R.string.lblNotificationRealtimeDetection) + " " + malwareDetect[0])
|
||||
.setContentText("File: >>>" + malwareDetect[1] + "<<<\nID: >>>" + hashsum.substring(0, 8) + "<<<")
|
||||
.setContentText("File: >>>" + malwareDetect[1] + "<<<")
|
||||
.setStyle(new Notification.BigTextStyle().bigText("File: >>>" + malwareDetect[1] + "<<<\nID: >>>" + hashsum.substring(0, 8) + "<<<"))
|
||||
.setOngoing(true)
|
||||
.setPriority(Notification.PRIORITY_MAX)
|
||||
.setDefaults(Notification.DEFAULT_VIBRATE);
|
||||
|
@ -314,7 +315,7 @@ class MalwareScanner extends AsyncTask<HashSet<File>, Object, String> {
|
|||
fis.close();
|
||||
|
||||
fileHashesMD5.put(file, String.format("%032x", new BigInteger(1, digestMD5.digest())).toLowerCase());
|
||||
fileHashesSHA1.put(file, String.format("%032x", new BigInteger(1, digestSHA1.digest())).toLowerCase());
|
||||
fileHashesSHA1.put(file, String.format("%040x", new BigInteger(1, digestSHA1.digest())).toLowerCase());
|
||||
fileHashesSHA256.put(file, String.format("%064x", new BigInteger(1, digestSHA256.digest())).toLowerCase());
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
|
|
|
@ -25,10 +25,13 @@ import android.content.pm.PackageManager;
|
|||
import android.net.ConnectivityManager;
|
||||
import android.net.NetworkInfo;
|
||||
import android.os.Build;
|
||||
import android.os.Environment;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.PrintWriter;
|
||||
import java.net.Socket;
|
||||
import java.util.HashSet;
|
||||
import java.util.Random;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.concurrent.LinkedBlockingQueue;
|
||||
import java.util.concurrent.ThreadPoolExecutor;
|
||||
|
@ -188,4 +191,22 @@ class Utils {
|
|||
public static void setContext(Context context) {
|
||||
Utils.context = context;
|
||||
}
|
||||
|
||||
public static void writeSelfTestFiles() {
|
||||
int rand = new Random().nextInt();
|
||||
writeStringToFile(new File(Environment.getExternalStorageDirectory() + "/Hypatia-MD5-Test-" + rand + ".txt"), "HypatiaHypatiaHypatia-MD5");
|
||||
writeStringToFile(new File(Environment.getExternalStorageDirectory() + "/Hypatia-SHA1-Test-" + rand + ".txt"), "HypatiaHypatiaHypatia-SHA1");
|
||||
writeStringToFile(new File(Environment.getExternalStorageDirectory() + "/Hypatia-SHA256-Test-" + rand + ".txt"), "HypatiaHypatiaHypatia-SHA256");
|
||||
}
|
||||
|
||||
public static void writeStringToFile(File fileOut, String s) {
|
||||
//Write the file
|
||||
try {
|
||||
PrintWriter writer = new PrintWriter(fileOut, "UTF-8");
|
||||
writer.print(s);
|
||||
writer.close();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -44,6 +44,9 @@
|
|||
android:title="@string/lblScanExternal"
|
||||
android:checkable="true"
|
||||
android:checked="false" />
|
||||
<item
|
||||
android:id="@+id/mnuSelfTestReal"
|
||||
android:title="@string/lblSelfTest" />
|
||||
<item
|
||||
android:id="@+id/mnuFullCredits"
|
||||
android:title="@string/lblFullCredits" />
|
||||
|
|
|
@ -82,4 +82,5 @@
|
|||
<string name="confirm_uninstall_title">Confirm uninstall</string>
|
||||
<string name="confirm_uninstall_summary">Are you sure you want to uninstall the following app?</string>
|
||||
<string name="uninstallApp">Uninstall</string>
|
||||
<string name="lblSelfTest">Write self test files</string>
|
||||
</resources>
|
||||
|
|
4
fastlane/metadata/android/en-US/changelogs/121.txt
Normal file
4
fastlane/metadata/android/en-US/changelogs/121.txt
Normal file
|
@ -0,0 +1,4 @@
|
|||
* Fixup SHA1 hash calculation
|
||||
* Show full notification text when expanded
|
||||
* Make basic self test more robust
|
||||
* Add a self test option that actually writes files
|
Loading…
Add table
Reference in a new issue