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,28 @@
package c0;
import R0.h;
import java.util.ArrayList;
import s.j;
/* renamed from: c0.b, reason: case insensitive filesystem */
/* loaded from: classes.dex */
public final class C0276b {
/* renamed from: f, reason: collision with root package name */
public static final ThreadLocal f4200f = new ThreadLocal();
/* renamed from: d, reason: collision with root package name */
public h f4204d;
/* renamed from: a, reason: collision with root package name */
public final j f4201a = new j(0);
/* renamed from: b, reason: collision with root package name */
public final ArrayList f4202b = new ArrayList();
/* renamed from: c, reason: collision with root package name */
public final A.a f4203c = new A.a(this, 22);
/* renamed from: e, reason: collision with root package name */
public boolean f4205e = false;
}

View File

@@ -0,0 +1,12 @@
package c0;
/* renamed from: c0.c, reason: case insensitive filesystem */
/* loaded from: classes.dex */
public final class C0277c {
/* renamed from: a, reason: collision with root package name */
public float f4206a;
/* renamed from: b, reason: collision with root package name */
public float f4207b;
}

View File

@@ -0,0 +1,9 @@
package c0;
/* renamed from: c0.d, reason: case insensitive filesystem */
/* loaded from: classes.dex */
public final class C0278d {
/* renamed from: a, reason: collision with root package name */
public float f4208a;
}

View File

@@ -0,0 +1,135 @@
package c0;
import B0.D;
import B0.u;
import R0.h;
import android.os.Looper;
import android.util.AndroidRuntimeException;
import android.view.Choreographer;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
import java.util.ArrayList;
/* renamed from: c0.e, reason: case insensitive filesystem */
/* loaded from: classes.dex */
public final class C0279e {
/* renamed from: d, reason: collision with root package name */
public final A.a f4212d;
/* renamed from: a, reason: collision with root package name */
public float f4209a = BitmapDescriptorFactory.HUE_RED;
/* renamed from: b, reason: collision with root package name */
public float f4210b = Float.MAX_VALUE;
/* renamed from: c, reason: collision with root package name */
public boolean f4211c = false;
/* renamed from: e, reason: collision with root package name */
public boolean f4213e = false;
/* renamed from: f, reason: collision with root package name */
public float f4214f = Float.MAX_VALUE;
/* renamed from: g, reason: collision with root package name */
public float f4215g = -3.4028235E38f;
public long h = 0;
/* renamed from: j, reason: collision with root package name */
public final ArrayList f4216j = new ArrayList();
/* renamed from: k, reason: collision with root package name */
public final ArrayList f4217k = new ArrayList();
public float i = 1.0f;
/* renamed from: l, reason: collision with root package name */
public C0280f f4218l = null;
/* renamed from: m, reason: collision with root package name */
public float f4219m = Float.MAX_VALUE;
public C0279e(C0278d c0278d) {
this.f4212d = new A.a(c0278d, 23);
}
public final void a(float f2) {
if (this.f4213e) {
this.f4219m = f2;
return;
}
if (this.f4218l == null) {
this.f4218l = new C0280f(f2);
}
C0280f c0280f = this.f4218l;
double d4 = f2;
c0280f.i = d4;
double d5 = (float) d4;
if (d5 > this.f4214f) {
throw new UnsupportedOperationException("Final position of the spring cannot be greater than the max value.");
}
if (d5 < this.f4215g) {
throw new UnsupportedOperationException("Final position of the spring cannot be less than the min value.");
}
double abs = Math.abs(this.i * 0.75f);
c0280f.f4223d = abs;
c0280f.f4224e = abs * 62.5d;
if (Looper.myLooper() != Looper.getMainLooper()) {
throw new AndroidRuntimeException("Animations may only be started on the main thread");
}
boolean z3 = this.f4213e;
if (z3 || z3) {
return;
}
this.f4213e = true;
if (!this.f4211c) {
this.f4210b = ((C0278d) this.f4212d.f7b).f4208a;
}
float f4 = this.f4210b;
if (f4 > this.f4214f || f4 < this.f4215g) {
throw new IllegalArgumentException("Starting value need to be in between min value and max value");
}
ThreadLocal threadLocal = C0276b.f4200f;
if (threadLocal.get() == null) {
threadLocal.set(new C0276b());
}
C0276b c0276b = (C0276b) threadLocal.get();
ArrayList arrayList = c0276b.f4202b;
if (arrayList.size() == 0) {
if (c0276b.f4204d == null) {
c0276b.f4204d = new h(c0276b.f4203c);
}
h hVar = c0276b.f4204d;
((Choreographer) hVar.f1414b).postFrameCallback((ChoreographerFrameCallbackC0275a) hVar.f1415c);
}
if (arrayList.contains(this)) {
return;
}
arrayList.add(this);
}
public final void b(float f2) {
ArrayList arrayList;
((C0278d) this.f4212d.f7b).f4208a = f2;
int i = 0;
while (true) {
arrayList = this.f4217k;
if (i >= arrayList.size()) {
break;
}
if (arrayList.get(i) != null) {
u uVar = (u) arrayList.get(i);
float f4 = this.f4210b;
D d4 = uVar.f172g;
long max = Math.max(-1L, Math.min(d4.f203x + 1, Math.round(f4)));
d4.E(max, uVar.f166a);
uVar.f166a = max;
}
i++;
}
for (int size = arrayList.size() - 1; size >= 0; size--) {
if (arrayList.get(size) == null) {
arrayList.remove(size);
}
}
}
}

