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,113 @@
package com.google.android.gms.common;
import android.app.Activity;
import android.app.Dialog;
import android.app.PendingIntent;
import android.content.Context;
import android.content.DialogInterface;
import android.content.res.Resources;
import androidx.fragment.app.K;
import com.google.android.gms.common.annotation.KeepForSdk;
import com.google.android.gms.common.internal.HideFirstParty;
import com.google.android.gms.common.internal.zag;
import com.google.android.gms.common.util.VisibleForTesting;
/* loaded from: classes3.dex */
public final class GooglePlayServicesUtil extends GooglePlayServicesUtilLight {
public static final String GMS_ERROR_DIALOG = "GooglePlayServicesErrorDialog";
@Deprecated
public static final String GOOGLE_PLAY_SERVICES_PACKAGE = "com.google.android.gms";
@Deprecated
public static final int GOOGLE_PLAY_SERVICES_VERSION_CODE = GooglePlayServicesUtilLight.GOOGLE_PLAY_SERVICES_VERSION_CODE;
public static final String GOOGLE_PLAY_STORE_PACKAGE = "com.android.vending";
private GooglePlayServicesUtil() {
}
@Deprecated
public static Dialog getErrorDialog(int i, Activity activity, int i4) {
return getErrorDialog(i, activity, i4, null);
}
@Deprecated
public static PendingIntent getErrorPendingIntent(int i, Context context, int i4) {
return GooglePlayServicesUtilLight.getErrorPendingIntent(i, context, i4);
}
@VisibleForTesting
@Deprecated
public static String getErrorString(int i) {
return GooglePlayServicesUtilLight.getErrorString(i);
}
public static Context getRemoteContext(Context context) {
return GooglePlayServicesUtilLight.getRemoteContext(context);
}
public static Resources getRemoteResource(Context context) {
return GooglePlayServicesUtilLight.getRemoteResource(context);
}
@HideFirstParty
@Deprecated
public static int isGooglePlayServicesAvailable(Context context) {
return GooglePlayServicesUtilLight.isGooglePlayServicesAvailable(context);
}
@Deprecated
public static boolean isUserRecoverableError(int i) {
return GooglePlayServicesUtilLight.isUserRecoverableError(i);
}
@Deprecated
public static boolean showErrorDialogFragment(int i, Activity activity, int i4) {
return showErrorDialogFragment(i, activity, i4, null);
}
@Deprecated
public static void showErrorNotification(int i, Context context) {
GoogleApiAvailability googleApiAvailability = GoogleApiAvailability.getInstance();
if (GooglePlayServicesUtilLight.isPlayServicesPossiblyUpdating(context, i) || GooglePlayServicesUtilLight.isPlayStorePossiblyUpdating(context, i)) {
googleApiAvailability.zaf(context);
} else {
googleApiAvailability.showErrorNotification(context, i);
}
}
@Deprecated
public static Dialog getErrorDialog(int i, Activity activity, int i4, DialogInterface.OnCancelListener onCancelListener) {
if (true == GooglePlayServicesUtilLight.isPlayServicesPossiblyUpdating(activity, i)) {
i = 18;
}
return GoogleApiAvailability.getInstance().getErrorDialog(activity, i, i4, onCancelListener);
}
@KeepForSdk
@Deprecated
public static int isGooglePlayServicesAvailable(Context context, int i) {
return GooglePlayServicesUtilLight.isGooglePlayServicesAvailable(context, i);
}
@Deprecated
public static boolean showErrorDialogFragment(int i, Activity activity, int i4, DialogInterface.OnCancelListener onCancelListener) {
return showErrorDialogFragment(i, activity, null, i4, onCancelListener);
}
public static boolean showErrorDialogFragment(int i, Activity activity, K k4, int i4, DialogInterface.OnCancelListener onCancelListener) {
if (true == GooglePlayServicesUtilLight.isPlayServicesPossiblyUpdating(activity, i)) {
i = 18;
}
GoogleApiAvailability googleApiAvailability = GoogleApiAvailability.getInstance();
if (k4 == null) {
return googleApiAvailability.showErrorDialogFragment(activity, i, i4, onCancelListener);
}
Dialog zaa = googleApiAvailability.zaa(activity, i, zag.zac(k4, GoogleApiAvailability.getInstance().getErrorResolutionIntent(activity, i, "d"), i4), onCancelListener);
if (zaa == null) {
return false;
}
googleApiAvailability.zad(activity, zaa, GMS_ERROR_DIALOG, onCancelListener);
return true;
}
}