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,161 @@
|
||||
package com.google.android.gms.common;
|
||||
|
||||
import android.app.PendingIntent;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.content.pm.PackageManager;
|
||||
import android.text.TextUtils;
|
||||
import com.google.android.gms.common.annotation.KeepForSdk;
|
||||
import com.google.android.gms.common.internal.HideFirstParty;
|
||||
import com.google.android.gms.common.internal.ShowFirstParty;
|
||||
import com.google.android.gms.common.util.DeviceProperties;
|
||||
import com.google.android.gms.common.wrappers.Wrappers;
|
||||
|
||||
@ShowFirstParty
|
||||
@KeepForSdk
|
||||
/* loaded from: classes3.dex */
|
||||
public class GoogleApiAvailabilityLight {
|
||||
|
||||
@KeepForSdk
|
||||
public static final String GOOGLE_PLAY_SERVICES_PACKAGE = "com.google.android.gms";
|
||||
|
||||
@KeepForSdk
|
||||
public static final String GOOGLE_PLAY_STORE_PACKAGE = "com.android.vending";
|
||||
|
||||
@KeepForSdk
|
||||
static final String TRACKING_SOURCE_DIALOG = "d";
|
||||
|
||||
@KeepForSdk
|
||||
static final String TRACKING_SOURCE_NOTIFICATION = "n";
|
||||
|
||||
@KeepForSdk
|
||||
public static final int GOOGLE_PLAY_SERVICES_VERSION_CODE = GooglePlayServicesUtilLight.GOOGLE_PLAY_SERVICES_VERSION_CODE;
|
||||
private static final GoogleApiAvailabilityLight zza = new GoogleApiAvailabilityLight();
|
||||
|
||||
@KeepForSdk
|
||||
public GoogleApiAvailabilityLight() {
|
||||
}
|
||||
|
||||
@KeepForSdk
|
||||
public static GoogleApiAvailabilityLight getInstance() {
|
||||
return zza;
|
||||
}
|
||||
|
||||
@KeepForSdk
|
||||
public void cancelAvailabilityErrorNotifications(Context context) {
|
||||
GooglePlayServicesUtilLight.cancelAvailabilityErrorNotifications(context);
|
||||
}
|
||||
|
||||
@ShowFirstParty
|
||||
@KeepForSdk
|
||||
public int getApkVersion(Context context) {
|
||||
return GooglePlayServicesUtilLight.getApkVersion(context);
|
||||
}
|
||||
|
||||
@ShowFirstParty
|
||||
@KeepForSdk
|
||||
public int getClientVersion(Context context) {
|
||||
return GooglePlayServicesUtilLight.getClientVersion(context);
|
||||
}
|
||||
|
||||
@ShowFirstParty
|
||||
@KeepForSdk
|
||||
@Deprecated
|
||||
public Intent getErrorResolutionIntent(int i) {
|
||||
return getErrorResolutionIntent(null, i, null);
|
||||
}
|
||||
|
||||
@KeepForSdk
|
||||
public PendingIntent getErrorResolutionPendingIntent(Context context, int i, int i4) {
|
||||
return getErrorResolutionPendingIntent(context, i, i4, null);
|
||||
}
|
||||
|
||||
@KeepForSdk
|
||||
public String getErrorString(int i) {
|
||||
return GooglePlayServicesUtilLight.getErrorString(i);
|
||||
}
|
||||
|
||||
@HideFirstParty
|
||||
@KeepForSdk
|
||||
public int isGooglePlayServicesAvailable(Context context) {
|
||||
return isGooglePlayServicesAvailable(context, GOOGLE_PLAY_SERVICES_VERSION_CODE);
|
||||
}
|
||||
|
||||
@ShowFirstParty
|
||||
@KeepForSdk
|
||||
public boolean isPlayServicesPossiblyUpdating(Context context, int i) {
|
||||
return GooglePlayServicesUtilLight.isPlayServicesPossiblyUpdating(context, i);
|
||||
}
|
||||
|
||||
@ShowFirstParty
|
||||
@KeepForSdk
|
||||
public boolean isPlayStorePossiblyUpdating(Context context, int i) {
|
||||
return GooglePlayServicesUtilLight.isPlayStorePossiblyUpdating(context, i);
|
||||
}
|
||||
|
||||
@KeepForSdk
|
||||
public boolean isUninstalledAppPossiblyUpdating(Context context, String str) {
|
||||
return GooglePlayServicesUtilLight.zza(context, str);
|
||||
}
|
||||
|
||||
@KeepForSdk
|
||||
public boolean isUserResolvableError(int i) {
|
||||
return GooglePlayServicesUtilLight.isUserRecoverableError(i);
|
||||
}
|
||||
|
||||
@KeepForSdk
|
||||
public void verifyGooglePlayServicesIsAvailable(Context context, int i) throws GooglePlayServicesRepairableException, GooglePlayServicesNotAvailableException {
|
||||
GooglePlayServicesUtilLight.ensurePlayServicesAvailable(context, i);
|
||||
}
|
||||
|
||||
@ShowFirstParty
|
||||
@KeepForSdk
|
||||
public Intent getErrorResolutionIntent(Context context, int i, String str) {
|
||||
if (i != 1 && i != 2) {
|
||||
if (i != 3) {
|
||||
return null;
|
||||
}
|
||||
return com.google.android.gms.common.internal.zzt.zzc("com.google.android.gms");
|
||||
}
|
||||
if (context != null && DeviceProperties.isWearableWithoutPlayStore(context)) {
|
||||
return com.google.android.gms.common.internal.zzt.zza();
|
||||
}
|
||||
StringBuilder sb = new StringBuilder("gcore_");
|
||||
sb.append(GOOGLE_PLAY_SERVICES_VERSION_CODE);
|
||||
sb.append("-");
|
||||
if (!TextUtils.isEmpty(str)) {
|
||||
sb.append(str);
|
||||
}
|
||||
sb.append("-");
|
||||
if (context != null) {
|
||||
sb.append(context.getPackageName());
|
||||
}
|
||||
sb.append("-");
|
||||
if (context != null) {
|
||||
try {
|
||||
sb.append(Wrappers.packageManager(context).getPackageInfo(context.getPackageName(), 0).versionCode);
|
||||
} catch (PackageManager.NameNotFoundException unused) {
|
||||
}
|
||||
}
|
||||
return com.google.android.gms.common.internal.zzt.zzb("com.google.android.gms", sb.toString());
|
||||
}
|
||||
|
||||
@ShowFirstParty
|
||||
@KeepForSdk
|
||||
public PendingIntent getErrorResolutionPendingIntent(Context context, int i, int i4, String str) {
|
||||
Intent errorResolutionIntent = getErrorResolutionIntent(context, i, str);
|
||||
if (errorResolutionIntent == null) {
|
||||
return null;
|
||||
}
|
||||
return PendingIntent.getActivity(context, i4, errorResolutionIntent, com.google.android.gms.internal.common.zzd.zza | 134217728);
|
||||
}
|
||||
|
||||
@KeepForSdk
|
||||
public int isGooglePlayServicesAvailable(Context context, int i) {
|
||||
int isGooglePlayServicesAvailable = GooglePlayServicesUtilLight.isGooglePlayServicesAvailable(context, i);
|
||||
if (GooglePlayServicesUtilLight.isPlayServicesPossiblyUpdating(context, isGooglePlayServicesAvailable)) {
|
||||
return 18;
|
||||
}
|
||||
return isGooglePlayServicesAvailable;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user