# Security 模块 ## 模块概述 Security 模块提供应用安全检测和防护功能,包括Root检测、模拟器检测、调试检测、包完整性校验等安全措施,保护应用免受恶意攻击。 ## 主要功能 ### 1. 环境检测 - **Root检测**: 检测设备是否已Root - **模拟器检测**: 识别应用是否运行在模拟器中 - **调试检测**: 检测应用是否处于调试状态 - **Hook检测**: 检测常见的Hook工具 ### 2. 应用保护 - **包完整性校验**: 验证APK签名和完整性 - **防篡改**: 检测应用是否被重新打包 - **反调试**: 防止动态调试和分析 - **代码混淆**: 配合ProGuard进行代码保护 ### 3. 数据安全 - **敏感数据加密**: 关键数据的加密存储 - **通信加密**: 网络传输数据加密 - **密钥管理**: 安全的密钥生成和管理 - **数据清理**: 敏感数据的安全清理 ### 4. 黑名单管理 - **应用黑名单**: 检测恶意应用安装 - **包名黑名单**: 识别危险应用包名 - **动态更新**: 支持黑名单远程更新 ## 核心接口 ```kotlin interface SecurityService { fun isRooted(): Boolean fun isEmulator(): Boolean fun isDebuggable(): Boolean fun verifySignature(): Boolean fun checkBlacklist(): List fun encryptData(data: String): String fun decryptData(encryptedData: String): String } ``` ## 使用方式 ```kotlin // 安全检测 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) } ``` ## 安全配置 ```json // blacklist_packages.json { "dangerous_packages": [ "com.example.malware1", "com.example.malware2" ], "hooking_tools": [ "de.robv.android.xposed", "com.saurik.substrate" ] } ``` ## 构建配置 ```gradle implementation "com.wenext.android:frame-security:6.0.0" ``` ## 注意事项 1. **性能影响**: 安全检测可能影响启动性能,建议异步执行 2. **误报处理**: 某些检测可能产生误报,需要合理处理 3. **用户体验**: 安全措施不应过度影响正常用户体验 4. **法律合规**: 确保安全措施符合当地法律法规 5. **更新维护**: 定期更新检测规则和黑名单