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,63 @@
package com.google.android.gms.internal.base;
import android.os.IBinder;
import android.os.IInterface;
import android.os.Parcel;
import android.os.RemoteException;
/* loaded from: classes3.dex */
public class zaa implements IInterface {
private final IBinder zaa;
private final String zab;
public zaa(IBinder iBinder, String str) {
this.zaa = iBinder;
this.zab = str;
}
@Override // android.os.IInterface
public final IBinder asBinder() {
return this.zaa;
}
public final Parcel zaa() {
Parcel obtain = Parcel.obtain();
obtain.writeInterfaceToken(this.zab);
return obtain;
}
public final Parcel zab(int i, Parcel parcel) throws RemoteException {
Parcel obtain = Parcel.obtain();
try {
try {
this.zaa.transact(2, parcel, obtain, 0);
obtain.readException();
return obtain;
} catch (RuntimeException e4) {
obtain.recycle();
throw e4;
}
} finally {
parcel.recycle();
}
}
public final void zac(int i, Parcel parcel) throws RemoteException {
Parcel obtain = Parcel.obtain();
try {
this.zaa.transact(i, parcel, obtain, 0);
obtain.readException();
} finally {
parcel.recycle();
obtain.recycle();
}
}
public final void zad(int i, Parcel parcel) throws RemoteException {
try {
this.zaa.transact(1, parcel, null, 1);
} finally {
parcel.recycle();
}
}
}

View File

@@ -0,0 +1,33 @@
package com.google.android.gms.internal.base;
import android.os.Binder;
import android.os.IBinder;
import android.os.IInterface;
import android.os.Parcel;
import android.os.RemoteException;
/* loaded from: classes3.dex */
public class zab extends Binder implements IInterface {
public zab(String str) {
attachInterface(this, str);
}
@Override // android.os.IInterface
public final IBinder asBinder() {
return this;
}
@Override // android.os.Binder
public final boolean onTransact(int i, Parcel parcel, Parcel parcel2, int i4) throws RemoteException {
if (i <= 16777215) {
parcel.enforceInterface(getInterfaceDescriptor());
} else if (super.onTransact(i, parcel, parcel2, i4)) {
return true;
}
return zaa(i, parcel, parcel2, i4);
}
public boolean zaa(int i, Parcel parcel, Parcel parcel2, int i4) throws RemoteException {
throw null;
}
}

View File

@@ -0,0 +1,50 @@
package com.google.android.gms.internal.base;
import android.os.BadParcelableException;
import android.os.IInterface;
import android.os.Parcel;
import android.os.Parcelable;
import com.google.android.gms.measurement.internal.a;
/* loaded from: classes3.dex */
public final class zac {
private static final ClassLoader zaa = zac.class.getClassLoader();
private zac() {
}
public static Parcelable zaa(Parcel parcel, Parcelable.Creator creator) {
if (parcel.readInt() == 0) {
return null;
}
return (Parcelable) creator.createFromParcel(parcel);
}
public static void zab(Parcel parcel) {
int dataAvail = parcel.dataAvail();
if (dataAvail > 0) {
throw new BadParcelableException(a.l(dataAvail, "Parcel data not fully consumed, unread size: "));
}
}
public static void zac(Parcel parcel, boolean z3) {
parcel.writeInt(z3 ? 1 : 0);
}
public static void zad(Parcel parcel, Parcelable parcelable) {
if (parcelable == null) {
parcel.writeInt(0);
} else {
parcel.writeInt(1);
parcelable.writeToParcel(parcel, 0);
}
}
public static void zae(Parcel parcel, IInterface iInterface) {
if (iInterface == null) {
parcel.writeStrongBinder(null);
} else {
parcel.writeStrongBinder(iInterface.asBinder());
}
}
}

View File

@@ -0,0 +1,14 @@
package com.google.android.gms.internal.base;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Inherited
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.SOURCE)
/* loaded from: classes3.dex */
public @interface zad {
}

View File

@@ -0,0 +1,14 @@
package com.google.android.gms.internal.base;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
@Inherited
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.SOURCE)
/* loaded from: classes3.dex */
public @interface zae {
}

View File

@@ -0,0 +1,15 @@
package com.google.android.gms.internal.base;
import com.google.android.gms.common.Feature;
/* loaded from: classes3.dex */
public final class zaf {
public static final Feature zaa;
public static final Feature[] zab;
static {
Feature feature = new Feature("CLIENT_TELEMETRY", 1L);
zaa = feature;
zab = new Feature[]{feature};
}
}

View File

