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:
@@ -0,0 +1,112 @@
|
||||
package com.google.android.gms.common.config;
|
||||
|
||||
import android.os.Binder;
|
||||
import android.os.StrictMode;
|
||||
import android.util.Log;
|
||||
import com.google.android.gms.common.annotation.KeepForSdk;
|
||||
import com.google.android.gms.common.util.VisibleForTesting;
|
||||
|
||||
@KeepForSdk
|
||||
/* loaded from: classes3.dex */
|
||||
public abstract class GservicesValue<T> {
|
||||
private static final Object zzc = new Object();
|
||||
protected final String zza;
|
||||
protected final Object zzb;
|
||||
private Object zzd = null;
|
||||
|
||||
public GservicesValue(String str, Object obj) {
|
||||
this.zza = str;
|
||||
this.zzb = obj;
|
||||
}
|
||||
|
||||
@KeepForSdk
|
||||
public static boolean isInitialized() {
|
||||
synchronized (zzc) {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@KeepForSdk
|
||||
public static GservicesValue<Float> value(String str, Float f2) {
|
||||
return new zzd(str, f2);
|
||||
}
|
||||
|
||||
@KeepForSdk
|
||||
public final T get() {
|
||||
T t2 = (T) this.zzd;
|
||||
if (t2 != null) {
|
||||
return t2;
|
||||
}
|
||||
StrictMode.ThreadPolicy allowThreadDiskReads = StrictMode.allowThreadDiskReads();
|
||||
Object obj = zzc;
|
||||
synchronized (obj) {
|
||||
}
|
||||
synchronized (obj) {
|
||||
try {
|
||||
} catch (Throwable th) {
|
||||
StrictMode.setThreadPolicy(allowThreadDiskReads);
|
||||
throw th;
|
||||
}
|
||||
}
|
||||
try {
|
||||
T t4 = (T) zza(this.zza);
|
||||
StrictMode.setThreadPolicy(allowThreadDiskReads);
|
||||
return t4;
|
||||
} catch (SecurityException unused) {
|
||||
long clearCallingIdentity = Binder.clearCallingIdentity();
|
||||
try {
|
||||
T t5 = (T) this.zza(this.zza);
|
||||
StrictMode.setThreadPolicy(allowThreadDiskReads);
|
||||
return t5;
|
||||
} finally {
|
||||
Binder.restoreCallingIdentity(clearCallingIdentity);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@KeepForSdk
|
||||
@Deprecated
|
||||
public final T getBinderSafe() {
|
||||
return get();
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
@KeepForSdk
|
||||
public void override(T t2) {
|
||||
Log.w("GservicesValue", "GservicesValue.override(): test should probably call initForTests() first");
|
||||
this.zzd = t2;
|
||||
Object obj = zzc;
|
||||
synchronized (obj) {
|
||||
synchronized (obj) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@VisibleForTesting
|
||||
@KeepForSdk
|
||||
public void resetOverride() {
|
||||
this.zzd = null;
|
||||
}
|
||||
|
||||
public abstract Object zza(String str);
|
||||
|
||||
@KeepForSdk
|
||||
public static GservicesValue<Integer> value(String str, Integer num) {
|
||||
return new zzc(str, num);
|
||||
}
|
||||
|
||||
@KeepForSdk
|
||||
public static GservicesValue<Long> value(String str, Long l4) {
|
||||
return new zzb(str, l4);
|
||||
}
|
||||
|
||||
@KeepForSdk
|
||||
public static GservicesValue<String> value(String str, String str2) {
|
||||
return new zze(str, str2);
|
||||
}
|
||||
|
||||
@KeepForSdk
|
||||
public static GservicesValue<Boolean> value(String str, boolean z3) {
|
||||
return new zza(str, Boolean.valueOf(z3));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.google.android.gms.common.config;
|
||||
|
||||
import com.google.android.gms.common.internal.Preconditions;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
final class zza extends GservicesValue {
|
||||
public zza(String str, Boolean bool) {
|
||||
super(str, bool);
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.common.config.GservicesValue
|
||||
public final /* bridge */ /* synthetic */ Object zza(String str) {
|
||||
Preconditions.checkNotNull(null);
|
||||
throw null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.google.android.gms.common.config;
|
||||
|
||||
import com.google.android.gms.common.internal.Preconditions;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
final class zzb extends GservicesValue {
|
||||
public zzb(String str, Long l4) {
|
||||
super(str, l4);
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.common.config.GservicesValue
|
||||
public final /* bridge */ /* synthetic */ Object zza(String str) {
|
||||
Preconditions.checkNotNull(null);
|
||||
throw null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.google.android.gms.common.config;
|
||||
|
||||
import com.google.android.gms.common.internal.Preconditions;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
final class zzc extends GservicesValue {
|
||||
public zzc(String str, Integer num) {
|
||||
super(str, num);
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.common.config.GservicesValue
|
||||
public final /* bridge */ /* synthetic */ Object zza(String str) {
|
||||
Preconditions.checkNotNull(null);
|
||||
throw null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.google.android.gms.common.config;
|
||||
|
||||
import com.google.android.gms.common.internal.Preconditions;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
final class zzd extends GservicesValue {
|
||||
public zzd(String str, Float f2) {
|
||||
super(str, f2);
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.common.config.GservicesValue
|
||||
public final /* bridge */ /* synthetic */ Object zza(String str) {
|
||||
Preconditions.checkNotNull(null);
|
||||
throw null;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.google.android.gms.common.config;
|
||||
|
||||
import com.google.android.gms.common.internal.Preconditions;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
final class zze extends GservicesValue {
|
||||
public zze(String str, String str2) {
|
||||
super(str, str2);
|
||||
}
|
||||
|
||||
@Override // com.google.android.gms.common.config.GservicesValue
|
||||
public final /* bridge */ /* synthetic */ Object zza(String str) {
|
||||
Preconditions.checkNotNull(null);
|
||||
throw null;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user