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,131 @@
package com.google.android.gms.maps;
import android.content.Context;
/* loaded from: classes3.dex */
public final class MapsInitializer {
private static final String zza = "MapsInitializer";
private static boolean zzb = false;
private static Renderer zzc = Renderer.LEGACY;
/* loaded from: classes3.dex */
public enum Renderer {
LEGACY,
LATEST
}
private MapsInitializer() {
}
public static synchronized int initialize(Context context) {
int initialize;
synchronized (MapsInitializer.class) {
initialize = initialize(context, null, null);
}
return initialize;
}
/* JADX WARN: Can't wrap try/catch for region: R(16:11|12|13|14|15|16|(10:18|(1:(1:21))|22|23|(1:25)|26|27|(1:29)|30|31)|36|22|23|(0)|26|27|(0)|30|31) */
/* JADX WARN: Code restructure failed: missing block: B:33:0x0056, code lost:
r5 = move-exception;
*/
/* JADX WARN: Code restructure failed: missing block: B:35:0x0060, code lost:
android.util.Log.e(com.google.android.gms.maps.MapsInitializer.zza, "Failed to retrieve renderer type or log initialization.", r5);
*/
/* JADX WARN: Removed duplicated region for block: B:25:0x0051 A[Catch: all -> 0x0024, RemoteException -> 0x0056, TryCatch #3 {RemoteException -> 0x0056, blocks: (B:23:0x004b, B:25:0x0051, B:26:0x0058), top: B:22:0x004b, outer: #1 }] */
/* JADX WARN: Removed duplicated region for block: B:29:0x007a A[Catch: all -> 0x0024, TRY_LEAVE, TryCatch #1 {, blocks: (B:4:0x0003, B:7:0x001e, B:12:0x0028, B:14:0x002c, B:16:0x003b, B:18:0x0040, B:23:0x004b, B:25:0x0051, B:26:0x0058, B:27:0x0067, B:29:0x007a, B:35:0x0060, B:39:0x0082, B:40:0x0087, B:43:0x0089), top: B:3:0x0003, inners: #0, #2, #3 }] */
/*
Code decompiled incorrectly, please refer to instructions dump.
To view partially-correct add '--show-bad-code' argument
*/
public static synchronized int initialize(android.content.Context r5, com.google.android.gms.maps.MapsInitializer.Renderer r6, com.google.android.gms.maps.OnMapsSdkInitializedCallback r7) {
/*
java.lang.Class<com.google.android.gms.maps.MapsInitializer> r0 = com.google.android.gms.maps.MapsInitializer.class
monitor-enter(r0)
java.lang.String r1 = "Context is null"
com.google.android.gms.common.internal.Preconditions.checkNotNull(r5, r1) // Catch: java.lang.Throwable -> L24
java.lang.String r1 = com.google.android.gms.maps.MapsInitializer.zza // Catch: java.lang.Throwable -> L24
java.lang.String r2 = java.lang.String.valueOf(r6) // Catch: java.lang.Throwable -> L24
java.lang.String r3 = "preferredRenderer: "
java.lang.String r2 = r3.concat(r2) // Catch: java.lang.Throwable -> L24
android.util.Log.d(r1, r2) // Catch: java.lang.Throwable -> L24
boolean r1 = com.google.android.gms.maps.MapsInitializer.zzb // Catch: java.lang.Throwable -> L24
r2 = 0
if (r1 == 0) goto L28
if (r7 == 0) goto L26
com.google.android.gms.maps.MapsInitializer$Renderer r5 = com.google.android.gms.maps.MapsInitializer.zzc // Catch: java.lang.Throwable -> L24
r7.onMapsSdkInitialized(r5) // Catch: java.lang.Throwable -> L24
goto L26
L24:
r5 = move-exception
goto L8d
L26:
monitor-exit(r0)
return r2
L28:
com.google.android.gms.maps.internal.zzf r1 = com.google.android.gms.maps.internal.zzcc.zza(r5, r6) // Catch: java.lang.Throwable -> L24 com.google.android.gms.common.GooglePlayServicesNotAvailableException -> L88
com.google.android.gms.maps.internal.ICameraUpdateFactoryDelegate r3 = r1.zze() // Catch: java.lang.Throwable -> L24 android.os.RemoteException -> L81
com.google.android.gms.maps.CameraUpdateFactory.zza(r3) // Catch: java.lang.Throwable -> L24 android.os.RemoteException -> L81
com.google.android.gms.internal.maps.zzi r3 = r1.zzj() // Catch: java.lang.Throwable -> L24 android.os.RemoteException -> L81
com.google.android.gms.maps.model.BitmapDescriptorFactory.zza(r3) // Catch: java.lang.Throwable -> L24 android.os.RemoteException -> L81
r3 = 1
com.google.android.gms.maps.MapsInitializer.zzb = r3 // Catch: java.lang.Throwable -> L24
r4 = 2
if (r6 == 0) goto L48
int r6 = r6.ordinal() // Catch: java.lang.Throwable -> L24
if (r6 == 0) goto L4b
if (r6 == r3) goto L4a
L48:
r3 = r2
goto L4b
L4a:
r3 = r4
L4b:
int r6 = r1.zzd() // Catch: java.lang.Throwable -> L24 android.os.RemoteException -> L56
if (r6 != r4) goto L58
com.google.android.gms.maps.MapsInitializer$Renderer r6 = com.google.android.gms.maps.MapsInitializer.Renderer.LATEST // Catch: java.lang.Throwable -> L24 android.os.RemoteException -> L56
com.google.android.gms.maps.MapsInitializer.zzc = r6 // Catch: java.lang.Throwable -> L24 android.os.RemoteException -> L56
goto L58
L56:
r5 = move-exception
goto L60
L58:
com.google.android.gms.dynamic.IObjectWrapper r5 = com.google.android.gms.dynamic.ObjectWrapper.wrap(r5) // Catch: java.lang.Throwable -> L24 android.os.RemoteException -> L56
r1.zzl(r5, r3) // Catch: java.lang.Throwable -> L24 android.os.RemoteException -> L56
goto L67
L60:
java.lang.String r6 = com.google.android.gms.maps.MapsInitializer.zza // Catch: java.lang.Throwable -> L24
java.lang.String r1 = "Failed to retrieve renderer type or log initialization."
android.util.Log.e(r6, r1, r5) // Catch: java.lang.Throwable -> L24
L67:
java.lang.String r5 = com.google.android.gms.maps.MapsInitializer.zza // Catch: java.lang.Throwable -> L24
com.google.android.gms.maps.MapsInitializer$Renderer r6 = com.google.android.gms.maps.MapsInitializer.zzc // Catch: java.lang.Throwable -> L24
java.lang.String r6 = java.lang.String.valueOf(r6) // Catch: java.lang.Throwable -> L24
java.lang.String r1 = "loadedRenderer: "
java.lang.String r6 = r1.concat(r6) // Catch: java.lang.Throwable -> L24
android.util.Log.d(r5, r6) // Catch: java.lang.Throwable -> L24
if (r7 == 0) goto L7f
com.google.android.gms.maps.MapsInitializer$Renderer r5 = com.google.android.gms.maps.MapsInitializer.zzc // Catch: java.lang.Throwable -> L24
r7.onMapsSdkInitialized(r5) // Catch: java.lang.Throwable -> L24
L7f:
monitor-exit(r0)
return r2
L81:
r5 = move-exception
com.google.android.gms.maps.model.RuntimeRemoteException r6 = new com.google.android.gms.maps.model.RuntimeRemoteException // Catch: java.lang.Throwable -> L24
r6.<init>(r5) // Catch: java.lang.Throwable -> L24
throw r6 // Catch: java.lang.Throwable -> L24
L88:
r5 = move-exception
int r5 = r5.errorCode // Catch: java.lang.Throwable -> L24
monitor-exit(r0)
return r5
L8d:
monitor-exit(r0) // Catch: java.lang.Throwable -> L24
throw r5
*/
throw new UnsupportedOperationException("Method not decompiled: com.google.android.gms.maps.MapsInitializer.initialize(android.content.Context, com.google.android.gms.maps.MapsInitializer$Renderer, com.google.android.gms.maps.OnMapsSdkInitializedCallback):int");
}
}