A realtime malware scanner
Find a file
thereisnoanderson 357ac70e44 add & change to german translations
some enhanced descriptions  added translations and some overall enhancements in terms of "making sure the descriptions aren't too generalized as possible" because some translated functions could need more depth to describe its actual function in a securely matter. Other descriptions could have a more simplified form.
2024-03-04 17:55:29 +00:00
.idea Directly load the pre-processed bloom filters 2023-12-21 23:30:41 -05:00
app add & change to german translations 2024-03-04 17:55:29 +00:00
fastlane/metadata/android Bump for release 2024-02-27 01:46:45 -05:00
gradle Make the app smaller 2023-12-28 22:09:35 -05:00
graphics Many small improvements 2021-02-22 14:26:23 -05:00
scripts Bump for release 2024-02-27 01:46:45 -05:00
.gitignore Initial commit 2017-12-13 22:44:56 -05:00
.gitlab-ci.yml CI Improvements 2021-09-24 16:04:57 -04:00
build.gradle Update dependencies 2022-08-21 19:42:41 -04:00
debugkey.pk8 CI Improvements 2021-09-24 16:04:57 -04:00
debugkey.x509.pem CI Improvements 2021-09-24 16:04:57 -04:00
gradle.properties Enable strict dependency verification 2022-08-22 12:50:51 -04:00
gradlew Update dependencies 2022-08-21 19:42:41 -04:00
gradlew.bat Update dependencies 2022-08-21 19:42:41 -04:00
LICENSE Much more scaffolding 2017-12-13 23:42:10 -05:00
README.de.md add & change to german translations 2024-03-04 17:30:02 +00:00
README.es.md Bump for release 2024-02-27 01:46:45 -05:00
README.fr.md Bump for release 2024-02-27 01:46:45 -05:00
README.it.md Bump for release 2024-02-27 01:46:45 -05:00
README.md Bump for release 2024-02-27 01:46:45 -05:00
README.pl.md Bump for release 2024-02-27 01:46:45 -05:00
README.tr.md Bump for release 2024-02-27 01:46:45 -05:00
settings.gradle Bump app version 2017-12-26 18:54:57 -05:00

Banner

Hypatia

Overview

Hypatia is the world's first FOSS malware scanner for Android. It is powered by ClamAV style signature databases.

Get it on F-Droid

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
  • Persistence: will automatically restart on boot/update
  • 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 serialized Guava BloomFilter object format
  • Signature databases will not be redownloaded if the file hasn't changed on the server (304 not modified)
  • Signatures are stored using BloomFilters for O(k) lookup
  • Files have their MD5/SHA-1/SHA-256 hashes calculated in one pass
  • Realtime scanner is multithreaded and will use half of the device's core count for scanning multiple files asynchronously
  • Realtime scanning powered by a recursive FileObserver
  • Network connections will be made to the following: https://divested.dev/MalwareScannerSignatures/hypatia-*-bloom.bin{,.sig}
  • Statistics & generation output of the current database is available via https://divested.dev/MalwareScannerSignatures/

Planned Updates

  • Option to scan on access
  • Scan files via share intent
  • Scan newly installed/updated apps
  • Option to let 3rd-party apps invoke scans
  • Automatic database updates
  • Automatic database generation
  • Database sanity checks
  • Testing
  • Better GUI
  • Translations
  • Scanning entire system using root (low priority)

Goals

  • Be fast
  • Don't eat batteries
  • Use minimal permissions
  • Use libraries only when necessary

Credits

  • ClamAV for the databases (GPLv2)
  • ESET for extra databases (BSD 2-Clause)
  • Nex (@botherder) for extra databases (CC BY-SA 4.0)
  • Amnesty International for extra databases (CC BY 2.0)
  • Echap for extra databases (CC BY 4.0)
  • MalwareBazaar for extra databases (CC0)
  • RecursiveFileObserver.java (GPL-3.0-or-later): Daniel Gultsch, ownCloud Inc., Bartek Przybylski
  • GPGDetachedSignatureVerifier.java (GPL-2.0-or-later): Federico Fissore, Arduino LLC
  • 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.
  • @srccrow for the Italian translations.
  • @inkhorn for the Portuguese translations.
  • @jontaix for Portuguese translations.
  • @q1011 for the Russian translations.
  • Oswald van Ginkel for the Afrikaans translations.
  • huuhaa for the Finnish translations.
  • Marcin Mikołajczak for Polish translations.
  • @Manuel-Senpai for the Spanish translations.
  • @Balthazar1234 for German translations.
  • @Sdarfeesh for the simplified Chinese translations.
  • @cardpuncher for French and the Turkish translations.
  • Tommaso Fonda for Italian translations.
  • Dimitris Vagiakakos for the Greek translations.
  • @gallegonovato for the Spanish translations.
  • @Fjuro for the Czech translations.
  • Icons: Google/Android/AOSP, License: Apache 2.0, https://google.github.io/material-design-icons/

Notices

  • Divested Computing Group is not affiliated with Cisco or ESET
  • Hypatia is not sponsored or endorsed by Cisco or ESET

Donate