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,327 @@
package com.google.android.gms.tasks;
import android.app.Activity;
import com.google.android.gms.common.internal.Preconditions;
import java.util.concurrent.CancellationException;
import java.util.concurrent.Executor;
/* JADX INFO: Access modifiers changed from: package-private */
/* loaded from: classes3.dex */
public final class zzw<TResult> extends Task<TResult> {
private final Object zza = new Object();
private final zzr zzb = new zzr();
private boolean zzc;
private volatile boolean zzd;
private Object zze;
private Exception zzf;
private final void zzf() {
Preconditions.checkState(this.zzc, "Task is not yet complete");
}
private final void zzg() {
if (this.zzd) {
throw new CancellationException("Task is already canceled.");
}
}
private final void zzh() {
if (this.zzc) {
throw DuplicateTaskCompletionException.of(this);
}
}
private final void zzi() {
synchronized (this.zza) {
try {
if (this.zzc) {
this.zzb.zzb(this);
}
} catch (Throwable th) {
throw th;
}
}
}
@Override // com.google.android.gms.tasks.Task
public final Task<TResult> addOnCanceledListener(Activity activity, OnCanceledListener onCanceledListener) {
zzh zzhVar = new zzh(TaskExecutors.MAIN_THREAD, onCanceledListener);
this.zzb.zza(zzhVar);
zzv.zza(activity).zzb(zzhVar);
zzi();
return this;
}
@Override // com.google.android.gms.tasks.Task
public final Task<TResult> addOnCompleteListener(Activity activity, OnCompleteListener<TResult> onCompleteListener) {
zzj zzjVar = new zzj(TaskExecutors.MAIN_THREAD, onCompleteListener);
this.zzb.zza(zzjVar);
zzv.zza(activity).zzb(zzjVar);
zzi();
return this;
}
@Override // com.google.android.gms.tasks.Task
public final Task<TResult> addOnFailureListener(Activity activity, OnFailureListener onFailureListener) {
zzl zzlVar = new zzl(TaskExecutors.MAIN_THREAD, onFailureListener);
this.zzb.zza(zzlVar);
zzv.zza(activity).zzb(zzlVar);
zzi();
return this;
}
@Override // com.google.android.gms.tasks.Task
public final Task<TResult> addOnSuccessListener(Activity activity, OnSuccessListener<? super TResult> onSuccessListener) {
zzn zznVar = new zzn(TaskExecutors.MAIN_THREAD, onSuccessListener);
this.zzb.zza(zznVar);
zzv.zza(activity).zzb(zznVar);
zzi();
return this;
}
@Override // com.google.android.gms.tasks.Task
public final <TContinuationResult> Task<TContinuationResult> continueWith(Continuation<TResult, TContinuationResult> continuation) {
return continueWith(TaskExecutors.MAIN_THREAD, continuation);
}
@Override // com.google.android.gms.tasks.Task
public final <TContinuationResult> Task<TContinuationResult> continueWithTask(Continuation<TResult, Task<TContinuationResult>> continuation) {
return continueWithTask(TaskExecutors.MAIN_THREAD, continuation);
}
@Override // com.google.android.gms.tasks.Task
public final Exception getException() {
Exception exc;
synchronized (this.zza) {
exc = this.zzf;
}
return exc;
}
@Override // com.google.android.gms.tasks.Task
public final TResult getResult() {
TResult tresult;
synchronized (this.zza) {
try {
zzf();
zzg();
Exception exc = this.zzf;
if (exc == null) {
tresult = (TResult) this.zze;
} else {
throw new RuntimeExecutionException(exc);
}
} catch (Throwable th) {
throw th;
}
}
return tresult;
}
@Override // com.google.android.gms.tasks.Task
public final boolean isCanceled() {
return this.zzd;
}
@Override // com.google.android.gms.tasks.Task
public final boolean isComplete() {
boolean z3;
synchronized (this.zza) {
z3 = this.zzc;
}
return z3;
}
@Override // com.google.android.gms.tasks.Task
public final boolean isSuccessful() {
boolean z3;
synchronized (this.zza) {
try {
z3 = false;
if (this.zzc && !this.zzd && this.zzf == null) {
z3 = true;
}
} finally {
}
}
return z3;
}
@Override // com.google.android.gms.tasks.Task
public final <TContinuationResult> Task<TContinuationResult> onSuccessTask(SuccessContinuation<TResult, TContinuationResult> successContinuation) {
Executor executor = TaskExecutors.MAIN_THREAD;
zzw zzwVar = new zzw();
this.zzb.zza(new zzp(executor, successContinuation, zzwVar));
zzi();
return zzwVar;
}
public final void zza(Exception exc) {
Preconditions.checkNotNull(exc, "Exception must not be null");
synchronized (this.zza) {
zzh();
this.zzc = true;
this.zzf = exc;
}
this.zzb.zzb(this);
}
public final void zzb(Object obj) {
synchronized (this.zza) {
zzh();
this.zzc = true;
this.zze = obj;
}
this.zzb.zzb(this);
}
public final boolean zzc() {
synchronized (this.zza) {
try {
if (this.zzc) {
return false;
}
this.zzc = true;
this.zzd = true;
this.zzb.zzb(this);
return true;
} catch (Throwable th) {
throw th;
}
}
}
public final boolean zzd(Exception exc) {
Preconditions.checkNotNull(exc, "Exception must not be null");
synchronized (this.zza) {
try {
if (this.zzc) {
return false;
}
this.zzc = true;
this.zzf = exc;
this.zzb.zzb(this);
return true;
} catch (Throwable th) {
throw th;
}
}
}
public final boolean zze(Object obj) {
synchronized (this.zza) {
try {
if (this.zzc) {
return false;
}
this.zzc = true;
this.zze = obj;
this.zzb.zzb(this);
return true;
} catch (Throwable th) {
throw th;
}
}
}
@Override // com.google.android.gms.tasks.Task
public final <TContinuationResult> Task<TContinuationResult> continueWith(Executor executor, Continuation<TResult, TContinuationResult> continuation) {
zzw zzwVar = new zzw();
this.zzb.zza(new zzd(executor, continuation, zzwVar));
zzi();
return zzwVar;
}
@Override // com.google.android.gms.tasks.Task
public final <TContinuationResult> Task<TContinuationResult> continueWithTask(Executor executor, Continuation<TResult, Task<TContinuationResult>> continuation) {
zzw zzwVar = new zzw();
this.zzb.zza(new zzf(executor, continuation, zzwVar));
zzi();
return zzwVar;
}
@Override // com.google.android.gms.tasks.Task
public final Task<TResult> addOnCanceledListener(OnCanceledListener onCanceledListener) {
addOnCanceledListener(TaskExecutors.MAIN_THREAD, onCanceledListener);
return this;
}
@Override // com.google.android.gms.tasks.Task
public final Task<TResult> addOnCompleteListener(OnCompleteListener<TResult> onCompleteListener) {
this.zzb.zza(new zzj(TaskExecutors.MAIN_THREAD, onCompleteListener));
zzi();
return this;
}
@Override // com.google.android.gms.tasks.Task
public final Task<TResult> addOnFailureListener(OnFailureListener onFailureListener) {
addOnFailureListener(TaskExecutors.MAIN_THREAD, onFailureListener);
return this;
}
@Override // com.google.android.gms.tasks.Task
public final Task<TResult> addOnSuccessListener(OnSuccessListener<? super TResult> onSuccessListener) {
addOnSuccessListener(TaskExecutors.MAIN_THREAD, onSuccessListener);
return this;
}
@Override // com.google.android.gms.tasks.Task
public final <TContinuationResult> Task<TContinuationResult> onSuccessTask(Executor executor, SuccessContinuation<TResult, TContinuationResult> successContinuation) {
zzw zzwVar = new zzw();
this.zzb.zza(new zzp(executor, successContinuation, zzwVar));
zzi();
return zzwVar;
}
@Override // com.google.android.gms.tasks.Task
public final Task<TResult> addOnCanceledListener(Executor executor, OnCanceledListener onCanceledListener) {
this.zzb.zza(new zzh(executor, onCanceledListener));
zzi();
return this;
}
@Override // com.google.android.gms.tasks.Task
public final Task<TResult> addOnFailureListener(Executor executor, OnFailureListener onFailureListener) {
this.zzb.zza(new zzl(executor, onFailureListener));
zzi();
return this;
}
@Override // com.google.android.gms.tasks.Task
public final Task<TResult> addOnSuccessListener(Executor executor, OnSuccessListener<? super TResult> onSuccessListener) {
this.zzb.zza(new zzn(executor, onSuccessListener));
zzi();
return this;
}
@Override // com.google.android.gms.tasks.Task
public final Task<TResult> addOnCompleteListener(Executor executor, OnCompleteListener<TResult> onCompleteListener) {
this.zzb.zza(new zzj(executor, onCompleteListener));
zzi();
return this;
}
@Override // com.google.android.gms.tasks.Task
public final <X extends Throwable> TResult getResult(Class<X> cls) throws Throwable {
TResult tresult;
synchronized (this.zza) {
try {
zzf();
zzg();
if (!cls.isInstance(this.zzf)) {
Exception exc = this.zzf;
if (exc == null) {
tresult = (TResult) this.zze;
} else {
throw new RuntimeExecutionException(exc);
}
} else {
throw cls.cast(this.zzf);
}
} catch (Throwable th) {
throw th;
}
}
return tresult;
}
}