Overt是一个Android设备安全检测工具,通过收集和分析各种系统信息来检测设备是否被Root、被调试工具注入或存在其他安全风险。项目采用模块化架构设计,将不同功能分散到独立的模块中,便于维护和扩展。
项目采用多模块架构,包含以下模块:
- 功能: 主应用程序入口,提供用户界面和交互
- 包名:
com.example.overt - 主要组件: MainActivity、InfoCard、InfoCardContainer
- Native库: native-lib、zManager
- 功能: 核心功能库,提供基础工具类和系统接口
- 包名:
com.example.zcore - 主要组件:
- 文件操作: zFile
- 网络通信: zHttps
- JSON处理: zJson
- 线程管理: zThread
- 广播处理: zBroadCast
- 类加载器: zClassLoader
- 链接器: zLinker
- CRC校验: zCrc32
- ELF文件处理: zElf
- TEE接口: zTee
- JVM接口: zJavaVm
- 功能: 设备信息收集和分析
- 包名:
com.example.zinfo - 检测项目:
- 本地网络信息: zLocalNetworkInfo
- 任务信息: zTaskInfo
- 内存映射: zMapsInfo
- Root文件: zRootFileInfo
- 挂载点: zMountsInfo
- 系统属性: zSystemPropInfo
- 链接器信息: zLinkerInfo
- 端口信息: zPortInfo
- 类加载器: zClassLoaderInfo
- 包信息: zPackageInfo
- 系统设置: zSystemSettingInfo
- TEE信息: zTeeInfo
- SSL信息: zSslInfo
- 时间信息: zTimeInfo
- 功能: 配置管理和测试
- 包名:
com.example.zconfig - 主要组件: zConfig、zConfigTest
- 功能: 日志记录和管理
- 包名:
com.example.zlog - 主要组件: zLog、zLogTest
- 功能: 标准库工具和字符串处理
- 包名:
com.example.zstd - 主要组件: zString、zStdUtil、vector、map
- 功能: 系统调用封装和工具
- 包名:
com.example.zlibc - 主要组件: zLibc、zLibcUtil、zLibcTest
- Android Gradle Plugin: 8.3.0
- Gradle版本: 8.4
- compileSdk: 34
- targetSdk: 34
- minSdk: 23
- ABI支持: arm64-v8a
- Java版本: 17
- NDK版本: 27.2.12479018
- CMake版本: 3.22.1
- mbedTLS: 用于加密和安全通信
- Root文件检测(su、mu等)
- 系统库完整性检查
- 关键文件权限验证
- 线程状态分析
- 调试工具注入检测(Frida等)
- 进程权限检查
- 库映射分析
- 内存篡改检测
- 动态链接库加载监控
- 本地网络设备扫描
- 端口异常检测
- 网络连接监控
- 关键系统属性验证
- 系统设置异常检测
- 安全配置检查
- CPU核心绑定
- 线程优先级提升
- 异步信息收集
- 智能内存分配
- 缓存机制
- 内存泄漏防护
- 读写锁保护
- 单例模式
- 线程安全设计
- 检查常见Root文件(su、mu等)
- 检查系统属性(ro.secure、ro.debuggable等)
- 检查挂载点异常
- 检测Frida注入的线程(gmain、pool-frida)
- 检查关键库的映射数量和权限
- 分析动态链接库加载情况
- 检查系统属性值是否正确
- 检查关键库是否被篡改
- 检测系统挂载点异常
# 确保已安装Android SDK和NDK
# 确保已安装CMake 3.22.1或更高版本# 编译所有模块
./gradlew assembleDebug
# 编译特定模块
./gradlew :app:assembleDebug
./gradlew :zcore:assembleDebug
./gradlew :zinfo:assembleDebug