Initial import of ADIF API reverse-engineering toolkit

This commit is contained in:
2025-12-16 08:37:56 +01:00
commit 60388529c1
11486 changed files with 1086536 additions and 0 deletions

View File

@@ -0,0 +1,132 @@
package q3;
import a.AbstractC0105a;
import kotlin.jvm.internal.Intrinsics;
/* loaded from: classes3.dex */
public final class a extends AbstractC0105a {
/* renamed from: c, reason: collision with root package name */
public final d f8190c;
public a(d trustRootIndex) {
Intrinsics.checkNotNullParameter(trustRootIndex, "trustRootIndex");
this.f8190c = trustRootIndex;
}
public final boolean equals(Object obj) {
if (obj == this) {
return true;
}
return (obj instanceof a) && Intrinsics.areEqual(((a) obj).f8190c, this.f8190c);
}
public final int hashCode() {
return this.f8190c.hashCode();
}
/* JADX WARN: Removed duplicated region for block: B:25:0x0078 */
@Override // a.AbstractC0105a
/*
Code decompiled incorrectly, please refer to instructions dump.
To view partially-correct add '--show-bad-code' argument
*/
public final java.util.List i(java.lang.String r9, java.util.List r10) {
/*
r8 = this;
java.lang.String r0 = "chain"
kotlin.jvm.internal.Intrinsics.checkNotNullParameter(r10, r0)
java.lang.String r0 = "hostname"
kotlin.jvm.internal.Intrinsics.checkNotNullParameter(r9, r0)
java.util.ArrayDeque r9 = new java.util.ArrayDeque
java.util.Collection r10 = (java.util.Collection) r10
r9.<init>(r10)
java.util.ArrayList r10 = new java.util.ArrayList
r10.<init>()
java.lang.Object r0 = r9.removeFirst()
java.lang.String r1 = "queue.removeFirst()"
kotlin.jvm.internal.Intrinsics.checkNotNullExpressionValue(r0, r1)
r10.add(r0)
r0 = 0
r1 = r0
L24:
r2 = 9
if (r0 >= r2) goto Lb7
int r2 = r10.size()
r3 = 1
int r2 = r2 - r3
java.lang.Object r2 = r10.get(r2)
java.lang.String r4 = "null cannot be cast to non-null type java.security.cert.X509Certificate"
kotlin.jvm.internal.Intrinsics.checkNotNull(r2, r4)
java.security.cert.X509Certificate r2 = (java.security.cert.X509Certificate) r2
q3.d r5 = r8.f8190c
java.security.cert.X509Certificate r5 = r5.a(r2)
if (r5 == 0) goto L69
int r1 = r10.size()
if (r1 > r3) goto L4d
boolean r1 = kotlin.jvm.internal.Intrinsics.areEqual(r2, r5)
if (r1 != 0) goto L50
L4d:
r10.add(r5)
L50:
java.security.Principal r1 = r5.getIssuerDN()
java.security.Principal r2 = r5.getSubjectDN()
boolean r1 = kotlin.jvm.internal.Intrinsics.areEqual(r1, r2)
if (r1 != 0) goto L5f
goto L67
L5f:
java.security.PublicKey r1 = r5.getPublicKey() // Catch: java.security.GeneralSecurityException -> L67
r5.verify(r1) // Catch: java.security.GeneralSecurityException -> L67
goto La2
L67:
r1 = r3
goto L9d
L69:
java.util.Iterator r3 = r9.iterator()
java.lang.String r5 = "queue.iterator()"
kotlin.jvm.internal.Intrinsics.checkNotNullExpressionValue(r3, r5)
L72:
boolean r5 = r3.hasNext()
if (r5 == 0) goto La0
java.lang.Object r5 = r3.next()
kotlin.jvm.internal.Intrinsics.checkNotNull(r5, r4)
java.security.cert.X509Certificate r5 = (java.security.cert.X509Certificate) r5
java.security.Principal r6 = r2.getIssuerDN()
java.security.Principal r7 = r5.getSubjectDN()
boolean r6 = kotlin.jvm.internal.Intrinsics.areEqual(r6, r7)
if (r6 != 0) goto L90
goto L72
L90:
java.security.PublicKey r6 = r5.getPublicKey() // Catch: java.security.GeneralSecurityException -> L72
r2.verify(r6) // Catch: java.security.GeneralSecurityException -> L72
r3.remove()
r10.add(r5)
L9d:
int r0 = r0 + 1
goto L24
La0:
if (r1 == 0) goto La3
La2:
return r10
La3:
javax.net.ssl.SSLPeerUnverifiedException r8 = new javax.net.ssl.SSLPeerUnverifiedException
java.lang.StringBuilder r9 = new java.lang.StringBuilder
java.lang.String r10 = "Failed to find a trusted cert that signed "
r9.<init>(r10)
r9.append(r2)
java.lang.String r9 = r9.toString()
r8.<init>(r9)
throw r8
Lb7:
javax.net.ssl.SSLPeerUnverifiedException r8 = new javax.net.ssl.SSLPeerUnverifiedException
java.lang.StringBuilder r9 = new java.lang.StringBuilder
java.lang.String r0 = "Certificate chain too long: "
r9.<init>(r0)
r9.append(r10)
java.lang.String r9 = r9.toString()
r8.<init>(r9)
throw r8
*/
throw new UnsupportedOperationException("Method not decompiled: q3.a.i(java.lang.String, java.util.List):java.util.List");
}
}

View File

