Home
Softono

Vpnhide

Open source Kotlin
393
Stars
19
Forks
20
Issues
4
Watchers
6 months
Last Commit

 About Vpnhide

Hide active VPN from selected Android apps (kernel module + LSPosed + Zygisk)

Platforms

Web Self-hosted Android

Languages

Kotlin

Links

Need Help Installing Vpnhide?

We provide expert installation service for this software. Our team will install, configure, and secure Vpnhide on your server. plans start at just $30.

VPN Hide

VPN Hide

Π‘ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ VPN-соСдинСниС Π½Π° Android ΠΎΡ‚ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

CI Release Downloads License

English version

Π§Π΅ΠΌ vpnhide Π»ΡƒΡ‡ΡˆΠ΅ Π°Π½Π°Π»ΠΎΠ³ΠΎΠ²?

Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ NoVPNDetect ΠΈ NoVPNDetect Enhanced, ΠΏΠΎΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Java API ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Ρ…ΡƒΠΊΠ°ΡŽΡ‚ Π²Π½ΡƒΡ‚Ρ€ΠΈ процСсса Ρ†Π΅Π»Π΅Π²ΠΎΠ³ΠΎ прилоТСния Ρ‡Π΅Ρ€Π΅Π· Xposed. Π£ этого ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Π΄Π²Π΅ критичСскиС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹:

  1. ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ anti-tamper Π·Π°Ρ‰ΠΈΡ‚ΠΎΠΉ β€” любоС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ ΠΈΠ½ΡŠΠ΅ΠΊΡ†ΠΈΠΉ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ…ΡƒΠΊΠΈ Xposed ΠΈ отказываСтся Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. Автор NoVPNDetect Enhanced прямо ΠΏΠΈΡˆΠ΅Ρ‚: Β«ΠœΠΎΠ΄ΡƒΠ»ΡŒ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ссли Ρƒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΠΎΠ³ΠΎ прилоТСния Π΅ΡΡ‚ΡŒ Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ LSPosed, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΠΈΠ½ΡŠΠ΅ΠΊΡ†ΠΈΠΈ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ. НапримСр MirPay, Π’-Π‘Π°Π½ΠΊ.Β»
  2. НСт Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ покрытия β€” прилоТСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΠ΅ C/C++ ΠΊΠΎΠ΄, кроссплатформСнныС Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ (Flutter, React Native) ΠΈΠ»ΠΈ прямыС систСмныС Π²Ρ‹Π·ΠΎΠ²Ρ‹, ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ VPN Ρ‡Π΅Ρ€Π΅Π· ioctl, getifaddrs, netlink-сокСты ΠΈ /proc/net/*. Java-Ρ…ΡƒΠΊΠΈ эти Π²Π΅ΠΊΡ‚ΠΎΡ€Ρ‹ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚.

vpnhide Ρ€Π΅ΡˆΠ°Π΅Ρ‚ ΠΎΠ±Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ многослойной Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΎΠΉ:

Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ 1 β€” Java API (ΠΌΠΎΠ΄ΡƒΠ»ΡŒ lsposed): Ρ…ΡƒΠΊΠ°Π΅Ρ‚ system_server, Π° Π½Π΅ Ρ†Π΅Π»Π΅Π²ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅. NetworkCapabilities, NetworkInfo ΠΈ LinkProperties Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΡƒΡŽΡ‚ΡΡ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Binder Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠΏΠ°Π΄ΡƒΡ‚ Π² процСсс прилоТСния. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ чистыС Π΄Π°Π½Π½Ρ‹Π΅ Ρ‡Π΅Ρ€Π΅Π· IPC β€” Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΈΠ½ΡŠΠ΅ΠΊΡ†ΠΈΠΉ Π² Π΅Π³ΠΎ процСсс, Π½Π΅Ρ‡Π΅Π³ΠΎ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Ρ‚ΡŒ.

Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ 2 β€” Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ (kmod ΠΈΠ»ΠΈ zygisk): ΠΏΠΎΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ всС Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΏΡƒΡ‚ΠΈ обнаруТСния:

  • kmod (рСкомСндуСтся) β€” Ρ…ΡƒΠΊΠΈ kretprobe Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ядра. Π€ΠΈΠ»ΡŒΡ‚Ρ€ΡƒΠ΅Ρ‚ ioctl (SIOCGIFFLAGS, SIOCGIFNAME, SIOCGIFCONF), getifaddrs/netlink-Π΄Π°ΠΌΠΏΡ‹ (RTM_GETLINK, RTM_GETADDR) ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ /proc/net/route β€” всё Π΄ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π° систСмного Π²Ρ‹Π·ΠΎΠ²Π° Π² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ΅ пространство. ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ /proc/net/* (tcp*, udp*, dev, if_inet6 ΠΈ Ρ‚.Π΄.) Π½Π° Android 10+ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ SELinux для untrusted-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ…ΡƒΠΊ Π½Π΅ Π½ΡƒΠΆΠ΅Π½. НулСвой слСд Π² процСссС. Никаких ΠΈΠ½ΡŠΠ΅ΠΊΡ†ΠΈΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ. НСчСго ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Ρ‚ΡŒ.
  • zygisk (Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π°) β€” inline-Ρ…ΡƒΠΊΠΈ libc.so Π²Π½ΡƒΡ‚Ρ€ΠΈ процСсса прилоТСния. Π’ΠΎ ΠΆΠ΅ Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ kmod, Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² процСссС, поэтому тСорСтичСски ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠΌ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚ΠΎΠΉ anti-tamper Π·Π°Ρ‰ΠΈΡ‚ΠΎΠΉ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅, Ссли вашС ядро Π½Π΅ поддСрТиваСтся kmod.

Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ 3 β€” Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ Π² самом ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ VPN Hide:

  • Π‘ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ интСрфСйса β€” скрываСт VPN-интСрфСйсы, ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Ρ‹ ΠΈ VPN-состояниС Java API ΠΎΡ‚ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ
  • Π‘ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΏΠΎΡ€Ρ‚ΠΎΠ² β€” Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΌ прилоТСниям доступ ΠΊ 127.0.0.1 / ::1, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ Π½Π΅ ΠΌΠΎΠ³Π»ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ локально Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Π΅ VPN / proxy-Π΄Π΅ΠΌΠΎΠ½Ρ‹
  • Π‘ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ β€” скрываСт Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ прилоТСния ΠΎΡ‚ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ-Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚Π΅Π»Π΅ΠΉ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ PackageManager

ΠŸΡ€ΠΎΡ†Π΅ΡΡ Ρ†Π΅Π»Π΅Π²ΠΎΠ³ΠΎ прилоТСния ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π½Π΅Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚ (ΠΏΡ€ΠΈ использовании kmod + lsposed) β€” Π½ΠΈ Xposed, Π½ΠΈ inline-Ρ…ΡƒΠΊΠΎΠ², Π½ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Ρ€Π΅Π³ΠΈΠΎΠ½ΠΎΠ² памяти. Благодаря этому vpnhide Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с банковскими ΠΈ государствСнными прилоТСниями, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΈ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‚ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π½Π° основС Xposed.

Π§Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ скрываСт vpnhide

vpnhide β€” это Π½Π΅ ΠΎΠ΄ΠΈΠ½ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ, Π° Ρ‚Ρ€ΠΈ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ° Π·Π°Ρ‰ΠΈΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΏΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ прилоТСния:

  1. Π‘ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ интСрфСйса β€” основной слой скрытия VPN. Π£Π±ΠΈΡ€Π°Π΅Ρ‚ VPN-интСрфСйсы ΠΈ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Ρ‹ ΠΈΠ· Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… API (ioctl, getifaddrs, /proc/net/*, NetworkInterface) ΠΈ ΠΈΠ· Java API (NetworkCapabilities, NetworkInfo, LinkProperties).
  2. Π‘ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΏΠΎΡ€Ρ‚ΠΎΠ² β€” Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ доступ ΠΊ localhost для Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ Π½Π΅ ΠΌΠΎΠ³Π»ΠΈ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΡ‚ΡŒ Clash, sing-box, V2Ray, Happ ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ инструмСнты Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΡ€Ρ‚ΠΎΠ².
  3. Π‘ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ β€” позволяСт ΡΠΊΡ€Ρ‹Ρ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ установлСнныС прилоТСния ΠΎΡ‚ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ-Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚Π΅Π»Π΅ΠΉ. ПолСзно ΠΏΡ€ΠΎΡ‚ΠΈΠ² ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ package visibility, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ³Π΄Π° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ пытаСтся ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, установлСн Π»ΠΈ Π½Π° устройствС VPN ΠΈΠ»ΠΈ proxy-ΠΊΠ»ΠΈΠ΅Π½Ρ‚.

КакиС ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π½ΡƒΠΆΠ½Ρ‹?

ВсСгда Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ VPN Hide (vpnhide.apk) плюс ΠΎΠ΄ΠΈΠ½ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ для скрытия интСрфСйса. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ports-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ для Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ localhost-ΠΏΠΎΡ€Ρ‚ΠΎΠ²:

  • kmod (рСкомСндуСтся) β€” ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ out-of-process, Π½Π΅Π²ΠΈΠ΄ΠΈΠΌ для anti-tamper. ВрСбуСтся ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠ΅ GKI-ядро.
  • zygisk β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅, Ссли вашС ядро Π½Π΅ поддСрТиваСтся kmod.
  • portshide (Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ) β€” установитС, Ссли Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΌ прилоТСниям доступ ΠΊ localhost-ΠΏΠΎΡ€Ρ‚Π°ΠΌ.

Π‘ΠΌ. Установка для пошаговой инструкции.

Установка

Π‘ΠΊΠ°Ρ‡Π°ΠΉΡ‚Π΅ послСдний Ρ€Π΅Π»ΠΈΠ· ΠΈΠ· Releases.

Π¨Π°Π³ 1 β€” ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ VPN Hide + LSPosed

  1. УстановитС vpnhide.apk ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
  2. Π’ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π΅ LSPosed Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ VPN Hide ΠΈ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Β«System FrameworkΒ» Π² Π΅Π³ΠΎ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ дСйствия
  3. ΠŸΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ устройство (ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ β€” Ρ…ΡƒΠΊΠΈ LSPosed Π²Π½Π΅Π΄Ρ€ΡΡŽΡ‚ΡΡ Π² system_server ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅, поэтому ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ Π°ΠΊΡ‚ΠΈΠ²Π΅Π½ Π΄ΠΎ запуска system_server)
  4. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ VPN Hide ΠΈ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ Π΅ΠΌΡƒ root-доступ (Magisk запросит автоматичСски; Π½Π° KernelSU-Next Π²Ρ‹Π΄Π°ΠΉΡ‚Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ Π² ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π΅)

Π¨Π°Π³ 2 β€” Нативный ΠΌΠΎΠ΄ΡƒΠ»ΡŒ для скрытия интСрфСйса

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ VPN Hide. На Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Β«ΠžΠ±Π·ΠΎΡ€Β» ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ вашС устройство ΠΈ ядро ΠΈ ΠΏΠΎΠΊΠ°ΠΆΠ΅Ρ‚, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ:

  • Если ядро поддСрТиваСтся β€” Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» kmod (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, vpnhide-kmod-android14-6.1.zip)
  • Если Π½Π΅Ρ‚ β€” Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ zygisk (vpnhide-zygisk.zip)

УстановитС Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ:

  • kmod: Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ KernelSU-Next β†’ ΠœΠΎΠ΄ΡƒΠ»ΠΈ β†’ Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΠ· Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°
  • zygisk: Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ KernelSU-Next ΠΈΠ»ΠΈ Magisk β†’ ΠœΠΎΠ΄ΡƒΠ»ΠΈ

ΠŸΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ устройство послС установки Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ модуля.

Π¨Π°Π³ 3 β€” ΠΠ΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ: установка Ports-модуля

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½Π° Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° localhost-ΠΏΠΎΡ€Ρ‚ΠΎΠ², установитС vpnhide-ports.zip Ρ‡Π΅Ρ€Π΅Π· KernelSU-Next ΠΈΠ»ΠΈ Magisk manager.

Π­Ρ‚ΠΎΡ‚ ΠΌΠΎΠ΄ΡƒΠ»ΡŒ нСзависим ΠΎΡ‚ kmod / zygisk ΠΈ Π½ΡƒΠΆΠ΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Ρ€Π΅ΠΆΠΈΠΌΠ° Ports Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.

Π¨Π°Π³ 4 β€” Настройка Π·Π°Ρ‰ΠΈΡ‚

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ VPN Hide β†’ Π²ΠΊΠ»Π°Π΄ΠΊΠ° Β«Π—Π°Ρ‰ΠΈΡ‚Π°Β».

  • Π Π΅ΠΆΠΈΠΌ Tun: ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΠΈ L / K / Z для управлСния уровнями скрытия интСрфСйса для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ прилоТСния (LSPosed, ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ядра, Zygisk), ΠΈΠ»ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Π½Π° строку, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ всС ΡƒΡ€ΠΎΠ²Π½ΠΈ сразу
  • Π Π΅ΠΆΠΈΠΌ Apps: Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅, ΠΊΠ°ΠΊΠΈΠ΅ прилоТСния Π½ΡƒΠΆΠ½ΠΎ ΡΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ прилоТСния Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚Π΅Π»ΡΠΌΠΈ
  • Π Π΅ΠΆΠΈΠΌ Ports: Π²Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅, ΠΊΠ°ΠΊΠΈΠΌ прилоТСниям Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΏΡ€Π΅Ρ‚ΠΈΡ‚ΡŒ доступ ΠΊ localhost-ΠΏΠΎΡ€Ρ‚Π°ΠΌ

ПослС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Β«Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒΒ».

ПослС измСнСния списка ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ остановитС ΠΈ пСрСзапуститС Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚Ρ‹Π΅ прилоТСния β€” Ρ…ΡƒΠΊΠΈ Π²ΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ Π² силу ΠΏΡ€ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ запускС.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ прилоТСния ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°ΡŽΡ‚ Ρ…ΡƒΠΊΠΈ Zygisk. Для Ρ‚Π°ΠΊΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΎΡΡ‚Π°Π²ΡŒΡ‚Π΅ Z Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹ΠΌ ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ kmod + LSPosed.

Настройка Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку (для ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹Ρ…)

Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ /data/adb/vpnhide_kmod/targets.txt, /data/adb/vpnhide_zygisk/targets.txt ΠΈΠ»ΠΈ /data/adb/vpnhide_lsposed/targets.txt Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ (ΠΎΠ΄Π½ΠΎ имя ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π½Π° строку). ΠŸΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ остановитС ΠΈ пСрСзапуститС Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΡ‚Ρ‹Π΅ прилоТСния для примСнСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

Π ΡƒΡ‡Π½ΠΎΠΉ ΠΏΠΎΠ΄Π±ΠΎΡ€ GKI (Ссли Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» kmod ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ)
  1. На Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π΅ ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Настройки β†’ О Ρ‚Π΅Π»Π΅Ρ„ΠΎΠ½Π΅ ΠΈ Π½Π°ΠΉΠ΄ΠΈΡ‚Π΅ строку ВСрсия ядра. Она выглядит ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ: 6.1.75-android14-11-g...
  2. Π’Π°ΠΌ Π½ΡƒΠΆΠ½Ρ‹ Π΄Π²Π΅ части ΠΈΠ· этой строки: вСрсия ядра (6.1) ΠΈ ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅ android (android14). ВмСстС ΠΎΠ½ΠΈ ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ вашС ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅ GKI: android14-6.1
  3. Π‘ΠΊΠ°Ρ‡Π°ΠΉΡ‚Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ„Π°ΠΉΠ» ΠΈΠ· Ρ€Π΅Π»ΠΈΠ·Π°: vpnhide-kmod-android14-6.1.zip

Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ adb shell uname -r Ρ‡Π΅Ρ€Π΅Π· ADB, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ строку вСрсии ядра.

Π’Π°ΠΆΠ½ΠΎ: android14 Π² строкС ядра β€” это НЕ вСрсия Android, Π° ΠΏΠΎΠΊΠΎΠ»Π΅Π½ΠΈΠ΅ ядра. НапримСр, всС Pixel с 6 ΠΏΠΎ 9a ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ядро android14-6.1 Π²Π½Π΅ зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, стоит Π»ΠΈ Π½Π° Π½ΠΈΡ… Android 14 ΠΈΠ»ΠΈ 15.

Π‘ΠΊΡ€ΠΈΠ½ΡˆΠΎΡ‚Ρ‹

ΠžΠ±Π·ΠΎΡ€ β€” всё ОК ΠžΠ±Π·ΠΎΡ€ β€” ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ РСкомСндация установки
Π—Π°Ρ‰ΠΈΡ‚Π° β€” Tun Π‘ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π‘ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΏΠΎΡ€Ρ‚ΠΎΠ²
Π‘ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ β€” ΠΏΠΎΠΌΠΎΡ‰ΡŒ Π‘ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΏΠΎΡ€Ρ‚ΠΎΠ² β€” ΠΏΠΎΠΌΠΎΡ‰ΡŒ Диагностика

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°

Π’ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π΅ΡΡ‚ΡŒ встроСнная систСма диагностики, которая автоматичСски ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠΈΠ²Π°Π΅Ρ‚ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ с настройкой.

ΠžΠ±Π·ΠΎΡ€ (запускаСтся ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ прилоТСния):

  • Бтатус ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ для всСх Ρ‚Ρ€Ρ‘Ρ… ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ (установлСн, Π°ΠΊΡ‚ΠΈΠ²Π΅Π½, вСрсия, количСство Ρ†Π΅Π»Π΅ΠΉ)
  • Валидация ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ LSPosed β€” Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… LSPosed ΠΈ провСряСт, Ρ‡Ρ‚ΠΎ VPN Hide Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½, System Framework Π² scope, ΠΈ Π½Π΅Ρ‚ Π»ΠΈΡˆΠ½ΠΈΡ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π² scope (частая ошибка ΠΏΡ€ΠΈ настройкС)
  • ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ нСсоотвСтствия вСрсий β€” сравниваСт вСрсии установлСнных ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ с вСрсиСй прилоТСния ΠΈ подсказываСт, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ
  • РСкомСндация Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ модуля β€” опрСдСляСт ядро устройства ΠΈ ΠΏΠΎΠ΄Π±ΠΈΡ€Π°Π΅Ρ‚ Π½ΡƒΠΆΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» kmod, ΠΈΠ»ΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅Ρ‚ zygisk, Ссли ядро Π½Π΅ поддСрТиваСтся
  • ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ (ΠΏΡ€ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΌ VPN) β€” выполняСт 16 Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΈ 5 Java API ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ VPN Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ скрыт

ВсС ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡Π΅ΠΊ с ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌΠΈ инструкциями ΠΏΠΎ ΠΈΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ.

Диагностика β€” Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Π°Ρ Ρ€Π°Π·Π±ΠΈΠ²ΠΊΠ° ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ с ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌΠΈ PASS/FAIL для всСх 26 Π²Π΅ΠΊΡ‚ΠΎΡ€ΠΎΠ² обнаруТСния. ПолСзна для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ, ΠΊΠΎΠ³Π΄Π° Β«ΠžΠ±Π·ΠΎΡ€Β» ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ‡Π°ΡΡ‚ΠΈΡ‡Π½ΡƒΡŽ Π·Π°Ρ‰ΠΈΡ‚Ρƒ.

ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹

ДирСктория Π§Ρ‚ΠΎ Как
kmod/ ΠœΠΎΠ΄ΡƒΠ»ΡŒ ядра (C) Π₯ΡƒΠΊΠΈ kretprobe Π² пространствС ядра. НулСвой слСд Π² процСссС прилоТСния. (ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅)
lsposed/ LSPosed-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ + ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ (Kotlin + Rust) Π₯ΡƒΠΊΠΈ writeToParcel Π² system_server для per-UID Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ Binder. APK прСдоставляСт ΠΎΠ±Π·ΠΎΡ€Π½ΡƒΡŽ панСль (статус ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° вСрсий, валидация ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ LSPosed, Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΏΠΎ установкС), Ρ€Π΅ΠΆΠΈΠΌΡ‹ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ для скрытия интСрфСйса / ΠΏΠΎΡ€Ρ‚ΠΎΠ² / ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ диагностику. (ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅)
portshide/ ΠœΠΎΠ΄ΡƒΠ»ΡŒ скрытия ΠΏΠΎΡ€Ρ‚ΠΎΠ² (Shell + iptables) Π‘Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΌ прилоТСниям доступ ΠΊ 127.0.0.1 / ::1, скрывая локально Π·Π°ΠΏΡƒΡ‰Π΅Π½Π½Ρ‹Π΅ VPN / proxy-Π΄Π΅ΠΌΠΎΠ½Ρ‹ ΠΎΡ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ localhost-ΠΏΠΎΡ€Ρ‚ΠΎΠ². (ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅)
zygisk/ Zygisk-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ (Rust) Inline-Ρ…ΡƒΠΊΠΈ libc.so Π² процСссС прилоТСния. ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° kmod. (ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅)

ΠŸΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ обнаруТСния

# Π’Π΅ΠΊΡ‚ΠΎΡ€ обнаруТСния SELinux kmod zygisk lsposed
1 ioctl(SIOCGIFFLAGS) Π½Π° tun0 x x
2 ioctl(SIOCGIFNAME) Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ индСкса Π² имя x x
3 ioctl(SIOCGIFMTU) Ρ„ΠΈΠ½Π³Π΅Ρ€ΠΏΡ€ΠΈΠ½Ρ‚ΠΈΠ½Π³ MTU x x
4 ioctl(SIOCGIFCONF) пСрСчислСниС интСрфСйсов x x
5 ВсС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ SIOCGIF* (INDEX, HWADDR, ADDR ΠΈ Ρ‚.Π΄.) x x
6 getifaddrs() (ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ netlink Π²Π½ΡƒΡ‚Ρ€ΠΈ) x x
7 netlink RTM_GETLINK Π΄Π°ΠΌΠΏ Π±Π»ΠΎΠΊ. x x
8 netlink RTM_GETADDR Π΄Π°ΠΌΠΏ (IPv4 + IPv6) Π±Π»ΠΎΠΊ. x
9 netlink RTM_GETROUTE Π΄Π°ΠΌΠΏ Π±Π»ΠΎΠΊ.
10 /proc/net/route Π±Π»ΠΎΠΊ. x x
11 /proc/net/ipv6_route Π±Π»ΠΎΠΊ. x
12 /proc/net/if_inet6 Π±Π»ΠΎΠΊ. x
13 /proc/net/tcp, tcp6 Π±Π»ΠΎΠΊ.
14 /proc/net/udp, udp6 Π±Π»ΠΎΠΊ.
15 /proc/net/dev Π±Π»ΠΎΠΊ.
16 /proc/net/fib_trie Π±Π»ΠΎΠΊ.
17 /sys/class/net/tun0/ Π±Π»ΠΎΠΊ.
18 NetworkCapabilities (hasTransport, NOT_VPN, transportInfo) x
19 NetworkInfo (getType, getTypeName) x
20 ConnectivityManager.getActiveNetwork() x
21 ConnectivityManager.getAllNetworks() + VPN-сканированиС x
22 LinkProperties (interfaceName) x
23 LinkProperties (ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Ρ‹ Ρ‡Π΅Ρ€Π΅Π· VPN-интСрфСйсы) x
24 NetworkInterface.getNetworkInterfaces() x x
25 System.getProperty (настройки прокси) x
26 /proc/net/route Ρ‡Π΅Ρ€Π΅Π· Java FileInputStream Π±Π»ΠΎΠΊ. x x

Π±Π»ΠΎΠΊ. = SELinux Π·Π°ΠΏΡ€Π΅Ρ‰Π°Π΅Ρ‚ доступ для ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ (Android 10+). Π₯ΡƒΠΊΠΈ Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹.

Π‘Ρ‚Ρ€ΠΎΠΊΠΈ 1–6, 21 ΠΈ 24 β€” СдинствСнныС Π²Π΅ΠΊΡ‚ΠΎΡ€Ρ‹, доступныС ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ прилоТСниям. Всё ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅ Π»ΠΈΠ±ΠΎ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½ΠΎ SELinux, Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Ρ‡Π΅Ρ€Π΅Π· Java API (покрываСтся lsposed).

Π‘Π±ΠΎΡ€ΠΊΠ° ΠΈΠ· исходников

  • kmod: ./kmod/build.py --kmi android14-6.1 (ΠΈΠ»ΠΈ --all) β€” Π°Π²Ρ‚ΠΎ-запускаСт DDK-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Ρ‡Π΅Ρ€Π΅Π· podman/docker. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅: kmod/BUILDING.md.
  • zygisk: cd zygisk && ./build.py (Rust + NDK + cargo-ndk)
  • lsposed: cd lsposed && ./gradlew assembleDebug (JDK 17 + Rust + NDK + cargo-ndk)

Π—Π°ΠΌΠ΅Ρ‚ΠΊΠΈ для ΠΊΠΎΠ½Ρ‚Ρ€ΠΈΠ±ΡŒΡŽΡ‚ΠΎΡ€ΠΎΠ², Π·Π°ΡΡ‚Ρ€ΡΠ²ΡˆΠΈΡ… Π½Π° Windows

Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Windows, ΠΏΡ€ΠΈ сборкС Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠΎΠ΄ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ² Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ нСудобства.

lsposed: ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ собираСтся Π² Android Studio.

portshide: cd .\portshide\; python .\build-zip.py выполняСтся Π±Π΅Π· ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ.

Для ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π΄Π²ΡƒΡ… Π²Π°ΠΌ (ΠΊ соТалСнию) потрСбуСтся ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Docker for Windows.

kmod: python .\kmod\build.py --kmi android14-6.1 β€” скрипт сам ΠΏΠΎΠ΄Π±Π΅Ρ€Ρ‘Ρ‚ docker ΠΈ ΠΏΠΎΠ΄Π½ΠΈΠΌΠ΅Ρ‚ ΠΎΠ±Ρ€Π°Π· ddk-min (Ρ‚ΠΎΡ‚ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ Π² CI).

zygisk:

docker run --rm -it -v "${PWD}:/workspace" -v "vpnhide_cargo_cache:/usr/local/cargo/registry" -w /workspace ghcr.io/okhsunrog/vpnhide/ci:latest bash -c 'cd zygisk && python3 ./build.py'

ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ zygisk нСльзя ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ исходный ΠΊΠΎΠ΄ зависимости zygisk-api содСрТит Ρ„Π°ΠΉΠ» с ΠΈΠΌΠ΅Π½Π΅ΠΌ aux.rs. Cargo ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ libgit2 для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с git, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π΅ΡΡ‚ΡŒ Π·Π°Ρ‰ΠΈΡ‚Π°, Π·Π°ΠΏΡ€Π΅Ρ‰Π°ΡŽΡ‰Π°Ρ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹, содСрТащиС Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ слова Windows. Π’Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΎΡˆΠΈΠ±ΠΊΡƒ: cannot checkout to invalid path 'src/aux.rs'; class=Checkout (20). Π‘ΠΎΠΎΠ±Ρ‰Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ послС ΠΊΠ°ΠΊΠΎΠ³ΠΎ-Ρ‚ΠΎ обновлСния стало Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹, содСрТащиС Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ слова, с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ, Π½ΠΎ, ΠΏΠΎΡ…ΠΎΠΆΠ΅, Π² libgit2 это ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π΅ Π±Ρ‹Π»ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ.

ΠŸΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ Π½Π°

  • RKNHardering β€” всС Π²Π΅ΠΊΡ‚ΠΎΡ€Ρ‹ обнаруТСния чисты
  • YourVPNDead β€” всС Π²Π΅ΠΊΡ‚ΠΎΡ€Ρ‹ обнаруТСния чисты

Оба Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‚ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΡƒ обнаруТСния VPN/прокси ΠœΠΈΠ½Ρ†ΠΈΡ„Ρ€Ρ‹ Π Π€ (источник).

РаздСльноС Ρ‚ΡƒΠ½Π½Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ (split tunneling)

ΠšΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с конфигурациями VPN с Ρ€Π°Π·Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ Ρ‚ΡƒΠ½Π½Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. Π—Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ прилоТСния ΠΈΠ· списка Ρ†Π΅Π»Π΅ΠΉ.

ΠΠ°ΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ split tunneling Π² ΠΏΠ°Ρ€Π΅ с VPN Hide.

ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ-Π΄Π΅Ρ‚Π΅ΠΊΡ‚ΠΎΡ€Ρ‹, ΡΡ€Π°Π²Π½ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ IP устройства с внСшними Ρ‡Π΅ΠΊΠ΅Ρ€Π°ΠΌΠΈ, Π»ΡƒΡ‡ΡˆΠ΅ ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π²Π½Π΅ туннСля β€” ΠΈΡ… Ρ‚Ρ€Π°Ρ„ΠΈΠΊ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π°, Π° Π½Π΅ Ρ‡Π΅Ρ€Π΅Π· VPN.

МодСль ΡƒΠ³Ρ€ΠΎΠ·

vpnhide скрываСт Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ VPN ΠΎΡ‚ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Он НЕ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для:

  • Бкрытия root ΠΈΠ»ΠΈ кастомной ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΊΠΈ
  • ΠžΠ±Ρ…ΠΎΠ΄Π° Play Integrity
  • Обмана сСрвСрной Π΄Π΅Ρ‚Π΅ΠΊΡ†ΠΈΠΈ (ΡƒΡ‚Π΅Ρ‡ΠΊΠΈ DNS, Ρ‡Ρ‘Ρ€Π½Ρ‹Π΅ списки IP, Ρ„ΠΈΠ½Π³Π΅Ρ€ΠΏΡ€ΠΈΠ½Ρ‚ΠΈΠ½Π³ латСнтности/TLS)

Π˜Π·Π²Π΅ΡΡ‚Π½Ρ‹Π΅ ограничСния

  • kmod Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ GKI-ядро с CONFIG_KPROBES=y (стандарт Π½Π° устройствах Android 12+)
  • lsposed Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ LSPosed, LSPosed-Next ΠΈΠ»ΠΈ Vector
  • zygisk β€” Ρ‚ΠΎΠ»ΡŒΠΊΠΎ arm64
  • ΠŸΡ€ΡΠΌΡ‹Π΅ систСмныС Π²Ρ‹Π·ΠΎΠ²Ρ‹ svc #0 обходят Ρ…ΡƒΠΊΠΈ libc Π² zygisk β€” для этого ΠΈ Π½ΡƒΠΆΠ΅Π½ kmod
  • БСрвСрная дСтСкция нСисправима Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ€Π°Π·Π΄Π΅Π»ΡŒΠ½ΠΎΠ΅ Ρ‚ΡƒΠ½Π½Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅

ЛицСнзия

MIT. Π‘ΠΌ. LICENSE.

ΠœΠΎΠ΄ΡƒΠ»ΡŒ ядра ΠΎΠ±ΡŠΡΠ²Π»ΡΠ΅Ρ‚ MODULE_LICENSE("GPL"), ΠΊΠ°ΠΊ трСбуСтся ядром Linux для Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ символов EXPORT_SYMBOL_GPL Π²ΠΎ врСмя выполнСния.

Star History

Star History Chart