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,7 @@
package o;
/* renamed from: o.e, reason: case insensitive filesystem */
/* loaded from: classes.dex */
public abstract class AbstractC0519e {
public abstract void a(C0517c c0517c);
}

View File

@@ -0,0 +1,45 @@
package o;
import java.util.HashMap;
/* renamed from: o.a, reason: case insensitive filesystem */
/* loaded from: classes.dex */
public final class C0515a extends C0520f {
/* renamed from: e, reason: collision with root package name */
public final HashMap f7883e = new HashMap();
@Override // o.C0520f
public final C0517c a(Object obj) {
return (C0517c) this.f7883e.get(obj);
}
@Override // o.C0520f
public final Object b(Object obj, Object obj2) {
C0517c a2 = a(obj);
if (a2 != null) {
return a2.f7888b;
}
HashMap hashMap = this.f7883e;
C0517c c0517c = new C0517c(obj, obj2);
this.f7897d++;
C0517c c0517c2 = this.f7895b;
if (c0517c2 == null) {
this.f7894a = c0517c;
this.f7895b = c0517c;
} else {
c0517c2.f7889c = c0517c;
c0517c.f7890d = c0517c2;
this.f7895b = c0517c;
}
hashMap.put(obj, c0517c);
return null;
}
@Override // o.C0520f
public final Object c(Object obj) {
Object c4 = super.c(obj);
this.f7883e.remove(obj);
return c4;
}
}

View File

@@ -0,0 +1,75 @@
package o;
import java.util.Iterator;
/* renamed from: o.b, reason: case insensitive filesystem */
/* loaded from: classes.dex */
public final class C0516b extends AbstractC0519e implements Iterator {
/* renamed from: a, reason: collision with root package name */
public C0517c f7884a;
/* renamed from: b, reason: collision with root package name */
public C0517c f7885b;
/* renamed from: c, reason: collision with root package name */
public final /* synthetic */ int f7886c;
public C0516b(C0517c c0517c, C0517c c0517c2, int i) {
this.f7886c = i;
this.f7884a = c0517c2;
this.f7885b = c0517c;
}
@Override // o.AbstractC0519e
public final void a(C0517c c0517c) {
C0517c c0517c2;
C0517c c0517c3 = null;
if (this.f7884a == c0517c && c0517c == this.f7885b) {
this.f7885b = null;
this.f7884a = null;
}
C0517c c0517c4 = this.f7884a;
if (c0517c4 == c0517c) {
switch (this.f7886c) {
case 0:
c0517c2 = c0517c4.f7890d;
break;
default:
c0517c2 = c0517c4.f7889c;
break;
}
this.f7884a = c0517c2;
}
C0517c c0517c5 = this.f7885b;
if (c0517c5 == c0517c) {
C0517c c0517c6 = this.f7884a;
if (c0517c5 != c0517c6 && c0517c6 != null) {
c0517c3 = b(c0517c5);
}
this.f7885b = c0517c3;
}
}
public final C0517c b(C0517c c0517c) {
switch (this.f7886c) {
case 0:
return c0517c.f7889c;
default:
return c0517c.f7890d;
}
}
@Override // java.util.Iterator
public final boolean hasNext() {
return this.f7885b != null;
}
@Override // java.util.Iterator
public final Object next() {
C0517c c0517c = this.f7885b;
C0517c c0517c2 = this.f7884a;
this.f7885b = (c0517c == c0517c2 || c0517c2 == null) ? null : b(c0517c);
return c0517c;
}
}

View File

@@ -0,0 +1,61 @@
package o;
import java.util.Map;
/* renamed from: o.c, reason: case insensitive filesystem */
/* loaded from: classes.dex */
public final class C0517c implements Map.Entry {
/* renamed from: a, reason: collision with root package name */
public final Object f7887a;
/* renamed from: b, reason: collision with root package name */
public final Object f7888b;
/* renamed from: c, reason: collision with root package name */
public C0517c f7889c;
/* renamed from: d, reason: collision with root package name */
public C0517c f7890d;
public C0517c(Object obj, Object obj2) {
this.f7887a = obj;
this.f7888b = obj2;
}
@Override // java.util.Map.Entry
public final boolean equals(Object obj) {
if (obj == this) {
return true;
}
if (!(obj instanceof C0517c)) {
return false;
}
C0517c c0517c = (C0517c) obj;
return this.f7887a.equals(c0517c.f7887a) && this.f7888b.equals(c0517c.f7888b);
}
@Override // java.util.Map.Entry
public final Object getKey() {
return this.f7887a;
}
@Override // java.util.Map.Entry
public final Object getValue() {
return this.f7888b;
}
@Override // java.util.Map.Entry
public final int hashCode() {
return this.f7888b.hashCode() ^ this.f7887a.hashCode();
}
@Override // java.util.Map.Entry
public final Object setValue(Object obj) {
throw new UnsupportedOperationException("An entry modification is not supported");
}
public final String toString() {
return this.f7887a + "=" + this.f7888b;
}
}

View File

@@ -0,0 +1,52 @@
package o;
import java.util.Iterator;
/* renamed from: o.d, reason: case insensitive filesystem */
/* loaded from: classes.dex */
public final class C0518d extends AbstractC0519e implements Iterator {
/* renamed from: a, reason: collision with root package name */
public C0517c f7891a;
/* renamed from: b, reason: collision with root package name */
public boolean f7892b = true;
/* renamed from: c, reason: collision with root package name */
public final /* synthetic */ C0520f f7893c;
public C0518d(C0520f c0520f) {
this.f7893c = c0520f;
}
@Override // o.AbstractC0519e
public final void a(C0517c c0517c) {
C0517c c0517c2 = this.f7891a;
if (c0517c == c0517c2) {
C0517c c0517c3 = c0517c2.f7890d;
this.f7891a = c0517c3;
this.f7892b = c0517c3 == null;
}
}
@Override // java.util.Iterator
public final boolean hasNext() {
if (this.f7892b) {
return this.f7893c.f7894a != null;
}
C0517c c0517c = this.f7891a;
return (c0517c == null || c0517c.f7889c == null) ? false : true;
}
@Override // java.util.Iterator
public final Object next() {
if (this.f7892b) {
this.f7892b = false;
this.f7891a = this.f7893c.f7894a;
} else {
C0517c c0517c = this.f7891a;
this.f7891a = c0517c != null ? c0517c.f7889c : null;
}
return this.f7891a;
}
}

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(", ");
}
}
}
}