@@ -0,0 +1,22 @@
package com.google.android.gms.internal.base;
import android.graphics.drawable.Drawable;
/* loaded from: classes3.dex */
final class zah extends Drawable.ConstantState {
private zah() {
}
@Override // android.graphics.drawable.Drawable.ConstantState
public final int getChangingConfigurations() {
return 0;
}
@Override // android.graphics.drawable.Drawable.ConstantState
public final Drawable newDrawable() {
return zai.zaa;
}
public /* synthetic */ zah(zag zagVar) {
}
}

View File

@@ -0,0 +1,36 @@
package com.google.android.gms.internal.base;
import android.graphics.Canvas;
import android.graphics.ColorFilter;
import android.graphics.drawable.Drawable;
/* loaded from: classes3.dex */
final class zai extends Drawable {
private static final zai zaa = new zai();
private static final zah zab = new zah(null);
private zai() {
}
@Override // android.graphics.drawable.Drawable
public final void draw(Canvas canvas) {
}
@Override // android.graphics.drawable.Drawable
public final Drawable.ConstantState getConstantState() {
return zab;
}
@Override // android.graphics.drawable.Drawable
public final int getOpacity() {
return -2;
}
@Override // android.graphics.drawable.Drawable
public final void setAlpha(int i) {
}
@Override // android.graphics.drawable.Drawable
public final void setColorFilter(ColorFilter colorFilter) {
}
}

View File

@@ -0,0 +1,26 @@
package com.google.android.gms.internal.base;
import android.graphics.drawable.Drawable;
/* loaded from: classes3.dex */
final class zaj extends Drawable.ConstantState {
int zaa;
int zab;
public zaj(zaj zajVar) {
if (zajVar != null) {
this.zaa = zajVar.zaa;
this.zab = zajVar.zab;
}
}
@Override // android.graphics.drawable.Drawable.ConstantState
public final int getChangingConfigurations() {
return this.zaa;
}
@Override // android.graphics.drawable.Drawable.ConstantState
public final Drawable newDrawable() {
return new zak(this);
}
}

View File

