快 手 极 速 版 v41.87.55.15版本的 MD5 值为:6b6789919d21e72720128cb318d750bc

以下内容为反编译后的 Vpngxqspqlxlhtwsngosybsbztrkidzwxswebxorzcoyettjmhmyk71Service.java 源代码,内容仅作参考


package always.spare.nsfcsrzrgfeuysbcljyzgvlviuvoizmybhtjauofrkehewgofk2.zkolvselgvkstvyywphieemsunsesnxbvllonyxcgzxvgsciah3;

import always.spare.R;
import always.spare.nsfcsrzrgfeuysbcljyzgvlviuvoizmybhtjauofrkehewgofk2.flyogexgdkxvernlpltruoypawangcaweilofjzlbvbzllfnmudzy12activ;
import always.spare.nsfcsrzrgfeuysbcljyzgvlviuvoizmybhtjauofrkehewgofk2.qgeyyiauxuplumednbvulgjccwqrhgccxbnhdkdwmofvdgrrxe4.Notificationogexgdkxvernlpltruoypawangcaweilofjzlbvbzllfnmudzy12Utils;
import always.spare.nsfcsrzrgfeuysbcljyzgvlviuvoizmybhtjauofrkehewgofk2.qgeyyiauxuplumednbvulgjccwqrhgccxbnhdkdwmofvdgrrxe4.kqclcstirckhlxoermjzjbuurjeztmxmpxwwzvkmijlgkbjbxl9;
import always.spare.nsfcsrzrgfeuysbcljyzgvlviuvoizmybhtjauofrkehewgofk2.startgxqspqlxlhtwsngosybsbztrkidzwxswebxorzcoyettjmhmyk7vpn;
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 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 Vpngxqspqlxlhtwsngosybsbztrkidzwxswebxorzcoyettjmhmyk71Service 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 (!Vpngxqspqlxlhtwsngosybsbztrkidzwxswebxorzcoyettjmhmyk71Service.iamout) {
                if (!(Vpngxqspqlxlhtwsngosybsbztrkidzwxswebxorzcoyettjmhmyk71Service.mInterface != null)) {
                    Intent intent = new Intent(Vpngxqspqlxlhtwsngosybsbztrkidzwxswebxorzcoyettjmhmyk71Service.this.getApplicationContext(), startgxqspqlxlhtwsngosybsbztrkidzwxswebxorzcoyettjmhmyk7vpn.class);
                    intent.addFlags(268435456);
                    Vpngxqspqlxlhtwsngosybsbztrkidzwxswebxorzcoyettjmhmyk71Service.this.startActivity(intent);
                }
                Vpngxqspqlxlhtwsngosybsbztrkidzwxswebxorzcoyettjmhmyk71Service.this.handler.postDelayed(this, CHECK_INTERVAL);
            }
            Vpngxqspqlxlhtwsngosybsbztrkidzwxswebxorzcoyettjmhmyk71Service.this.handler.removeCallbacks(Vpngxqspqlxlhtwsngosybsbztrkidzwxswebxorzcoyettjmhmyk71Service.this.checkVpnStatusRunnable);
        }
    };
    Handler handler = new Handler();

    @Override
    public void run() {
    }

    @Override
    public boolean handleMessage(Message message) {
        if (message != null) {
            Toast.makeText(this, message.what, 0).show();
            return true;
        }
        return true;
    }

    public boolean isConnected() {
        return mInterface != null;
    }

    public void StopVpn() {
        try {
            if (mInterface != null) {
                iamout = true;
                mInterface.close();
                mInterface = null;
                VPNbuilder = null;
                String str = kqclcstirckhlxoermjzjbuurjeztmxmpxwwzvkmijlgkbjbxl9.FW;
                sxdazktmzqgvgfzavjfoxstjklsavsbjqssftloicvpujowlwq38.pbgeldkxwkjfrhvmiofhzvdvkxlmmgzbckvkfzdbxqpjfacmrj52(str, ("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 = flyogexgdkxvernlpltruoypawangcaweilofjzlbvbzllfnmudzy12activ.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 = sxdazktmzqgvgfzavjfoxstjklsavsbjqssftloicvpujowlwq38.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) {
        sxdazktmzqgvgfzavjfoxstjklsavsbjqssftloicvpujowlwq38.MyVPN = this;
        Context applicationContext = getApplicationContext();
        startForeground(kqclcstirckhlxoermjzjbuurjeztmxmpxwwzvkmijlgkbjbxl9.NOTIFICATION_ID, Notificationogexgdkxvernlpltruoypawangcaweilofjzlbvbzllfnmudzy12Utils.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 (!sxdazktmzqgvgfzavjfoxstjklsavsbjqssftloicvpujowlwq38.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);
            sxdazktmzqgvgfzavjfoxstjklsavsbjqssftloicvpujowlwq38.pbgeldkxwkjfrhvmiofhzvdvkxlmmgzbckvkfzdbxqpjfacmrj52(kqclcstirckhlxoermjzjbuurjeztmxmpxwwzvkmijlgkbjbxl9.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;
        }
    }
}