一款无需 root、adb、CA 证书安装及云端的安卓杀毒软件,拥有众多功能,可通过多种方式检测更多零日恶意软件
高级 Android 杀毒软件,具备威胁防护功能
⚠️ 项目暂停中。 这个项目没有获得足够的关注,因此我已 将其暂停一段时间。开发工作已转移到 HydraDragonAntivirus。
(徽标由名为 1tophbeifong 的 Discord 用户制作)
HydraDragonAV Mobile 是一款多层 Android 杀毒与安全套件,结合了静态分析(YARA-X + ClamAV 签名 + 代码异常检测)、动态行为分析以及轻量级的设备端机器学习分类器——所有环节都经过基于 NSRL 的白名单把关,确保已知良好软件绝不会产生误报。它采用零信任架构设计,主动保护设备免受勒索软件、点击劫持、间谍软件、短信诈骗/网络钓鱼以及零日威胁的攻击。当被标记的恶意应用被启动时,会被自动强制停止并阻止,实时生效。
📋 要求:Android 8.0 Oreo(API 26)或更高版本。 按应用的动态 网络分析——将每个 DNS/连接归属于发起它的具体应用,并将其馈送到 YARA-X
hydradragon模块——依赖于ConnectivityManager.getConnectionOwnerUid, 该 API 仅在 Android 10+ 上可用。在 Oreo/API 26-28 上,套件的其余部分仍可运行, 但无法进行按应用的连接归属。
🤖 仅限 Android 的检测范围。 这是原始 HydraDragonAntivirus 的一个极简、专注 Android 的 分支——它只检测 Android 恶意软件。原生扫描引擎只对它能确信识别为 Android 相关类型(APK/ZIP、DEX、ELF、HTML、ASCII 文本、PDF、图片)的文件 运行 ClamAV/YARA-X 签名匹配;仅限桌面的格式(Windows PE、OLE2/Office、Mail、Mach-O、Java) 以及类型不确定的文件会被完全跳过,而不是用一套本就不适合它们的 签名数据库进行扫描。更多详情,请参阅 wiki (ClamAV 集成、 已知限制)。
ConcurrentHashMap 缓存,以零 CPU 开销即时重新验证此前已扫描过的安全应用。libhydradragonandroid.so)负责繁重的工作——YARA-X + ClamAV 签名匹配、归档解压(zip/gz/tar/xz/lzma/7z/rar,包括嵌套的 APK)、AXML 清单解析以及危险权限计数,全部直接基于内存中的字节完成(无需临时文件)。AIEngine)还会对 DEX 级行为进行评分(混淆、动态加载、加密/套接字/shell API、广告软件 SDK)。BroadcastReceiver 会自动拦截并扫描新安装/更新的 APK。如果用户在扫描过程中打开扫描界面,后台扫描可被 UI 接管——不会进行多余的重复扫描。HydraDragonAV Mobile 在四大核心支柱上运行:
libhydradragonandroid.so)——评估 X.509 证书、SHA-256 哈希、危险权限、应用安装来源、YARA-X/ClamAV 签名和 ML 异常评分。本地的 DnsVpnService 还会对照已知恶意域名过滤 DNS 查询,而 NetworkSecurityScanner/NetworkMonitor 这一对组件则监视实时连接,以发现 MITM 拦截、ARP 欺骗和恶意 IP/C2 流量。
像 Shizuku 这样的工具无需完整 root 即可授予应用 ADB shell 级别的特权(进程终止、超出公共 API 的 PackageManager 操作、真正的 iptables 式防火墙等)。这是一个合法且有用的项目——只是不适合用在生产级杀毒软件内部:
adb shell(无线或 USB 调试)或 root 来启动它——这对大众市场的安装来说完全不切实际。而且本应用已经拒绝在 root 设备上运行(RootCheck),并在 USB/无线调试保持开启时向用户发出警告(DebugModeCheck/DebugModeWarning),正是因为这两种状态都会扩大攻击面。VpnService 的 DNS/域名/IP 过滤(Web Shield)合理覆盖,且无需用户授权第三方中介服务获得 shell 访问权限。简而言之:一个安全产品如果要求用户先授予其调试 shell 权限,那就是在反向解决其威胁模型。本应用的实际特权提升面被有意限制在 Android 公共 API(AccessibilityService、VpnService、PackageManager)允许的范围内——不需要 ADB、root 或特权伴生应用。
早期版本内置了一个 TLSH 模糊哈希 引擎,将每个被扫描的 APK/ELF/DEX 与基于 MalwareBazaar 的摘要数据库进行比对。它被移除是因为它是整个套件中最慢、最臃肿、最没用的引擎:
真正能立足的特性——YARA-X + ClamAV 签名、ML 分类器、NSRL 白名单、模拟以及 URL/IP 过滤——以更低的运行时开销覆盖了同样的领域,而不会空许诺"100%"。
由 @elnureisayeva1-cloud(创建者)与 @Siradankullanici(后端开发)用 💻 设计
注意:引擎将扫描的最大文件大小可在设置中由用户配置(10–2048 MB,默认 650 MB)——超过限制的文件会被完全跳过,而非进行部分扫描。
克隆仓库(包含子模块——原生引擎内置了一个自定义的 YARA-X fork,带有 hydradragon 扫描模块):
git clone --recurse-submodules https://github.com/HydraDragonAntivirus/HydraDragonAV-Mobile.git
cd HydraDragonAV-Mobile
为 Android 构建原生 Rust 引擎(先决条件请参阅 hydradragonandroid/README.md):
cd hydradragonandroid
build-android.cmd
照常构建 Android 应用(Gradle)——原生 .so 输出会自动从 app/src/main/jniLibs/ 拾取。
设备端的检测资产由公共威胁情报和 NSRL 来源离线生成,然后打包进应用:
gen_whitelist_packages.py — 构建 whitelist_packages.db(SQLite),这是一个从 NSRL RDS 数据库联接生成的完整详情 NSRL Android 软件包白名单(名称、版本、制造商、操作系统、哈希)。gen_whitelist_apk.py — 提取整 APK 的 NSRL MD5 哈希,用于原生 binary-fuse XOR 白名单过滤器。gen_ip_lists.py / build_url_xfilters.py / build_xfilters.sh — 构建原生 IP/URL 威胁扫描器使用的恶意 IP/URL/域名过滤器(基于 XOR 过滤器)。clam_juice.py — 过滤 ClamAV 签名,仅保留与 Android 相关的平台(Andr、Unix、Linux、Email、PUA)以及所有 Phishing 签名;排除 Win/Osx/Java:
python clam_juice.py --directory database_non_filtered --output database_filtered --profile cross-platform
fdroid-downloader.py — 从官方 F-Droid 仓库下载良性 APK,供数据集管道使用。只下载本地尚不存在的 APK;按文件名进行比较,因此更新版本会被自动获取。dataset/benign/F-Droid/ — 收集的 F-Droid 开源 APK(本质上为良性,共 2805 个 APK)。https://huggingface.co/datasets/HydraDragonAntivirus/BenignAPKDataset/tree/main (通过 "hf upload-large-folder HydraDragonAntivirus/BenignAPKDataset dataset\benign --repo-type=dataset --num-workers=4" 上传)dataset/malware/ — 恶意软件样本(单独存储,不在此仓库中。链接:https://drive.google.com/file/d/1Il2bvcjxmc0w-XirL27R0_bKpznIeIiG 密码:infected)。JNI_OnLoad/入口代码,以揭示仅在运行时由解码/解密例程产生、而绝不会以静态明文形式存在的字符串——例如 C2 URL。可从设置中完全开关。http(s):// URL,并对照原生恶意软件/钓鱼 URL XOR 过滤器进行检查——完整 URL(含路径)远比裸域名更具特异性,这意味着与仅匹配域名相比,误报更少、检测更精准。FLAG_WINDOW_IS_OBSCURED 检查被阻止,而异常快速的一连串设置更改(恶意无障碍服务直接驱动 UI 的特征)会被检测、还原并阻止,因此只有真正的设备所有者才能更改防护设置。