CLAUDE.md 2.7 KB

Security 模块

模块概述

Security 模块提供应用安全检测和防护功能,包括Root检测、模拟器检测、调试检测、包完整性校验等安全措施,保护应用免受恶意攻击。

主要功能

1. 环境检测

  • Root检测: 检测设备是否已Root
  • 模拟器检测: 识别应用是否运行在模拟器中
  • 调试检测: 检测应用是否处于调试状态
  • Hook检测: 检测常见的Hook工具

2. 应用保护

  • 包完整性校验: 验证APK签名和完整性
  • 防篡改: 检测应用是否被重新打包
  • 反调试: 防止动态调试和分析
  • 代码混淆: 配合ProGuard进行代码保护

3. 数据安全

  • 敏感数据加密: 关键数据的加密存储
  • 通信加密: 网络传输数据加密
  • 密钥管理: 安全的密钥生成和管理
  • 数据清理: 敏感数据的安全清理

4. 黑名单管理

  • 应用黑名单: 检测恶意应用安装
  • 包名黑名单: 识别危险应用包名
  • 动态更新: 支持黑名单远程更新

核心接口

interface SecurityService {
    fun isRooted(): Boolean
    fun isEmulator(): Boolean
    fun isDebuggable(): Boolean
    fun verifySignature(): Boolean
    fun checkBlacklist(): List<String>
    fun encryptData(data: String): String
    fun decryptData(encryptedData: String): String
}

使用方式

// 安全检测
if (SecurityService.isRooted()) {
    // 处理Root环境
    showSecurityWarning("检测到Root环境")
}

if (SecurityService.isEmulator()) {
    // 处理模拟器环境
    logSecurityEvent("运行在模拟器中")
}

// 签名校验
if (!SecurityService.verifySignature()) {
    // 应用被篡改
    exitApplication()
}

// 数据加密
val sensitiveData = "用户密码"
val encrypted = SecurityService.encryptData(sensitiveData)
val decrypted = SecurityService.decryptData(encrypted)

// 黑名单检查
val dangerousApps = SecurityService.checkBlacklist()
if (dangerousApps.isNotEmpty()) {
    // 发现危险应用
    handleDangerousApps(dangerousApps)
}

安全配置

// blacklist_packages.json
{
    "dangerous_packages": [
        "com.example.malware1",
        "com.example.malware2"
    ],
    "hooking_tools": [
        "de.robv.android.xposed",
        "com.saurik.substrate"
    ]
}

构建配置

implementation "com.wenext.android:frame-security:6.0.0"

注意事项

  1. 性能影响: 安全检测可能影响启动性能,建议异步执行
  2. 误报处理: 某些检测可能产生误报,需要合理处理
  3. 用户体验: 安全措施不应过度影响正常用户体验
  4. 法律合规: 确保安全措施符合当地法律法规
  5. 更新维护: 定期更新检测规则和黑名单