检测vpn抓包
这是肉师傅知识星球的一道检测vpn抓包的练习题,当检测到开启vpn就会闪退
软件我放在网盘了,需要的自取
链接:https://pan.baidu.com/s/1h4QkrLyDlz8Wb1XylzYLWA
提取码:jjrh
既然已经知道是检测vpn了,通过查询资料以下4个类跟网络相关
通过百度知道java.net.NetworkInterface.getName()是检测vpn的api,用objection来hook查看一下
发现当开关vpn时,会检测到tun0的网卡,可以用来监测是否开启vpn。
那用frida来hook修改tun0的返回值看看能不能绕过
还是会闪退,怀疑检测点不止一个
NetworkCapabilities 也有检测vpn的
用objection hook一下 android.net.ConnectivityManager.getNetworkCapabilities
通过查看文档知道,返回null即可
用frida hook返回为null,还是闪退,用jadx打开查看报错位置
这里返回null的话就无法调用后面的hasTransport方法,直接hook hasTransport修改返回值为false绕过
开启vpn后app不闪退了,成功绕过
完整代码
1 | function main() { |
评论