七色猫视频 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();
}
}