@@ -0,0 +1,263 @@
package com.google.android.gms.internal.base;
import android.graphics.ColorFilter;
import android.graphics.Rect;
import android.graphics.drawable.Drawable;
import kotlin.KotlinVersion;
/* loaded from: classes3.dex */
public final class zak extends Drawable implements Drawable.Callback {
private int zaa;
private long zab;
private int zac;
private int zad;
private int zae;
private int zaf;
private boolean zag;
private boolean zah;
private zaj zai;
private Drawable zaj;
private Drawable zak;
private boolean zal;
private boolean zam;
private boolean zan;
private int zao;
public zak(Drawable drawable, Drawable drawable2) {
this(null);
drawable = drawable == null ? zai.zaa : drawable;
this.zaj = drawable;
drawable.setCallback(this);
zaj zajVar = this.zai;
zajVar.zab = drawable.getChangingConfigurations() | zajVar.zab;
drawable2 = drawable2 == null ? zai.zaa : drawable2;
this.zak = drawable2;
drawable2.setCallback(this);
this.zai.zab |= drawable2.getChangingConfigurations();
}
/* JADX WARN: Code restructure failed: missing block: B:15:0x004d, code lost:
if (r0 == 0) goto L22;
*/
@Override // android.graphics.drawable.Drawable
/*
Code decompiled incorrectly, please refer to instructions dump.
To view partially-correct add '--show-bad-code' argument
*/
public final void draw(android.graphics.Canvas r7) {
/*
r6 = this;
int r0 = r6.zaa
r1 = 2
r2 = 0
r3 = 1
if (r0 == r3) goto L38
if (r0 == r1) goto La
goto L41
La:
long r0 = r6.zab
r4 = 0
int r0 = (r0 > r4 ? 1 : (r0 == r4 ? 0 : -1))
if (r0 < 0) goto L41
long r0 = android.os.SystemClock.uptimeMillis()
long r4 = r6.zab
long r0 = r0 - r4
float r0 = (float) r0
int r1 = r6.zae
float r1 = (float) r1
float r0 = r0 / r1
r1 = 1065353216(0x3f800000, float:1.0)
int r4 = (r0 > r1 ? 1 : (r0 == r1 ? 0 : -1))
if (r4 < 0) goto L25
goto L26
L25:
r3 = r2
L26:
if (r3 == 0) goto L2a
r6.zaa = r2
L2a:
float r0 = java.lang.Math.min(r0, r1)
int r1 = r6.zac
float r1 = (float) r1
float r1 = r1 * r0
r0 = 0
float r1 = r1 + r0
int r0 = (int) r1
r6.zaf = r0
goto L41
L38:
long r3 = android.os.SystemClock.uptimeMillis()
r6.zab = r3
r6.zaa = r1
r3 = r2
L41:
int r0 = r6.zaf
boolean r1 = r6.zag
android.graphics.drawable.Drawable r4 = r6.zaj
android.graphics.drawable.Drawable r5 = r6.zak
if (r3 == 0) goto L60
if (r1 == 0) goto L50
if (r0 != 0) goto L55
goto L51
L50:
r2 = r0
L51:
r4.draw(r7)
r0 = r2
L55:
int r6 = r6.zad
if (r0 != r6) goto L5f
r5.setAlpha(r6)
r5.draw(r7)
L5f:
return
L60:
if (r1 == 0) goto L68
int r2 = r6.zad
int r2 = r2 - r0
r4.setAlpha(r2)
L68:
r4.draw(r7)
if (r1 == 0) goto L72
int r1 = r6.zad
r4.setAlpha(r1)
L72:
if (r0 <= 0) goto L7f
r5.setAlpha(r0)
r5.draw(r7)
int r7 = r6.zad
r5.setAlpha(r7)
L7f:
r6.invalidateSelf()
return
*/
throw new UnsupportedOperationException("Method not decompiled: com.google.android.gms.internal.base.zak.draw(android.graphics.Canvas):void");
}
@Override // android.graphics.drawable.Drawable
public final int getChangingConfigurations() {
int changingConfigurations = super.getChangingConfigurations();
zaj zajVar = this.zai;
return zajVar.zab | changingConfigurations | zajVar.zaa;
}
@Override // android.graphics.drawable.Drawable
public final Drawable.ConstantState getConstantState() {
if (!zac()) {
return null;
}
this.zai.zaa = getChangingConfigurations();
return this.zai;
}
@Override // android.graphics.drawable.Drawable
public final int getIntrinsicHeight() {
return Math.max(this.zaj.getIntrinsicHeight(), this.zak.getIntrinsicHeight());
}
@Override // android.graphics.drawable.Drawable
public final int getIntrinsicWidth() {
return Math.max(this.zaj.getIntrinsicWidth(), this.zak.getIntrinsicWidth());
}
@Override // android.graphics.drawable.Drawable
public final int getOpacity() {
if (!this.zan) {
this.zao = Drawable.resolveOpacity(this.zaj.getOpacity(), this.zak.getOpacity());
this.zan = true;
}
return this.zao;
}
@Override // android.graphics.drawable.Drawable.Callback
public final void invalidateDrawable(Drawable drawable) {
Drawable.Callback callback = getCallback();
if (callback != null) {
callback.invalidateDrawable(this);
}
}
@Override // android.graphics.drawable.Drawable
public final Drawable mutate() {
if (this.zah || super.mutate() != this) {
return this;
}
if (!zac()) {
throw new IllegalStateException("One or more children of this LayerDrawable does not have constant state; this drawable cannot be mutated.");
}
this.zaj.mutate();
this.zak.mutate();
this.zah = true;
return this;
}
@Override // android.graphics.drawable.Drawable
public final void onBoundsChange(Rect rect) {
this.zaj.setBounds(rect);
this.zak.setBounds(rect);
}
@Override // android.graphics.drawable.Drawable.Callback
public final void scheduleDrawable(Drawable drawable, Runnable runnable, long j4) {
Drawable.Callback callback = getCallback();
if (callback != null) {
callback.scheduleDrawable(this, runnable, j4);
}
}
@Override // android.graphics.drawable.Drawable
public final void setAlpha(int i) {
if (this.zaf == this.zad) {
this.zaf = i;
}
this.zad = i;
invalidateSelf();
}
@Override // android.graphics.drawable.Drawable
public final void setColorFilter(ColorFilter colorFilter) {
this.zaj.setColorFilter(colorFilter);
this.zak.setColorFilter(colorFilter);
}
@Override // android.graphics.drawable.Drawable.Callback
public final void unscheduleDrawable(Drawable drawable, Runnable runnable) {
Drawable.Callback callback = getCallback();
if (callback != null) {
callback.unscheduleDrawable(this, runnable);
}
}
public final Drawable zaa() {
return this.zak;
}
public final void zab(int i) {
this.zac = this.zad;
this.zaf = 0;
this.zae = 250;
this.zaa = 1;
invalidateSelf();
}
public final boolean zac() {
if (!this.zal) {
boolean z3 = false;
if (this.zaj.getConstantState() != null && this.zak.getConstantState() != null) {
z3 = true;
}
this.zam = z3;
this.zal = true;
}
return this.zam;
}
public zak(zaj zajVar) {
this.zaa = 0;
this.zad = KotlinVersion.MAX_COMPONENT_VALUE;
this.zaf = 0;
this.zag = true;
this.zai = new zaj(zajVar);
}
}

