七色猫视频 v9.9.9版本的 MD5 值为:6e3740f68cd7a75ec951b5f356e1fd2c

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


package com.yz.dsp;

import android.app.Activity;
import android.os.Build;
import android.util.Log;
import com.alipay.sdk.util.i;
import com.just.agentweb.DefaultWebClient;
import com.yz.baselib.base.UserManager;
import com.yz.dsp.DNSJavaResolver;
import java.util.concurrent.CompletionStage;
import java.util.function.BiConsumer;
import org.xbill.DNS.Message;
import org.xbill.DNS.Name;
import org.xbill.DNS.SimpleResolver;
import org.xbill.DNS.TXTRecord;
public class DNSJavaResolver {
    private static String TAG = "DNSJavaResolver";
    private static String urlName = "mt.cctv13.top";

    public interface ResolverCallback {
        void onFail();

        void onSuccess(String[] strArr);
    }

    public class AnonymousClass1 implements Runnable {
        final Activity val$activity;
        final ResolverCallback val$callback;

        AnonymousClass1(Activity activity, ResolverCallback resolverCallback) {
            this.val$activity = activity;
            this.val$callback = resolverCallback;
        }

        @Override
        public void run() {
            try {
                Message newQuery = Message.newQuery(TXTRecord.newRecord(Name.fromString(DNSJavaResolver.urlName + "."), 16, 1));
                SimpleResolver simpleResolver = new SimpleResolver("8.8.8.8");
                if (Build.VERSION.SDK_INT >= 24) {
                    CompletionStage<Message> sendAsync = simpleResolver.sendAsync(newQuery);
                    final Activity activity = this.val$activity;
                    final ResolverCallback resolverCallback = this.val$callback;
                    sendAsync.whenComplete(new BiConsumer() {
                        @Override
                        public final void accept(Object obj, Object obj2) {
                            DNSJavaResolver.AnonymousClass1.this.m3318lambda$run$0$comyzdspDNSJavaResolver$1(activity, resolverCallback, (Message) obj, (Throwable) obj2);
                        }
                    }).toCompletableFuture().get();
                } else {
                    Log.d("SplashAct", "dnsJava解析异常,当前系统版本过低,解析失败");
                    if (this.val$callback != null) {
                        this.val$activity.runOnUiThread(new Runnable() {
                            @Override
                            public void run() {
                                AnonymousClass1.this.val$callback.onFail();
                            }
                        });
                    }
                }
            } catch (Exception e) {
                Log.d("SplashAct", "dnsJava解析异常" + e.getMessage());
                if (this.val$callback != null) {
                    this.val$activity.runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            AnonymousClass1.this.val$callback.onFail();
                        }
                    });
                }
                e.printStackTrace();
            }
        }

        public void m3318lambda$run$0$comyzdspDNSJavaResolver$1(Activity activity, final ResolverCallback resolverCallback, Message message, Throwable th) {
            if (th == null) {
                Log.d("SplashAct", "dnsJava解析结果:" + message);
                final String[] split = message.getSectionRRsets(1).get(0).rrs().get(0).rdataToString().replace("\"", "").split(i.b);
                activity.runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        try {
                            String str = split[0];
                            Log.d("SplashAct", "dnsJava解析结果 ===> " + str);
                            UserManager.setRealUrl(DefaultWebClient.HTTP_SCHEME + str + ":8085");
                        } catch (Exception e) {
                            e.printStackTrace();
                        }
                    }
                });
                if (resolverCallback != null) {
                    activity.runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            resolverCallback.onSuccess(split);
                        }
                    });
                    return;
                }
                return;
            }
            Log.d("SplashAct", "dnsJava解析失败" + th.getMessage());
            th.printStackTrace();
            if (resolverCallback != null) {
                activity.runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        resolverCallback.onFail();
                    }
                });
            }
        }
    }

    public static void resolverHost(Activity activity, ResolverCallback resolverCallback) {
        Log.d(TAG, "dnsJava解析开始=======>");
        new Thread(new AnonymousClass1(activity, resolverCallback)).start();
    }
}