搜索插件、代码仓与 APP 分类

插件详情v4.0.0

security_plus

一个全新的Flutter插件,用于检测多种安全警报,如root、越狱、模拟器、开发模式和外部存储运行。

AndroidiOS
近 30 天下载
3630
喜欢数
26
Pub 分数
160

安装插件

flutter pub add security_plus

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

security_plus 是一个 Flutter 插件,旨在通过检测多种潜在威胁来增强应用程序的安全性,包括获取 root 权限、越狱检测、模拟器环境、开发模式以及外部存储使用。它帮助开发者保护其应用程序免受在被破解或调试的设备上存在的常见漏洞影响。该包可无缝集成到 Android 和 iOS 平台,提供运行时的实时检查。通过早期识别高风险状况,它能够实现主动响应,例如限制功能或终止会话。适用于处理敏感数据的应用程序,它在无需复杂实现的情况下增强了整体安全态势。

适合场景

  • 保护金融应用程序免受未经授权的访问
  • 检测游戏应用中的模拟器
  • 防止在生产环境中使用调试模式
  • 保护健康和个人数据应用
  • 阻止在根设备上的执行
  • 强制执行安全环境检查

主要特点

  • 根和越狱检测
  • 模拟器和仿真器检测
  • 开发模式检测
  • 外部存储使用情况监控
  • 跨平台支持(Android 和 iOS)
  • 实时安全警报

适合对象

  • 处理敏感用户数据的应用程序
  • 金融和银行应用
  • 注重健康和隐私的应用程序
  • 需要反作弊措施的游戏
  • 企业移动解决方案

使用建议

  • 可能在某些设备上触发误报
  • 需要仔细处理检测到的威胁
  • 仅限基本安全检查
  • 不可替代全面的安全架构
  • 高频检查中的性能影响

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

Security Plus

A comprehensive Flutter security plugin that provides advanced security features for your Flutter applications, including root detection, emulator detection, and various security checks.

pub package License: MIT

Features

  • 🛡️ Advanced Root Detection

    • Multiple detection layers
    • Frida anti-tampering protection
    • Magisk detection
    • SuperSU detection
    • Common root app detection
  • 📱 Emulator Detection

    • Comprehensive emulator environment checks
    • Build properties analysis
    • Hardware characteristics verification
  • 🔒 Security Checks

    • Development mode detection
    • Mock location detection
    • External storage checks
    • Runtime integrity verification
    • System tampering detection

Installation

Add this to your package's pubspec.yaml file:

dependencies:
  security_plus: ^3.0.1

Platform Setup

Android

1.Add the following permissions to your AndroidManifest.xml file:

<manifest xmlns:android="http://schemas.android.com/apk/res/android">
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
</manifest>

2.Add permission_handler for runtime permission management:

dependencies:
  permission_handler: ^10.4.3
iOS

Add the following to your Info.plist file:

<key>NSLocationWhenInUseUsageDescription</key>
<string>This app needs access to location when open to verify device security.</string>

Usage

Import the package
import 'package:security_plus/security_plus.dart';
import 'package:permission_handler/permission_handler.dart';
Handle Permissions and Security Checks
Future<void> checkDeviceSecurity() async {
  // Request location permission first
  if (Platform.isAndroid) {
    final status = await Permission.location.request();
    if (!status.isGranted) {
      // Handle permission denied
      return;
    }
  }

  // Perform security checks
  try {
    final isRooted = await SecurityPlus.isRooted;
    final isEmulator = await SecurityPlus.isEmulator;
    final isDevelopmentMode = await SecurityPlus.isDevelopmentModeEnable;
    final isMockLocation = await SecurityPlus.isMockLocationEnabled;
    final isExternalStorage = await SecurityPlus.isOnExternalStorage;

    // Handle security check results
    if (isRooted || isEmulator || isMockLocation) {
      // Handle security risks
    }
  } catch (e) {
    // Handle errors
  }
}
Individual Security Checks
Root Detection
try {
  bool isRooted = await SecurityPlus.isRooted;
  if (isRooted) {
    // Handle rooted device
  }
} catch (e) {
  // Handle errors
}
Emulator Detection
try {
  bool isEmulator = await SecurityPlus.isEmulator;
  if (isEmulator) {
    // Handle emulator detection
  }
} catch (e) {
  // Handle errors
}
Development Mode Check
try {
  bool isDevelopmentMode = await SecurityPlus.isDevelopmentModeEnable;
  if (isDevelopmentMode) {
    // Handle development mode
  }
} catch (e) {
  // Handle errors
}
Mock Location Check
try {
  bool isMockLocation = await SecurityPlus.isMockLocationEnabled;
  if (isMockLocation) {
    // Handle mock location
  }
} catch (e) {
  // Handle errors
}
External Storage Check
try {
  bool isOnExternalStorage = await SecurityPlus.isOnExternalStorage;
  if (isOnExternalStorage) {
    // Handle external storage detection
  }
} catch (e) {
  // Handle errors
}

Security Features

Root Detection Mechanisms

The plugin employs multiple layers of root detection:

  1. RootBeer Integration: Uses the advanced RootBeer library for base root detection
  2. Frida Detection: Actively searches for Frida-related processes and libraries
  3. File System Checks: Scans for common root-related files and directories
  4. Package Analysis: Detects known root management applications
  5. Runtime Integrity: Checks for system modifications and hooks
Anti-Tampering Protection
  • Process monitoring for known tampering tools
  • Library injection detection
  • System property verification
  • Runtime integrity checks

Example

Check out the example directory for a complete sample application demonstrating all features.

Platform Support

Android iOS
✅ 🚧

Contributing

Contributions are welcome! If you find a bug or want a feature, please open an issue.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Author

Created and maintained by Abdelrahman Bonna.

Acknowledgments

  • RootBeer - For root detection capabilities
  • The Flutter team and community for their amazing work

Disclaimer

This plugin provides security features but should not be considered as the sole security measure for your application. Always implement multiple layers of security and keep your security measures up to date.

所属分类

依赖

依赖清单 1 项

  • plugin_platform_interface^2.0.2

源码仓库

使用此插件的项目

暂无相关数据。