@@ -0,0 +1,67 @@
package q3;
import java.security.cert.X509Certificate;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.LinkedHashSet;
import java.util.Set;
import javax.security.auth.x500.X500Principal;
import kotlin.jvm.internal.Intrinsics;
/* loaded from: classes3.dex */
public final class b implements d {
/* renamed from: a, reason: collision with root package name */
public final LinkedHashMap f8191a;
public b(X509Certificate... caCerts) {
Intrinsics.checkNotNullParameter(caCerts, "caCerts");
LinkedHashMap linkedHashMap = new LinkedHashMap();
for (X509Certificate x509Certificate : caCerts) {
X500Principal subjectX500Principal = x509Certificate.getSubjectX500Principal();
Intrinsics.checkNotNullExpressionValue(subjectX500Principal, "caCert.subjectX500Principal");
Object obj = linkedHashMap.get(subjectX500Principal);
if (obj == null) {
obj = new LinkedHashSet();
linkedHashMap.put(subjectX500Principal, obj);
}
((Set) obj).add(x509Certificate);
}
this.f8191a = linkedHashMap;
}
@Override // q3.d
public final X509Certificate a(X509Certificate cert) {
Intrinsics.checkNotNullParameter(cert, "cert");
Set set = (Set) this.f8191a.get(cert.getIssuerX500Principal());
Object obj = null;
if (set == null) {
return null;
}
Iterator it = set.iterator();
while (true) {
if (!it.hasNext()) {
break;
}
Object next = it.next();
try {
cert.verify(((X509Certificate) next).getPublicKey());
obj = next;
break;
} catch (Exception unused) {
}
}
return (X509Certificate) obj;
}
public final boolean equals(Object obj) {
if (obj != this) {
return (obj instanceof b) && Intrinsics.areEqual(((b) obj).f8191a, this.f8191a);
}
return true;
}
public final int hashCode() {
return this.f8191a.hashCode();
}
}

View File

@@ -0,0 +1,116 @@
package q3;
import C.w;
import java.security.cert.Certificate;
import java.security.cert.CertificateParsingException;
import java.security.cert.X509Certificate;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.SSLException;
import javax.net.ssl.SSLSession;
import kotlin.collections.CollectionsKt;
import kotlin.jvm.internal.Intrinsics;
/* loaded from: classes3.dex */
public final class c implements HostnameVerifier {
/* renamed from: a, reason: collision with root package name */
public static final c f8192a = new Object();
public static List a(X509Certificate x509Certificate, int i) {
Object obj;
try {
Collection<List<?>> subjectAlternativeNames = x509Certificate.getSubjectAlternativeNames();
if (subjectAlternativeNames == null) {
return CollectionsKt.emptyList();
}
ArrayList arrayList = new ArrayList();
for (List<?> list : subjectAlternativeNames) {
if (list != null && list.size() >= 2 && Intrinsics.areEqual(list.get(0), Integer.valueOf(i)) && (obj = list.get(1)) != null) {
arrayList.add((String) obj);
}
}
return arrayList;
} catch (CertificateParsingException unused) {
return CollectionsKt.emptyList();
}
}
public static boolean b(String str) {
int i;
int length = str.length();
int length2 = str.length();
Intrinsics.checkNotNullParameter(str, "<this>");
if (length2 < 0) {
throw new IllegalArgumentException(w.i(length2, "endIndex < beginIndex: ", " < 0").toString());
}
if (length2 > str.length()) {
StringBuilder t2 = w.t(length2, "endIndex > string.length: ", " > ");
t2.append(str.length());
throw new IllegalArgumentException(t2.toString().toString());
}
long j4 = 0;
int i4 = 0;
while (i4 < length2) {
char charAt = str.charAt(i4);
if (charAt < 128) {
j4++;
} else {
if (charAt < 2048) {
i = 2;
} else if (charAt < 55296 || charAt > 57343) {
i = 3;
} else {
int i5 = i4 + 1;
char charAt2 = i5 < length2 ? str.charAt(i5) : (char) 0;
if (charAt > 56319 || charAt2 < 56320 || charAt2 > 57343) {
j4++;
i4 = i5;
} else {
j4 += 4;
i4 += 2;
}
}
j4 += i;
}
i4++;
}
return length == ((int) j4);
}
/* JADX WARN: Code restructure failed: missing block: B:72:0x013c, code lost:
if (r1 != (-1)) goto L65;
*/
/* JADX WARN: Removed duplicated region for block: B:57:0x0142 A[SYNTHETIC] */
/* JADX WARN: Removed duplicated region for block: B:58:? A[LOOP:1: B:26:0x0081->B:58:?, LOOP_END, SYNTHETIC] */
/*
Code decompiled incorrectly, please refer to instructions dump.
To view partially-correct add '--show-bad-code' argument
*/
public static boolean c(java.lang.String r11, java.security.cert.X509Certificate r12) {
/*
Method dump skipped, instructions count: 324
To view this dump add '--comments-level debug' option
*/
throw new UnsupportedOperationException("Method not decompiled: q3.c.c(java.lang.String, java.security.cert.X509Certificate):boolean");
}
@Override // javax.net.ssl.HostnameVerifier
public final boolean verify(String host, SSLSession session) {
Intrinsics.checkNotNullParameter(host, "host");
Intrinsics.checkNotNullParameter(session, "session");
if (b(host)) {
try {
Certificate certificate = session.getPeerCertificates()[0];
Intrinsics.checkNotNull(certificate, "null cannot be cast to non-null type java.security.cert.X509Certificate");
return c(host, (X509Certificate) certificate);
} catch (SSLException unused) {
return false;
}
}
return false;
}
}

View File

@@ -0,0 +1,8 @@
package q3;
import java.security.cert.X509Certificate;
/* loaded from: classes3.dex */
public interface d {
X509Certificate a(X509Certificate x509Certificate);
}