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,116 @@
|
||||
package com.google.android.gms.location;
|
||||
|
||||
import android.location.Location;
|
||||
import com.google.android.gms.location.Geofence;
|
||||
import java.util.List;
|
||||
|
||||
/* loaded from: classes3.dex */
|
||||
public class GeofencingEvent {
|
||||
private final int zza;
|
||||
|
||||
@Geofence.GeofenceTransition
|
||||
private final int zzb;
|
||||
private final List zzc;
|
||||
private final Location zzd;
|
||||
|
||||
private GeofencingEvent(int i, @Geofence.GeofenceTransition int i4, List list, Location location) {
|
||||
this.zza = i;
|
||||
this.zzb = i4;
|
||||
this.zzc = list;
|
||||
this.zzd = location;
|
||||
}
|
||||
|
||||
/* JADX WARN: Removed duplicated region for block: B:10:0x0029 */
|
||||
/* JADX WARN: Removed duplicated region for block: B:17:0x002b */
|
||||
/*
|
||||
Code decompiled incorrectly, please refer to instructions dump.
|
||||
To view partially-correct add '--show-bad-code' argument
|
||||
*/
|
||||
public static com.google.android.gms.location.GeofencingEvent fromIntent(android.content.Intent r12) {
|
||||
/*
|
||||
r0 = 0
|
||||
if (r12 != 0) goto L4
|
||||
return r0
|
||||
L4:
|
||||
java.lang.String r1 = "gms_error_code"
|
||||
r2 = -1
|
||||
int r1 = r12.getIntExtra(r1, r2)
|
||||
java.lang.String r3 = "com.google.android.location.intent.extra.transition"
|
||||
int r3 = r12.getIntExtra(r3, r2)
|
||||
if (r3 != r2) goto L15
|
||||
L13:
|
||||
r3 = r2
|
||||
goto L1f
|
||||
L15:
|
||||
r4 = 1
|
||||
if (r3 == r4) goto L1f
|
||||
r4 = 2
|
||||
if (r3 == r4) goto L1f
|
||||
r4 = 4
|
||||
if (r3 != r4) goto L13
|
||||
r3 = r4
|
||||
L1f:
|
||||
java.lang.String r4 = "com.google.android.location.intent.extra.geofence_list"
|
||||
java.io.Serializable r4 = r12.getSerializableExtra(r4)
|
||||
java.util.ArrayList r4 = (java.util.ArrayList) r4
|
||||
if (r4 != 0) goto L2b
|
||||
r5 = r0
|
||||
goto L5e
|
||||
L2b:
|
||||
java.util.ArrayList r5 = new java.util.ArrayList
|
||||
int r6 = r4.size()
|
||||
r5.<init>(r6)
|
||||
int r6 = r4.size()
|
||||
r7 = 0
|
||||
r8 = r7
|
||||
L3a:
|
||||
if (r8 >= r6) goto L5e
|
||||
java.lang.Object r9 = r4.get(r8)
|
||||
byte[] r9 = (byte[]) r9
|
||||
android.os.Parcel r10 = android.os.Parcel.obtain()
|
||||
int r11 = r9.length
|
||||
r10.unmarshall(r9, r7, r11)
|
||||
r10.setDataPosition(r7)
|
||||
android.os.Parcelable$Creator<com.google.android.gms.internal.location.zzdh> r9 = com.google.android.gms.internal.location.zzdh.CREATOR
|
||||
java.lang.Object r9 = r9.createFromParcel(r10)
|
||||
com.google.android.gms.internal.location.zzdh r9 = (com.google.android.gms.internal.location.zzdh) r9
|
||||
r10.recycle()
|
||||
r5.add(r9)
|
||||
int r8 = r8 + 1
|
||||
goto L3a
|
||||
L5e:
|
||||
java.lang.String r4 = "com.google.android.location.intent.extra.triggering_location"
|
||||
android.os.Parcelable r12 = r12.getParcelableExtra(r4)
|
||||
android.location.Location r12 = (android.location.Location) r12
|
||||
if (r5 != 0) goto L6b
|
||||
if (r1 != r2) goto L6b
|
||||
return r0
|
||||
L6b:
|
||||
com.google.android.gms.location.GeofencingEvent r0 = new com.google.android.gms.location.GeofencingEvent
|
||||
r0.<init>(r1, r3, r5, r12)
|
||||
return r0
|
||||
*/
|
||||
throw new UnsupportedOperationException("Method not decompiled: com.google.android.gms.location.GeofencingEvent.fromIntent(android.content.Intent):com.google.android.gms.location.GeofencingEvent");
|
||||
}
|
||||
|
||||
public int getErrorCode() {
|
||||
return this.zza;
|
||||
}
|
||||
|
||||
@Geofence.GeofenceTransition
|
||||
public int getGeofenceTransition() {
|
||||
return this.zzb;
|
||||
}
|
||||
|
||||
public List<Geofence> getTriggeringGeofences() {
|
||||
return this.zzc;
|
||||
}
|
||||
|
||||
public Location getTriggeringLocation() {
|
||||
return this.zzd;
|
||||
}
|
||||
|
||||
public boolean hasError() {
|
||||
return this.zza != -1;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user