Duck Detector是一个专注于本地端、设备侧证据收集的 Android 安全检测应用程序。它旨在识别 Root 相关的篡改、运行时 Hook、挂载操作(Mount)、密钥库可信度(Attestation Trust)以及虚拟化执行环境。 本应用结合了 Jetpack Compose UI 界面、模块化 Kotlin 检测包 以及 底层 C++ / 汇编探针,通过结构化的卡片形式展示详细的检测结果、方法覆盖范围及扫描状态摘要。

模块化检测架构 (Modular Architecture):具有特定功能的独立模块,各模块均包含其专属的 Repository、Mapper、ViewModel 和卡片 UI。
原生启动预载 (Native Preload):通过透明的 NativeActivity 启动器实现底层及早预载,以捕捉极早期的挂载(Mount)和虚拟化痕迹。
底层 C++ 与汇编探针 (Native Probes):利用 C++ 和汇编实现的系统调用(Syscall)级别、时间敏感型、挂载和运行时可见性检查。
跨进程与隔离进程验证 (Cross-Process Validation):通过多进程、隔离进程(Isolated Process)协同校验,降低对单一信号的依赖。
纯本地离线优先 (Local & Privacy-First):默认情况下,TEE 吊销检查使用内置的静态快照。仅在用户手动于设置中开启“在线刷新”时才会访问网络。

Android 版本:支持 Android 10+ (minSdk 29),基于 targetSdk 37 / compileSdk 37.0 构建。
架构支持 (ABI):底层探针通过 NDK 层实现;部分低level的陷阱拦截(Trap paths)主要针对 arm64-v8a 架构进行了优化。
环境要求:无需 Root 权限即可运行,适用于纯净官方系统及各种定制/修改过的环境。
覆盖度表现:当 OEM 厂商或严格的沙盒规则限制访问时,部分检查可能会降级为 support、unavailable 或低覆盖度状态。
网络依赖:默认完全本地化。内置 TEE 吊销凭证离线运行,仅在手动刷新网络源时产生流量。
第1步:打开应用。 首次打开后,应用会自动开始全面扫描,也可以手动点击各个检测卡片查看详细结果。
第2步:查看检测结果。 扫描完成后,Dashboard 页面会以卡片形式汇总所有检测项的状态(通过 / 未通过 / 警告),点击任意卡片可查看该检测项的详细信息、检测方法和覆盖范围。

第3步:查看设备信息。 在 DeviceInfo 模块中可以查看设备基本信息,辅助理解检测结果的上下文。
第4步:根据需要调整设置。 在 Settings 中可以启用或禁用部分检测项、切换语言等。

1. 重构版存在不稳定性。 由于当前版本为重构版,改动幅度较大,可能会遇到比旧版更频繁的误报或程序崩溃,这是开发者在项目说明中明确提示的。如果追求稳定,建议等待后续版本成熟后再使用,或回退到旧版。
2. 检测结果仅供参考。 Duck Detector 的检测基于启发式规则和特征匹配,并非 100% 准确。某些检测项可能因设备型号、系统版本差异而产生误报,请结合实际情况判断,不要仅凭检测结果就断定设备一定被篡改。