Add a readme

This commit is contained in:
Tad 2017-12-26 20:06:14 -05:00
parent e0dbe6a00a
commit aef0d0fd65
4 changed files with 35 additions and 3 deletions

2
.idea/misc.xml generated
View file

@ -24,7 +24,7 @@
</value>
</option>
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="JDK" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" default="true" project-jdk-name="JDK" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">

32
README.md Normal file
View file

@ -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

View file

@ -44,6 +44,7 @@
<intent-filter>
<action android:name="android.intent.action.PACKAGE_REPLACED" />
<action android:name="android.intent.action.PACKAGE_ADDED" />
<data android:scheme="package" />
</intent-filter>
</receiver>

View file

@ -3,7 +3,6 @@
<string name="lblUpdateDatabase">Update databases</string>
<string name="lblSelectDatabases">Select databases</string>
<string name="lblSelectDatabasesTitle">Select databases to enable</string>
<string name="lblStartRealtime">Start realtime scanner</string>
<string name="lblScanSystem">Scan /system</string>
<string name="lblScanApps">Scan App APKs</string>
<string name="lblScanInternal">Scan Internal Storage</string>