From aef0d0fd65eafff2ac1fbbae8d75289317fcfd82 Mon Sep 17 00:00:00 2001 From: Tad Date: Tue, 26 Dec 2017 20:06:14 -0500 Subject: [PATCH] Add a readme --- .idea/misc.xml | 2 +- README.md | 32 +++++++++++++++++++++++++++++ app/src/main/AndroidManifest.xml | 3 ++- app/src/main/res/values/strings.xml | 1 - 4 files changed, 35 insertions(+), 3 deletions(-) create mode 100644 README.md diff --git a/.idea/misc.xml b/.idea/misc.xml index 47eabe0..6faa303 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -24,7 +24,7 @@ - + diff --git a/README.md b/README.md new file mode 100644 index 0000000..04ee5ed --- /dev/null +++ b/README.md @@ -0,0 +1,32 @@ +Theia +===== + +Overview +-------- +Theia is the worlds first FOSS malware scanner for Android. It is powered by ClamAV signature databases (GPLv3). + +Features +-------- +- Near zero battery impact: you'll never notice any impact on battery at all +- Extremely fast: it can scan small files (1MB) in <20ms, and even large files (40MB) in 1000ms. +- Memory efficient: with the default databases enabled it uses under 120MB. +- Regular scan: allowing selection of /system, internal storage, external storage, and installed apps +- Realtime scanner: can detect malware in realtime on write/rename in internal storage +- Completely offline: Internet is only used to download signature databases, files will never ever leave your device +- Tiny codebase: coming in at under 1000 sloc, it can be audited by even someone with basic programming experience +- Minimal dependencies: the app only uses libraries when necessary +- Signature databases can be enabled/disabled at the users demand + +Technical Details +------------------ +- Signature databases are ClavAV .hdb (MD5 hashes) and .hsb (SHA-1/SHA-256) format +- Signature databases will not be redownloaded if the file hasn't changed on the server (304 not modified) +- Realtime scanning powered by recursive FileObserver (Credit: @iNPUTmice) +- Signatures are stored using HashMaps for O(1) lookup +- Files have their MD5/SHA-1/SHA-256 hashes calculated in one pass + +Credits +------- +- Trove (GPLv3): A memory efficient replacement for Java's Collections +- RecursiveFileObserver.java (GPLv3): Daniel Gultsch, ownCloud Inc., Bartek Przybylski +- Icons (Apache-2.0): Google/Android/AOSP diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index c54d5de..1a84004 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -30,7 +30,7 @@ android:name=".MalwareScannerService" android:label="Theia Realtime Malware Scanner" android:enabled="true" - android:exported="false"/> + android:exported="false" /> + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index c9b8a1d..31af6c0 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -3,7 +3,6 @@ Update databases Select databases Select databases to enable - Start realtime scanner Scan /system Scan App APKs Scan Internal Storage