Souza NET DTunnel v4.2.6版本的 MD5 值为:9c33be9da88136132d2ea8a79815d093
以下内容为反编译后的 c.java 源代码,内容仅作参考
package h7;
import android.content.Context;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.Signature;
import android.text.TextUtils;
import android.util.JsonReader;
import android.util.Log;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.nio.charset.Charset;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.concurrent.ExecutionException;
import java.util.regex.Pattern;
import java.util.zip.GZIPOutputStream;
import org.json.JSONException;
import org.json.JSONObject;
import p6.k1;
public final class c {
public static final Pattern f5830d = Pattern.compile("[0-9]+s");
public static final Charset f5831e = Charset.forName("UTF-8");
public final Context f5832a;
public final e7.c f5833b;
public final e f5834c = new e();
public c(Context context, e7.c cVar) {
this.f5832a = context;
this.f5833b = cVar;
}
public static URL a(String str) {
try {
return new URL(String.format("https://%s/%s/%s", "firebaseinstallations.googleapis.com", "v1", str));
} catch (MalformedURLException e10) {
throw new f7.f(e10.getMessage());
}
}
public static void b(HttpURLConnection httpURLConnection, String str, String str2, String str3) {
String i10;
InputStream errorStream = httpURLConnection.getErrorStream();
String str4 = null;
if (errorStream != null) {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(errorStream, f5831e));
try {
StringBuilder sb2 = new StringBuilder();
while (true) {
String readLine = bufferedReader.readLine();
if (readLine == null) {
break;
}
sb2.append(readLine);
sb2.append('\n');
}
str4 = String.format("Error when communicating with the Firebase Installations server API. HTTP response: [%d %s: %s]", Integer.valueOf(httpURLConnection.getResponseCode()), httpURLConnection.getResponseMessage(), sb2);
} catch (IOException unused) {
} catch (Throwable th) {
try {
bufferedReader.close();
} catch (IOException unused2) {
}
throw th;
}
try {
bufferedReader.close();
} catch (IOException unused3) {
}
}
if (!TextUtils.isEmpty(str4)) {
Log.w("Firebase-Installations", str4);
Object[] objArr = new Object[3];
objArr[0] = str2;
objArr[1] = str3;
if (TextUtils.isEmpty(str)) {
i10 = "";
} else {
i10 = j6.c.i(", ", str);
}
objArr[2] = i10;
Log.w("Firebase-Installations", String.format("Firebase options used while communicating with Firebase server APIs: %s, %s%s", objArr));
}
}
public static long d(String str) {
com.bumptech.glide.f.b("Invalid Expiration Timestamp.", f5830d.matcher(str).matches());
if (str == null || str.length() == 0) {
return 0L;
}
return Long.parseLong(str.substring(0, str.length() - 1));
}
public static a e(HttpURLConnection httpURLConnection) {
InputStream inputStream = httpURLConnection.getInputStream();
JsonReader jsonReader = new JsonReader(new InputStreamReader(inputStream, f5831e));
z2.c cVar = new z2.c(6);
cVar.f11627t = 0L;
jsonReader.beginObject();
String str = null;
String str2 = null;
String str3 = null;
b bVar = null;
while (jsonReader.hasNext()) {
String nextName = jsonReader.nextName();
if (nextName.equals("name")) {
str = jsonReader.nextString();
} else if (nextName.equals("fid")) {
str2 = jsonReader.nextString();
} else if (nextName.equals("refreshToken")) {
str3 = jsonReader.nextString();
} else if (nextName.equals("authToken")) {
jsonReader.beginObject();
while (jsonReader.hasNext()) {
String nextName2 = jsonReader.nextName();
if (nextName2.equals("token")) {
cVar.f11626s = jsonReader.nextString();
} else if (nextName2.equals("expiresIn")) {
cVar.f11627t = Long.valueOf(d(jsonReader.nextString()));
} else {
jsonReader.skipValue();
}
}
bVar = cVar.g();
jsonReader.endObject();
} else {
jsonReader.skipValue();
}
}
jsonReader.endObject();
jsonReader.close();
inputStream.close();
return new a(str, str2, str3, bVar, d.OK);
}
public static b f(HttpURLConnection httpURLConnection) {
InputStream inputStream = httpURLConnection.getInputStream();
JsonReader jsonReader = new JsonReader(new InputStreamReader(inputStream, f5831e));
z2.c cVar = new z2.c(6);
cVar.f11627t = 0L;
jsonReader.beginObject();
while (jsonReader.hasNext()) {
String nextName = jsonReader.nextName();
if (nextName.equals("token")) {
cVar.f11626s = jsonReader.nextString();
} else if (nextName.equals("expiresIn")) {
cVar.f11627t = Long.valueOf(d(jsonReader.nextString()));
} else {
jsonReader.skipValue();
}
}
jsonReader.endObject();
jsonReader.close();
inputStream.close();
cVar.f11628u = f.OK;
return cVar.g();
}
public static void g(HttpURLConnection httpURLConnection, String str, String str2) {
try {
JSONObject jSONObject = new JSONObject();
jSONObject.put("fid", str);
jSONObject.put("appId", str2);
jSONObject.put("authVersion", "FIS_v2");
jSONObject.put("sdkVersion", "a:17.2.0");
i(httpURLConnection, jSONObject.toString().getBytes("UTF-8"));
} catch (JSONException e10) {
throw new IllegalStateException(e10);
}
}
public static void h(HttpURLConnection httpURLConnection) {
try {
JSONObject jSONObject = new JSONObject();
jSONObject.put("sdkVersion", "a:17.2.0");
JSONObject jSONObject2 = new JSONObject();
jSONObject2.put("installation", jSONObject);
i(httpURLConnection, jSONObject2.toString().getBytes("UTF-8"));
} catch (JSONException e10) {
throw new IllegalStateException(e10);
}
}
public static void i(URLConnection uRLConnection, byte[] bArr) {
OutputStream outputStream = uRLConnection.getOutputStream();
if (outputStream == null) {
throw new IOException("Cannot send request to FIS servers. No OutputStream available.");
}
GZIPOutputStream gZIPOutputStream = new GZIPOutputStream(outputStream);
try {
gZIPOutputStream.write(bArr);
} finally {
try {
gZIPOutputStream.close();
outputStream.close();
} catch (IOException unused) {
}
}
}
public final HttpURLConnection c(URL url, String str) {
PackageInfo c10;
Signature[] signatureArr;
byte[] bArr;
int i10;
MessageDigest messageDigest;
try {
HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
httpURLConnection.setConnectTimeout(10000);
httpURLConnection.setUseCaches(false);
httpURLConnection.setReadTimeout(10000);
httpURLConnection.addRequestProperty("Content-Type", "application/json");
httpURLConnection.addRequestProperty("Accept", "application/json");
httpURLConnection.addRequestProperty("Content-Encoding", "gzip");
httpURLConnection.addRequestProperty("Cache-Control", "no-cache");
Context context = this.f5832a;
httpURLConnection.addRequestProperty("X-Android-Package", context.getPackageName());
c7.e eVar = (c7.e) this.f5833b.get();
if (eVar != null) {
try {
httpURLConnection.addRequestProperty("x-firebase-client", (String) q1.b.a(((c7.c) eVar).b()));
} catch (InterruptedException e10) {
e = e10;
Thread.currentThread().interrupt();
Log.w("ContentValues", "Failed to get heartbeats header", e);
String str2 = null;
c10 = h5.b.a(context).c(context.getPackageName(), 64);
signatureArr = c10.signatures;
if (signatureArr != null) {
i10 = 0;
while (true) {
if (i10 >= 2) {
}
i10++;
}
if (messageDigest != null) {
}
}
bArr = null;
if (bArr != null) {
}
httpURLConnection.addRequestProperty("X-Android-Cert", str2);
httpURLConnection.addRequestProperty("x-goog-api-key", str);
return httpURLConnection;
} catch (ExecutionException e11) {
e = e11;
Log.w("ContentValues", "Failed to get heartbeats header", e);
String str22 = null;
c10 = h5.b.a(context).c(context.getPackageName(), 64);
signatureArr = c10.signatures;
if (signatureArr != null) {
}
bArr = null;
if (bArr != null) {
}
httpURLConnection.addRequestProperty("X-Android-Cert", str22);
httpURLConnection.addRequestProperty("x-goog-api-key", str);
return httpURLConnection;
}
}
String str222 = null;
try {
c10 = h5.b.a(context).c(context.getPackageName(), 64);
signatureArr = c10.signatures;
} catch (PackageManager.NameNotFoundException e12) {
Log.e("ContentValues", "No such package: " + context.getPackageName(), e12);
}
if (signatureArr != null && signatureArr.length == 1) {
i10 = 0;
while (true) {
if (i10 >= 2) {
try {
messageDigest = MessageDigest.getInstance("SHA1");
} catch (NoSuchAlgorithmException unused) {
}
if (messageDigest != null) {
break;
}
i10++;
} else {
messageDigest = null;
break;
}
}
if (messageDigest != null) {
bArr = messageDigest.digest(c10.signatures[0].toByteArray());
if (bArr != null) {
Log.e("ContentValues", "Could not get fingerprint hash for package: " + context.getPackageName());
} else {
int length = bArr.length;
StringBuilder sb2 = new StringBuilder(length + length);
for (int i11 = 0; i11 < length; i11++) {
char[] cArr = k1.f8464a;
sb2.append(cArr[(bArr[i11] & 240) >>> 4]);
sb2.append(cArr[bArr[i11] & 15]);
}
str222 = sb2.toString();
}
httpURLConnection.addRequestProperty("X-Android-Cert", str222);
httpURLConnection.addRequestProperty("x-goog-api-key", str);
return httpURLConnection;
}
}
bArr = null;
if (bArr != null) {
}
httpURLConnection.addRequestProperty("X-Android-Cert", str222);
httpURLConnection.addRequestProperty("x-goog-api-key", str);
return httpURLConnection;
} catch (IOException unused2) {
throw new f7.f("Firebase Installations Service is unavailable. Please try again later.");
}
}
}