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,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");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user