View File

@@ -0,0 +1,113 @@
package c0;
import com.google.firebase.remoteconfig.FirebaseRemoteConfig;
/* renamed from: c0.f, reason: case insensitive filesystem */
/* loaded from: classes.dex */
public final class C0280f {
/* renamed from: a, reason: collision with root package name */
public double f4220a;
/* renamed from: b, reason: collision with root package name */
public double f4221b;
/* renamed from: c, reason: collision with root package name */
public boolean f4222c;
/* renamed from: d, reason: collision with root package name */
public double f4223d;
/* renamed from: e, reason: collision with root package name */
public double f4224e;
/* renamed from: f, reason: collision with root package name */
public double f4225f;
/* renamed from: g, reason: collision with root package name */
public double f4226g;
public double h;
public double i;
/* renamed from: j, reason: collision with root package name */
public final C0277c f4227j;
/* JADX WARN: Type inference failed for: r0v5, types: [java.lang.Object, c0.c] */
public C0280f() {
this.f4220a = Math.sqrt(1500.0d);
this.f4221b = 0.5d;
this.f4222c = false;
this.i = Double.MAX_VALUE;
this.f4227j = new Object();
}
public final C0277c a(double d4, double d5, long j4) {
double sin;
double cos;
if (!this.f4222c) {
if (this.i == Double.MAX_VALUE) {
throw new IllegalStateException("Error: Final position of the spring must be set before the animation starts");
}
double d6 = this.f4221b;
if (d6 > 1.0d) {
double d7 = this.f4220a;
this.f4225f = (Math.sqrt((d6 * d6) - 1.0d) * d7) + ((-d6) * d7);
double d8 = this.f4221b;
double d9 = this.f4220a;
this.f4226g = ((-d8) * d9) - (Math.sqrt((d8 * d8) - 1.0d) * d9);
} else if (d6 >= FirebaseRemoteConfig.DEFAULT_VALUE_FOR_DOUBLE && d6 < 1.0d) {
this.h = Math.sqrt(1.0d - (d6 * d6)) * this.f4220a;
}
this.f4222c = true;
}
double d10 = j4 / 1000.0d;
double d11 = d4 - this.i;
double d12 = this.f4221b;
if (d12 > 1.0d) {
double d13 = this.f4226g;
double d14 = ((d13 * d11) - d5) / (d13 - this.f4225f);
double d15 = d11 - d14;
sin = (Math.pow(2.718281828459045d, this.f4225f * d10) * d14) + (Math.pow(2.718281828459045d, d13 * d10) * d15);
double d16 = this.f4226g;
double pow = Math.pow(2.718281828459045d, d16 * d10) * d15 * d16;
double d17 = this.f4225f;
cos = (Math.pow(2.718281828459045d, d17 * d10) * d14 * d17) + pow;
} else if (d12 == 1.0d) {
double d18 = this.f4220a;
double d19 = (d18 * d11) + d5;
double d20 = (d19 * d10) + d11;
double pow2 = Math.pow(2.718281828459045d, (-d18) * d10) * d20;
double pow3 = Math.pow(2.718281828459045d, (-this.f4220a) * d10) * d20;
double d21 = -this.f4220a;
cos = (Math.pow(2.718281828459045d, d21 * d10) * d19) + (pow3 * d21);
sin = pow2;
} else {
double d22 = 1.0d / this.h;
double d23 = this.f4220a;
double d24 = ((d12 * d23 * d11) + d5) * d22;
sin = ((Math.sin(this.h * d10) * d24) + (Math.cos(this.h * d10) * d11)) * Math.pow(2.718281828459045d, (-d12) * d23 * d10);
double d25 = this.f4220a;
double d26 = this.f4221b;
double d27 = (-d25) * sin * d26;
double pow4 = Math.pow(2.718281828459045d, (-d26) * d25 * d10);
double d28 = this.h;
double sin2 = Math.sin(d28 * d10) * (-d28) * d11;
double d29 = this.h;
cos = (((Math.cos(d29 * d10) * d24 * d29) + sin2) * pow4) + d27;
}
float f2 = (float) (sin + this.i);
C0277c c0277c = this.f4227j;
c0277c.f4206a = f2;
c0277c.f4207b = (float) cos;
return c0277c;
}
/* JADX WARN: Type inference failed for: r0v4, types: [java.lang.Object, c0.c] */
public C0280f(float f2) {
this.f4220a = Math.sqrt(1500.0d);
this.f4221b = 0.5d;
this.f4222c = false;
this.f4227j = new Object();
this.i = f2;
}
}

