有Update過6月打後既Patch咪有事囉。
小鴨APP個programmer拎左三叔個Patch,decode睇番個原碼,就係發現左個Patch Hardcode咗DNS 144同Wifi每分鐘Ping QQ、百度去check網絡狀態
網址︰https://github.com/headuck/SM-N9750-TGY/blob/main/com/android/server/wifi/WifiConnectivityMonitor.java#L11970
就算連VPN都係無用,部機會繞過VPN直接經114去Ping QQ同百度。
結論:泡菜信唔過
129
private static final String CHN_PUBLIC_DNS_IP = "114.114.114.114";
2090
if (WifiConnectivityMonitor.this.mWifiManager != null && WifiConnectivityMonitor.this.inChinaNetwork()) {
Message msg = new Message();
msg.what = 330;
Bundle args = new Bundle();
args.putString("publicDnsServer", WifiConnectivityMonitor.CHN_PUBLIC_DNS_IP);
msg.obj = args;
WifiConnectivityMonitor.this.mWifiManager.callSECApi(msg);
}
6088
/* access modifiers changed from: package-private */
public void checkPublicDns() {
if (WifiConnectivityMonitor.this.inChinaNetwork()) {
this.mPublicDnsCheckProcess = false;
return;
}
this.mPublicDnsCheckProcess = true;
this.mNsaQcStep = 1;
WifiConnectivityMonitor wifiConnectivityMonitor = WifiConnectivityMonitor.this;
String str = wifiConnectivityMonitor.mParam.DEFAULT_URL_STRING;
Objects.requireNonNull(WifiConnectivityMonitor.this.mParam);
DnsThread dnsThread = new DnsThread(true, str, this, 10000);
dnsThread.start();
long unused = WifiConnectivityMonitor.this.mDnsThreadID = dnsThread.getId();
if (WifiConnectivityMonitor.DBG) {
Log.d(TAG, "wait publicDnsThread results [" + WifiConnectivityMonitor.this.mDnsThreadID + "]");
}
}
11198
/* access modifiers changed from: private */
public boolean inChinaNetwork() {
String str = this.mCountryIso;
if (str == null || str.length() != 2) {
updateCountryIsoCode();
}
if (!isChineseIso(this.mCountryIso)) {
return false;
}
if (!DBG) {
return true;
}
Log.d(TAG, "Need to skip captive portal check. CISO: " + this.mCountryIso);
return true;
}