Primer paso de la investigacion. Se aportan el .apk, las carpetas con el apk extraido y el apk descompilado. El archivo API_DOCUMENTATION.md es un archivo donde se anotaran los descubrimientos del funcionamiento de la API, y los .py son scripts para probar la funcionalidad de la API con los métodos que vayamos encontrando. Finalmente, los archivos .js son scripts de Frida para extraer informacion de la APP durante la ejecucion.

This commit is contained in:
2025-12-04 13:59:54 +01:00
parent f2fd1c3bf5
commit e0133d2ca2
10432 changed files with 1019085 additions and 1 deletions

View File

@@ -0,0 +1,187 @@
package o;
import java.util.Iterator;
import java.util.Map;
import java.util.WeakHashMap;
/* renamed from: o.f, reason: case insensitive filesystem */
/* loaded from: classes.dex */
public class C0520f implements Iterable {
/* renamed from: a, reason: collision with root package name */
public C0517c f7894a;
/* renamed from: b, reason: collision with root package name */
public C0517c f7895b;
/* renamed from: c, reason: collision with root package name */
public final WeakHashMap f7896c = new WeakHashMap();
/* renamed from: d, reason: collision with root package name */
public int f7897d = 0;
public C0517c a(Object obj) {
C0517c c0517c = this.f7894a;
while (c0517c != null && !c0517c.f7887a.equals(obj)) {
c0517c = c0517c.f7889c;
}
return c0517c;
}
public Object b(Object obj, Object obj2) {
C0517c a2 = a(obj);
if (a2 != null) {
return a2.f7888b;
}
C0517c c0517c = new C0517c(obj, obj2);
this.f7897d++;
C0517c c0517c2 = this.f7895b;
if (c0517c2 == null) {
this.f7894a = c0517c;
this.f7895b = c0517c;
return null;
}
c0517c2.f7889c = c0517c;
c0517c.f7890d = c0517c2;
this.f7895b = c0517c;
return null;
}
public Object c(Object obj) {
C0517c a2 = a(obj);
if (a2 == null) {
return null;
}
this.f7897d--;
WeakHashMap weakHashMap = this.f7896c;
if (!weakHashMap.isEmpty()) {
Iterator it = weakHashMap.keySet().iterator();
while (it.hasNext()) {
((AbstractC0519e) it.next()).a(a2);
}
}
C0517c c0517c = a2.f7890d;
if (c0517c != null) {
c0517c.f7889c = a2.f7889c;
} else {
this.f7894a = a2.f7889c;
}
C0517c c0517c2 = a2.f7889c;
if (c0517c2 != null) {
c0517c2.f7890d = c0517c;
} else {
this.f7895b = c0517c;
}
a2.f7889c = null;
a2.f7890d = null;
return a2.f7888b;
}
/* JADX WARN: Code restructure failed: missing block: B:31:0x0048, code lost:
if (r1.hasNext() != false) goto L28;
*/
/* JADX WARN: Code restructure failed: missing block: B:33:0x0050, code lost:
if (((o.C0516b) r6).hasNext() != false) goto L28;
*/
/* JADX WARN: Code restructure failed: missing block: B:34:0x0052, code lost:
return true;
*/
/* JADX WARN: Code restructure failed: missing block: B:35:0x0053, code lost:
return false;
*/
/*
Code decompiled incorrectly, please refer to instructions dump.
To view partially-correct add '--show-bad-code' argument
*/
public final boolean equals(java.lang.Object r6) {
/*
r5 = this;
r0 = 1
if (r6 != r5) goto L4
return r0
L4:
boolean r1 = r6 instanceof o.C0520f
r2 = 0
if (r1 != 0) goto La
return r2
La:
o.f r6 = (o.C0520f) r6
int r1 = r5.f7897d
int r3 = r6.f7897d
if (r1 == r3) goto L13
return r2
L13:
java.util.Iterator r5 = r5.iterator()
java.util.Iterator r6 = r6.iterator()
L1b:
r1 = r5
o.b r1 = (o.C0516b) r1
boolean r3 = r1.hasNext()
if (r3 == 0) goto L44
r3 = r6
o.b r3 = (o.C0516b) r3
boolean r4 = r3.hasNext()
if (r4 == 0) goto L44
java.lang.Object r1 = r1.next()
java.util.Map$Entry r1 = (java.util.Map.Entry) r1
java.lang.Object r3 = r3.next()
if (r1 != 0) goto L3b
if (r3 != 0) goto L43
L3b:
if (r1 == 0) goto L1b
boolean r1 = r1.equals(r3)
if (r1 != 0) goto L1b
L43:
return r2
L44:
boolean r5 = r1.hasNext()
if (r5 != 0) goto L53
o.b r6 = (o.C0516b) r6
boolean r5 = r6.hasNext()
if (r5 != 0) goto L53
return r0
L53:
return r2
*/
throw new UnsupportedOperationException("Method not decompiled: o.C0520f.equals(java.lang.Object):boolean");
}
public final int hashCode() {
Iterator it = iterator();
int i = 0;
while (true) {
C0516b c0516b = (C0516b) it;
if (!c0516b.hasNext()) {
return i;
}
i += ((Map.Entry) c0516b.next()).hashCode();
}
}
@Override // java.lang.Iterable
public final Iterator iterator() {
C0516b c0516b = new C0516b(this.f7894a, this.f7895b, 0);
this.f7896c.put(c0516b, Boolean.FALSE);
return c0516b;
}
public final String toString() {
StringBuilder sb = new StringBuilder("[");
Iterator it = iterator();
while (true) {
C0516b c0516b = (C0516b) it;
if (!c0516b.hasNext()) {
sb.append("]");
return sb.toString();
}
sb.append(((Map.Entry) c0516b.next()).toString());
if (c0516b.hasNext()) {
sb.append(", ");
}
}
}
}