View File

@@ -0,0 +1,201 @@
package c0;
import B0.t;
import B0.u;
import B0.w;
import B0.x;
import R0.h;
import android.os.SystemClock;
import android.view.Choreographer;
import androidx.fragment.app.RunnableC0141d;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
import java.util.ArrayList;
import s.j;
/* renamed from: c0.a, reason: case insensitive filesystem */
/* loaded from: classes.dex */
public final class ChoreographerFrameCallbackC0275a implements Choreographer.FrameCallback {
/* renamed from: a, reason: collision with root package name */
public final /* synthetic */ h f4199a;
public ChoreographerFrameCallbackC0275a(h hVar) {
this.f4199a = hVar;
}
/* JADX WARN: Multi-variable type inference failed */
/* JADX WARN: Type inference failed for: r14v2, types: [B0.x, B0.D] */
/* JADX WARN: Type inference failed for: r5v2, types: [int] */
/* JADX WARN: Type inference failed for: r5v3 */
/* JADX WARN: Type inference failed for: r5v8 */
@Override // android.view.Choreographer.FrameCallback
public final void doFrame(long j4) {
ArrayList arrayList;
boolean z3;
ArrayList arrayList2;
long j5;
long j6;
int i;
A.a aVar = (A.a) this.f4199a.f1413a;
aVar.getClass();
long uptimeMillis = SystemClock.uptimeMillis();
C0276b c0276b = (C0276b) aVar.f7b;
c0276b.getClass();
long uptimeMillis2 = SystemClock.uptimeMillis();
boolean z4 = false;
int i4 = 0;
while (true) {
arrayList = c0276b.f4202b;
int i5 = 1;
if (i4 >= arrayList.size()) {
break;
}
C0279e c0279e = (C0279e) arrayList.get(i4);
if (c0279e != null) {
j jVar = c0276b.f4201a;
Long l4 = (Long) jVar.get(c0279e);
if (l4 != null) {
if (l4.longValue() < uptimeMillis2) {
jVar.remove(c0279e);
}
}
long j7 = c0279e.h;
if (j7 == 0) {
c0279e.h = uptimeMillis;
c0279e.b(c0279e.f4210b);
} else {
long j8 = uptimeMillis - j7;
c0279e.h = uptimeMillis;
if (c0279e.f4219m != Float.MAX_VALUE) {
C0280f c0280f = c0279e.f4218l;
double d4 = c0280f.i;
long j9 = j8 / 2;
C0277c a2 = c0280f.a(c0279e.f4210b, c0279e.f4209a, j9);
C0280f c0280f2 = c0279e.f4218l;
c0280f2.i = c0279e.f4219m;
c0279e.f4219m = Float.MAX_VALUE;
C0277c a4 = c0280f2.a(a2.f4206a, a2.f4207b, j9);
c0279e.f4210b = a4.f4206a;
c0279e.f4209a = a4.f4207b;
} else {
C0277c a5 = c0279e.f4218l.a(c0279e.f4210b, c0279e.f4209a, j8);
c0279e.f4210b = a5.f4206a;
c0279e.f4209a = a5.f4207b;
}
float max = Math.max(c0279e.f4210b, c0279e.f4215g);
c0279e.f4210b = max;
c0279e.f4210b = Math.min(max, c0279e.f4214f);
float f2 = c0279e.f4209a;
C0280f c0280f3 = c0279e.f4218l;
c0280f3.getClass();
if (Math.abs(f2) >= c0280f3.f4224e || Math.abs(r8 - ((float) c0280f3.i)) >= c0280f3.f4223d) {
z3 = z4 ? 1 : 0;
} else {
c0279e.f4210b = (float) c0279e.f4218l.i;
c0279e.f4209a = BitmapDescriptorFactory.HUE_RED;
z3 = true;
}
float min = Math.min(c0279e.f4210b, c0279e.f4214f);
c0279e.f4210b = min;
float max2 = Math.max(min, c0279e.f4215g);
c0279e.f4210b = max2;
c0279e.b(max2);
if (z3) {
c0279e.f4213e = z4;
ThreadLocal threadLocal = C0276b.f4200f;
if (threadLocal.get() == null) {
threadLocal.set(new C0276b());
}
C0276b c0276b2 = (C0276b) threadLocal.get();
c0276b2.f4201a.remove(c0279e);
ArrayList arrayList3 = c0276b2.f4202b;
int indexOf = arrayList3.indexOf(c0279e);
x xVar = null;
if (indexOf >= 0) {
arrayList3.set(indexOf, null);
c0276b2.f4205e = true;
}
c0279e.h = 0L;
c0279e.f4211c = z4;
int i6 = z4 ? 1 : 0;
boolean z5 = z4;
while (true) {
arrayList2 = c0279e.f4216j;
if (i6 >= arrayList2.size()) {
break;
}
if (arrayList2.get(i6) != null) {
t tVar = (t) arrayList2.get(i6);
float f4 = c0279e.f4210b;
u uVar = tVar.f165a;
w wVar = w.f174c;
?? r14 = uVar.f172g;
if (f4 < 1.0f) {
long j10 = r14.f203x;
x O2 = r14.O(z5);
x xVar2 = O2.f198s;
O2.f198s = xVar;
j6 = uptimeMillis;
r14.E(-1L, uVar.f166a);
r14.E(j10, -1L);
uVar.f166a = j10;
RunnableC0141d runnableC0141d = uVar.f171f;
if (runnableC0141d != null) {
runnableC0141d.run();
}
r14.f200u.clear();
if (xVar2 != null) {
i = 1;
xVar2.x(xVar2, wVar, true);
} else {
i = 1;
}
} else {
j6 = uptimeMillis;
i = i5;
r14.x(r14, wVar, z5);
}
} else {
j6 = uptimeMillis;
i = i5;
}
i6++;
i5 = i;
uptimeMillis = j6;
z5 = 0;
xVar = null;
}
j5 = uptimeMillis;
for (int size = arrayList2.size() - i5; size >= 0; size--) {
if (arrayList2.get(size) == null) {
arrayList2.remove(size);
}
}
i4++;
uptimeMillis = j5;
z4 = false;
}
}
}
j5 = uptimeMillis;
i4++;
uptimeMillis = j5;
z4 = false;
}
if (c0276b.f4205e) {
for (int size2 = arrayList.size() - 1; size2 >= 0; size2--) {
if (arrayList.get(size2) == null) {
arrayList.remove(size2);
}
}
c0276b.f4205e = false;
}
if (arrayList.size() > 0) {
if (c0276b.f4204d == null) {
c0276b.f4204d = new h(c0276b.f4203c);
}
h hVar = c0276b.f4204d;
((Choreographer) hVar.f1414b).postFrameCallback((ChoreographerFrameCallbackC0275a) hVar.f1415c);
}
}
}