🐉 HydraDragonAV Mobile
高级 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 集成、
已知限制)。
🚀 主要特性
- ⚡ Photon 技术: 超快、多线程扫描引擎,利用
ConcurrentHashMap 缓存,以零 CPU 开销即时重新验证此前已扫描过的安全应用。
- 🧠 原生 Rust 扫描引擎: 通过 JNI 桥接的 Rust 核心(
libhydradragonandroid.so)负责繁重的工作——YARA-X + ClamAV 签名匹配、归档解压(zip/gz/tar/xz/lzma/7z/rar,包括嵌套的 APK)、AXML 清单解析以及危险权限计数,全部直接基于内存中的字节完成(无需临时文件)。
- 🧠 Burn ML 二元分类器: 一个基于 tract 的 Burn 恶意软件/良性分类器,会为每个被扫描的 APK 给出置信度值(0.0–1.0)评分。它基于恶意软件和良性数据集训练,以实现准确的二元分类。一个轻量级的逻辑回归分类器(
AIEngine)还会对 DEX 级行为进行评分(混淆、动态加载、加密/套接字/shell API、广告软件 SDK)。
- 🛡️ 勒索软件与锁屏防护: 实时屏幕文本检测(通过无障碍服务 + OCR)可识别勒索信内容,并强制终止锁屏勒索软件,支持 20 种语言。
- 📵 短信诈骗与网络钓鱼检测: 同一个多语言屏幕文本扫描器可在任何渲染位置捕获短信钓鱼诱饵(虚假账户验证、中奖骗局、包裹配送骗局、OTP 请求、银行警报)——无论是短信应用、通知预览,还是伪造的 WebView——而无需直接读取您的短信收件箱。
- 🖥️ 实时屏幕 OCR: 基于 MediaProjection 的捕获服务会定期对前台屏幕进行 OCR,并将提取的文本送入原生威胁扫描器,从而捕获仅以渲染像素形式出现的诈骗内容。
- 🖼️ 将 MalwareFoundActivity 作为对话框: 当后台扫描期间检测到威胁时,浮动对话框叠加层(而非全屏 Activity)会提醒用户,且不会中断他们当前的任务。
- 🚫 UI 劫持 / 点击劫持防护: 检测并阻止自动快速点击授予权限的攻击、通知垃圾信息洪泛,以及恶意应用对叠加层/对话框的反复滥用。任务劫持(StrandHogg activity 数量检查)和屏幕录制/FLAG_SECURE 防护也作为可选设置开关内置(FLAG_SECURE 防护可通过"允许屏幕录制"开关有意禁用——篡改检测仍会捕获未授权的移除)。
- 🔍 安装时与按需扫描器: 快速扫描(仅已安装应用)或全面扫描(整个存储,包括 SD 卡);
BroadcastReceiver 会自动拦截并扫描新安装/更新的 APK。如果用户在扫描过程中打开扫描界面,后台扫描可被 UI 接管——不会进行多余的重复扫描。
- 🎯 活跃威胁计数器: 扫描界面上的一个专用"活跃威胁"统计会与已扫描/威胁总数一同显示当前检测到的威胁数量。
- 📋 丰富的威胁对话框: 点击某个威胁会以项目符号列表显示所有检测原因,并附带可点击的 VirusTotal URL 以便立即核实,此外还有销毁 / 忽略 / 忽略签名等操作。
- 🌐 网络安全监视器: 跟踪实时连接,标记已知恶意/C2 IP(扫描前验证为公网 IPv4——私有/回环/组播地址会被拒绝)以及具有匿名器/隧道服务特征的域名(dyndns、ngrok、.onion 查询尝试),通过不受信任的 CA 检测 MITM/TLS 拦截,并能发现本地网络上的 ARP 欺骗。(基于域名/DNS——它观察的是普通 DNS 查询模式,而非实际的 Tor 电路流量,后者永远不会触及设备的 DNS 解析器。)
- 🌐 DNS 过滤 VPN(Web Shield): 本地设备端 VPN 服务会阻止已知恶意/钓鱼域名的解析——不进行流量代理、解密或检查,仅过滤 DNS 查询。
- 🗃️ 基于 NSRL 的白名单: 已知良好软件会通过两个独立的 NSRL 派生层进行验证——整文件 SHA-256 哈希的 binary-fuse XOR 过滤器(原生、内存中)以及包含完整 NSRL 软件包元数据(名称、版本、制造商、操作系统)的 SQLite 数据库——因此合法应用永远不会被标记,而恶意哈希也永远无法凭运气"借用"白名单条目。
- 🔒 零信任模式: 可选的更严格模式,任何仅仅在每个检测器下都幸免(而非被明确放行)的应用仍会被标记为可疑,并带有完整的审计跟踪。
- 🧠 行为检测套件: 一套专门的运行时检测器,每个都可从设置中单独开关——UI/通知垃圾信息(广告软件)、设备在会话中途变为已 root 的监视器、权限 + 可疑 DNS 模式组合风险评分,以及勒索软件行为检测(见下文)。每次命中都会立即终止违规应用的后台进程(如有可能),并立即弹出系统卸载提示,而不是等待下一次计划扫描。
- 🪤 勒索软件文件陷阱: 当新安装、尚未经审查的应用被授予"所有文件访问权限"时,HydraDragon 会临时在 Downloads/Documents/Pictures/DCIM 中放置一个诱饵文件(命名使其在典型的按字母顺序加密过程中排在首位)。对该文件的任何重命名、内容更改或删除——合法应用没有任何理由会去触碰它——都是 100% 确定的勒索软件行为,而非启发式猜测。诱饵会在 24 小时内自动过期,因此绝不会弄乱用户的文件。
- 🔁 重命名突发勒索软件检测: 独立地,当应用获得文件访问权限后不久,出现一批文件被附加后缀重命名(无论该后缀实际是什么——没有硬编码的 ".enc"/".locked" 列表)的情况,就会被标记为就地加密,这是每个勒索软件家族在文件系统层面共有的形态,无论其具体扩展名如何。
- 🐴 原生代码模拟(Unicorn Engine): 在受限、无系统调用的 CPU 沙箱(ARM/ARM64/x86/x86_64)中运行嵌入式原生库的
JNI_OnLoad/入口代码,以揭示仅在运行时由解码/解密例程产生、而绝不会以静态明文形式存在的字符串——例如 C2 URL。可从设置中完全开关。
- 🎣 恶意/钓鱼 URL 字符串扫描: 从被扫描文件的原始字节(APK 或其他)中提取所有嵌入的
http(s):// URL,并对照原生恶意软件/钓鱼 URL XOR 过滤器进行检查——完整 URL(含路径)远比裸域名更具特异性,这意味着与仅匹配域名相比,误报更少、检测更精准。
- 🔐 设置自防护: 每个设置开关/按钮都针对非人为篡改进行了加固——基于叠加层的点击劫持尝试会通过 Android 自身的
FLAG_WINDOW_IS_OBSCURED 检查被阻止,而异常快速的一连串设置更改(恶意无障碍服务直接驱动 UI 的特征)会被检测、还原并阻止,因此只有真正的设备所有者才能更改防护设置。
- 🧹 臃肿软件清理器、自防护与 Root 检测: 通过后台应用清理、设备管理员防篡改/防卸载,以及已 root 设备检测,完善整套方案。
- 🌍 多语言支持: 完全本地化的 UI 和威胁检测关键词列表,覆盖 20 种语言:英语、土耳其语、西班牙语、德语、法语、俄语、葡萄牙语、阿拉伯语、意大利语、荷兰语、波兰语、乌克兰语、简体中文、日语、韩语、印地语、印度尼西亚语、越南语、波斯语和泰语。
🛠️ 技术架构
HydraDragonAV Mobile 在四大核心支柱上运行:
- GuardService: 一个持久的前台服务,充当主动防御系统的大脑——实时监视 Downloads 文件夹并编排扫描,全天候监控威胁。
- DynamicAnalysisService: 一个无障碍服务,可防止自动化 UI 劫持(点击劫持)、阻止叠加层/通知垃圾信息攻击,并以 20 种语言扫描屏幕文本中的勒索软件/短信诈骗/网络钓鱼措辞。
- ScreenCaptureService: 基于 MediaProjection 的 OCR 服务,定期捕获并读取前台屏幕,将提取的文本送入原生扫描器以进行实时威胁检测。
- ScanEngine + NativeScanner: Java 编排层及其 Rust 原生对应部分(
libhydradragonandroid.so)——评估 X.509 证书、SHA-256 哈希、危险权限、应用安装来源、YARA-X/ClamAV 签名和 ML 异常评分。
本地的 DnsVpnService 还会对照已知恶意域名过滤 DNS 查询,而 NetworkSecurityScanner/NetworkMonitor 这一对组件则监视实时连接,以发现 MITM 拦截、ARP 欺骗和恶意 IP/C2 流量。
🚫 为何不使用 Shizuku(或类似的 Shell 特权框架)?
像 Shizuku 这样的工具无需完整 root 即可授予应用 ADB shell 级别的特权(进程终止、超出公共 API 的 PackageManager 操作、真正的 iptables 式防火墙等)。这是一个合法且有用的项目——只是不适合用在生产级杀毒软件内部:
- 它并没有消除攻击面,只是转移了攻击面。 Shizuku 自身的特权服务可通过 Binder 被任何请求它的应用访问;在杀毒软件内嵌入 shell 提权客户端,意味着杀毒进程被攻破(或它与 Shizuku 通信存在 bug)时,会继承对设备的 ADB 级访问范围——这正是杀毒软件应当缩小而非扩大的爆炸半径。
- 它无法在生产环境中自行激活。 除非设备已经 root,否则 Shizuku 需要用户在每次启动时通过
adb shell(无线或 USB 调试)或 root 来启动它——这对大众市场的安装来说完全不切实际。而且本应用已经拒绝在 root 设备上运行(RootCheck),并在 USB/无线调试保持开启时向用户发出警告(DebugModeCheck/DebugModeWarning),正是因为这两种状态都会扩大攻击面。
- 那点边际能力不值得改变信任模型。 其主要吸引力(真正的数据包级防火墙、强制停止任意应用)在这里已由基于
VpnService 的 DNS/域名/IP 过滤(Web Shield)合理覆盖,且无需用户授权第三方中介服务获得 shell 访问权限。
简而言之:一个安全产品如果要求用户先授予其调试 shell 权限,那就是在反向解决其威胁模型。本应用的实际特权提升面被有意限制在 Android 公共 API(AccessibilityService、VpnService、PackageManager)允许的范围内——不需要 ADB、root 或特权伴生应用。
🧬 为何移除了 TLSH?
早期版本内置了一个 TLSH 模糊哈希 引擎,将每个被扫描的 APK/ELF/DEX 与基于 MalwareBazaar 的摘要数据库进行比对。它被移除是因为它是整个套件中最慢、最臃肿、最没用的引擎:
- 它是目前最慢的引擎。 遥测数据显示,TLSH 每次扫描消耗约 49 秒的单线程墙钟时间——约占整个扫描范围的 92%——而 ClamAV(4 个工作线程,累计)和 YARA-X 仅用其一小部分时间就完成了各自的任务。瓶颈不在于哈希,而在于对每个扫描缓冲区都要对一个约 17.7 万条摘要的 ELF 数据库进行线性差异搜索。
- 它重蹈了 Xvirus 的覆辙——测试中虚假的"100% 检测率" 但在现实世界中并非如此。 从知名恶意软件收集网站拉取数据库并将所有内容与之匹配,会产生看起来惊艳但毫无意义的数字:检测器只能重新标记那些已下载的内容,给人一种全面覆盖的错觉。实际上,TLSH 在真实世界样本上只增加了约 0.1–0.5% 的冗余检测——它标记的一切都已被 ClamAV/YARA-X/ML 各层捕获。
- 它很臃肿。 捆绑的 TLSH 参考数据库(ELF、APK、DEX)将数兆字节的摘要打包进 APK,而这一层除了签名和 ML 引擎已能提供的之外几乎毫无贡献。
真正能立足的特性——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