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
- 50
- 40
- 30
- 20
- 10