whatVPN

Verified safeOpen sourceExclusive
No reviews reviews
108
downloads
8.0
android

AI summary

LSPosed module for testing VPN detection hardening on rooted Android 8+ devices. Hooks system APIs to hide VPN indicators from other apps by filtering network interfaces, DNS, routes, and package queries. Requires root and LSPosed with scoped target apps. Not a VPN bypass tool—intended for security auditing only.

Generated by AI. May contain inaccuracies.

About this app

Небольшой POC, покрывающий проверки RKNHardening - тестаппы по детекту ВПН из внешних приложений

Не является обходом, используйте пожалуйста только для проверок безопасности вашего устройства

С последнего коммита официально является нейрослопом

Требования Android 8+ su-доступ LSPosed Установка Установить .apk Включить модуль в LSPosed Добавить в скоуп LSPosed все приложения для проверки Перезапустить устройство Применить в whatVPN требуемые приложения (покажутся приложения из скоупа) Перезапустить устройство Проверять Функциональность Что не может GeoIP - решается сплит-туннелингом IP Comparison - решается сплит-туннелингом Location Signals - решается сплит-туннелингом WebRTC Leak - JS может раскрыть публичный IP через RTCPeerConnection, можно попробовать отключение WebRTC в настройках браузера Что может Direct signs - системные АПИ вызовы (проверка TRANSPORT_VPN) Хук на вызов connectivityManager.getNetworkCapabilities(network).hasTransport(4) - всегда вернет false Хук на вызов NetworkCapabilities.toString() - убирает подстроки с VPN, добавляет NOT_VPN Хук на вызов NetworkCapabilities.hasCapability(NET_CAPABILITY_NOT_VPN) - возвращает true Хук на вызов ConnectivityManager.getNetworkInfo(TYPE_VPN) - возвращает null Хук на получение системных свойств (http.proxyHost, http.proxyPort, socksProxyHost, socksProxyPort и https-варианты) через System.getProperty(String) - возвращает null Хук на PackageManager.getPackageInfo(), getInstalledApplications(), getInstalledPackages() возвращает null на проверку по package name (надо будет сделать добавление) Фильтрует ConnectivityManager.getAllNetworks() - вроде как малоиспользуемое, но оставляем только физическую сеть Вызывает PackageManager.queryIntentServices(Intent("android.net.VpnService")) и прячет приложения с VpnService в манифесте Indirect signs - сетевые интерфейсы и маршруты Хук на вызов NetworkInterface.getNetworkInterfaces() - фильтрует по паттернам tun\d+, tap\d+, wg\d+, ppp\d+, ipsec.* и с уменьшенным MTU Хук на вызов LinkProperties.getRoutes() - фильтрует по dedicated routes через VPN-интерфейсы (к примеру 0.0.0.0/5 via tun0) и по паттерну сплит-туннелинга Хук на вызов LinkProperties.getDnsServers() - возвращает DNS физического интерфейса Фильтрует /proc/net/*, /sys/class/net/ при чтении - убирает VPN-интерфейсы Очищает dumpsys vpn_management Возвращает EConnRefused на сканирование известных портов. Если приложение активно сканирует порты - уходит в режим полной блокировки на 10 секунд

About this version

Version
1.0 (1)
Size
2.32 MB
Requires Android
8.0
Target SDK
26
Architecture
universal
Downloads
108
Updated
Apr 12, 2026
Package
com.vpnhider

Similar apps

Ratings & reviews

0 ratings
  • 5
    0
  • 4
    0
  • 3
    0
  • 2
    0
  • 1
    0

Write a review

Tap a star to rate this app