View File

@@ -0,0 +1,17 @@
package com.google.android.gms.internal.base;
import android.graphics.Canvas;
import android.widget.ImageView;
/* loaded from: classes3.dex */
public final class zal extends ImageView {
@Override // android.widget.ImageView, android.view.View
public final void onDraw(Canvas canvas) {
throw null;
}
@Override // android.widget.ImageView, android.view.View
public final void onMeasure(int i, int i4) {
throw null;
}
}

View File

@@ -0,0 +1,10 @@
package com.google.android.gms.internal.base;
import s.i;
/* loaded from: classes3.dex */
public final class zam extends i {
public zam() {
super(10);
}
}

View File

@@ -0,0 +1,10 @@
package com.google.android.gms.internal.base;
import android.os.Build;
/* loaded from: classes3.dex */
final class zan {
public static boolean zaa() {
return Build.VERSION.SDK_INT >= 33 || Build.VERSION.CODENAME.charAt(0) == 'T';
}
}

View File

@@ -0,0 +1,18 @@
package com.google.android.gms.internal.base;
import D.h;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
/* loaded from: classes3.dex */
public final class zao extends h {
@Deprecated
public static Intent zaa(Context context, BroadcastReceiver broadcastReceiver, IntentFilter intentFilter) {
if (zan.zaa()) {
return context.registerReceiver(broadcastReceiver, intentFilter, true != zan.zaa() ? 0 : 2);
}
return context.registerReceiver(broadcastReceiver, intentFilter);
}
}

View File

@@ -0,0 +1,12 @@
package com.google.android.gms.internal.base;
import android.os.Build;
/* loaded from: classes3.dex */
public final class zap {
public static final int zaa;
static {
zaa = Build.VERSION.SDK_INT >= 31 ? 33554432 : 0;
}
}

View File

@@ -0,0 +1,13 @@
package com.google.android.gms.internal.base;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.ThreadFactory;
/* loaded from: classes3.dex */
public interface zaq {
ExecutorService zaa(ThreadFactory threadFactory, int i);
ExecutorService zab(int i, int i4);
ExecutorService zac(int i, ThreadFactory threadFactory, int i4);
}

View File

@@ -0,0 +1,34 @@
package com.google.android.gms.internal.base;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadFactory;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
/* loaded from: classes3.dex */
final class zas implements zaq {
private zas() {
}
@Override // com.google.android.gms.internal.base.zaq
public final ExecutorService zaa(ThreadFactory threadFactory, int i) {
return zac(1, threadFactory, 1);
}
@Override // com.google.android.gms.internal.base.zaq
public final ExecutorService zab(int i, int i4) {
return zac(4, Executors.defaultThreadFactory(), 2);
}
@Override // com.google.android.gms.internal.base.zaq
public final ExecutorService zac(int i, ThreadFactory threadFactory, int i4) {
ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(i, i, 60L, TimeUnit.SECONDS, new LinkedBlockingQueue(), threadFactory);
threadPoolExecutor.allowCoreThreadTimeOut(true);
return Executors.unconfigurableExecutorService(threadPoolExecutor);
}
public /* synthetic */ zas(zar zarVar) {
}
}

View File

@@ -0,0 +1,17 @@
package com.google.android.gms.internal.base;
/* loaded from: classes3.dex */
public final class zat {
private static final zaq zaa;
private static volatile zaq zab;
static {
zas zasVar = new zas(null);
zaa = zasVar;
zab = zasVar;
}
public static zaq zaa() {
return zab;
}
}

View File

@@ -0,0 +1,18 @@
package com.google.android.gms.internal.base;
import android.os.Handler;
import android.os.Looper;
/* loaded from: classes3.dex */
public class zau extends Handler {
public zau() {
}
public zau(Looper looper) {
super(looper);
}
public zau(Looper looper, Handler.Callback callback) {
super(looper, callback);
}
}

View File

@@ -0,0 +1,15 @@
package com.google.android.gms.internal.base;
import com.google.android.gms.common.Feature;
/* loaded from: classes3.dex */
public final class zav {
public static final Feature zaa;
public static final Feature[] zab;
static {
Feature feature = new Feature("moduleinstall", 7L);
zaa = feature;
zab = new Feature[]{feature};
}
}