anti_hook_vpn 1.0.0 copy "anti_hook_vpn: ^1.0.0" to clipboard
anti_hook_vpn: ^1.0.0 copied to clipboard

Flutter plugin phát hiện VPN, Proxy và Frida hook trên Android và iOS. Bảo vệ ứng dụng khỏi các công cụ tấn công runtime.

anti_hook_vpn #

pub package License: MIT

Flutter plugin phát hiện VPN, ProxyFrida hook framework đang hoạt động trên thiết bị Android và iOS — giúp bảo vệ ứng dụng khỏi các công cụ tấn công và phân tích runtime.


Tính năng #

Tính năng Android iOS
Phát hiện Frida (port scan 27042/27043)
Phát hiện Frida (process/dylib injection)
Phát hiện VPN đang hoạt động
Phát hiện HTTP/HTTPS Proxy hệ thống
Dialog chặn không tắt được khi bị tấn công

Yêu cầu hệ thống #

  • Android: minSdk ≥ 24
  • iOS: iOS ≥ 13.0
  • Flutter: ≥ 3.3.0
  • Dart: ≥ 3.0.0

Cài đặt #

dependencies:
  anti_hook_vpn: ^1.0.0

Sau đó chạy:

flutter pub get

Quyền Android #

Thêm vào android/app/src/main/AndroidManifest.xml:

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />

Sử dụng #

1. Kiểm tra bảo mật và tự xử lý kết quả #

import 'package:anti_hook_vpn/anti_hook_vpn.dart';

Future<void> checkSecurity() async {
  final SecurityStatus status = await AntiHookVpn.checkSecurity();

  if (status.isFridaDetected) {
    print('⚠️ Phát hiện Frida đang chạy!');
  }

  if (status.isProxyOrVpnDetected) {
    print('⚠️ Phát hiện VPN hoặc Proxy!');
  }

  if (status.isAttacked) {
    print('🚨 Thiết bị đang bị tấn công!');
  } else {
    print('✅ Thiết bị an toàn.');
  }
}

2. Tự động hiện dialog chặn khi phát hiện tấn công #

Plugin có sẵn một dialog không thể tắt (dùng PopScope(canPop: false)), buộc người dùng phải thoát ứng dụng khi phát hiện mối đe dọa.

import 'package:anti_hook_vpn/anti_hook_vpn.dart';

class _MyHomePageState extends State<MyHomePage> with WidgetsBindingObserver {
  @override
  void initState() {
    super.initState();
    WidgetsBinding.instance.addObserver(this);
    WidgetsBinding.instance.addPostFrameCallback((_) => _runSecurityCheck());
  }

  @override
  void didChangeAppLifecycleState(AppLifecycleState state) {
    // Kiểm tra lại mỗi khi app được resume
    if (state == AppLifecycleState.resumed) {
      _runSecurityCheck();
    }
  }

  Future<void> _runSecurityCheck() async {
    await AntiHookVpn.checkAndBlockIfNeeded(
      context,
      onAttacked: (status) {
        // Callback tuỳ chọn — ví dụ: gửi log lên server
        print('Bị tấn công: $status');
      },
    );
  }

  @override
  void dispose() {
    WidgetsBinding.instance.removeObserver(this);
    super.dispose();
  }
}

API #

AntiHookVpn.checkSecurity() #

static Future<SecurityStatus> checkSecurity()

Gọi native để kiểm tra Frida và VPN/Proxy. Ném PlatformException nếu không thể gọi native.


AntiHookVpn.checkAndBlockIfNeeded() #

static Future<void> checkAndBlockIfNeeded(
  BuildContext context, {
  void Function(SecurityStatus status)? onAttacked,
})

Kiểm tra bảo mật và tự động hiện dialog chặn toàn bộ tương tác nếu phát hiện mối đe dọa. Người dùng chỉ có thể bấm "Thoát Ứng Dụng".


SecurityStatus #

class SecurityStatus {
  final bool isFridaDetected;       // true nếu Frida đang hook
  final bool isProxyOrVpnDetected;  // true nếu có Proxy hoặc VPN
  bool get isAttacked;              // true nếu bất kỳ mối đe dọa nào được phát hiện
}

Cơ chế phát hiện #

Frida #

Kỹ thuật Android iOS
Kết nối TCP tới port 27042/27043
Quét /proc/self/maps tìm frida-agent
Quét danh sách dylib nạp vào process

VPN #

Kỹ thuật Android iOS
NetworkCapabilities.TRANSPORT_VPN
CFNetworkCopySystemProxySettings __SCOPED__

Proxy #

Kỹ thuật Android iOS
System.getProperty("http.proxyHost")
CFNetworkCopySystemProxySettings HTTPEnable/HTTPSEnable

Ví dụ #

Xem thư mục example/ để chạy app demo đầy đủ với Security Scanner UI.


Đóng góp #

Pull requests luôn được chào đón. Vui lòng mở Issue trước khi thực hiện thay đổi lớn.

License #

MIT

7
likes
0
points
150
downloads

Publisher

unverified uploader

Weekly Downloads

Flutter plugin phát hiện VPN, Proxy và Frida hook trên Android và iOS. Bảo vệ ứng dụng khỏi các công cụ tấn công runtime.

Repository (GitHub)
View/report issues

License

unknown (license)

Dependencies

flutter, plugin_platform_interface

More

Packages that depend on anti_hook_vpn

Packages that implement anti_hook_vpn