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:
16
apk_decompiled/sources/kotlin/enums/EnumEntries.java
Normal file
16
apk_decompiled/sources/kotlin/enums/EnumEntries.java
Normal file
@@ -0,0 +1,16 @@
|
||||
package kotlin.enums;
|
||||
|
||||
import java.lang.Enum;
|
||||
import java.util.List;
|
||||
import kotlin.ExperimentalStdlibApi;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.SinceKotlin;
|
||||
import kotlin.WasExperimental;
|
||||
import kotlin.jvm.internal.markers.KMappedMarker;
|
||||
|
||||
@SinceKotlin(version = "1.9")
|
||||
@Metadata(d1 = {"\u0000\u0014\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0010\n\u0002\u0010 \n\u0002\u0018\u0002\n\u0000\bw\u0018\u0000*\u000e\b\u0000\u0010\u0001*\b\u0012\u0004\u0012\u0002H\u00010\u00022\b\u0012\u0004\u0012\u0002H\u00010\u0003\u0082\u0001\u0001\u0004¨\u0006\u0005"}, d2 = {"Lkotlin/enums/EnumEntries;", "E", "", "", "Lkotlin/enums/EnumEntriesList;", "kotlin-stdlib"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
@WasExperimental(markerClass = {ExperimentalStdlibApi.class})
|
||||
/* loaded from: classes3.dex */
|
||||
public interface EnumEntries<E extends Enum<E>> extends List<E>, KMappedMarker {
|
||||
}
|
||||
19
apk_decompiled/sources/kotlin/enums/EnumEntriesJVMKt.java
Normal file
19
apk_decompiled/sources/kotlin/enums/EnumEntriesJVMKt.java
Normal file
@@ -0,0 +1,19 @@
|
||||
package kotlin.enums;
|
||||
|
||||
import kotlin.ExperimentalStdlibApi;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.PublishedApi;
|
||||
import kotlin.SinceKotlin;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
|
||||
@Metadata(d1 = {"\u0000\u000e\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0010\n\u0000\u001a!\u0010\u0000\u001a\b\u0012\u0004\u0012\u0002H\u00020\u0001\"\u0010\b\u0000\u0010\u0002\u0018\u0001*\b\u0012\u0004\u0012\u0002H\u00020\u0003H\u0081\b¨\u0006\u0004"}, d2 = {"enumEntriesIntrinsic", "Lkotlin/enums/EnumEntries;", "T", "", "kotlin-stdlib"}, k = 2, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public final class EnumEntriesJVMKt {
|
||||
@SinceKotlin(version = "1.9")
|
||||
@PublishedApi
|
||||
@ExperimentalStdlibApi
|
||||
public static final /* synthetic */ <T extends Enum<T>> EnumEntries<T> enumEntriesIntrinsic() {
|
||||
Intrinsics.reifiedOperationMarker(5, "T");
|
||||
return EnumEntriesKt.enumEntries(new Enum[0]);
|
||||
}
|
||||
}
|
||||
36
apk_decompiled/sources/kotlin/enums/EnumEntriesKt.java
Normal file
36
apk_decompiled/sources/kotlin/enums/EnumEntriesKt.java
Normal file
@@ -0,0 +1,36 @@
|
||||
package kotlin.enums;
|
||||
|
||||
import com.google.firebase.remoteconfig.RemoteConfigConstants;
|
||||
import kotlin.ExperimentalStdlibApi;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.PublishedApi;
|
||||
import kotlin.SinceKotlin;
|
||||
import kotlin.jvm.functions.Function0;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
import kotlin.jvm.internal.SourceDebugExtension;
|
||||
|
||||
@Metadata(d1 = {"\u0000\u001c\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0010\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\u0010\u0011\n\u0002\b\u0003\u001a!\u0010\u0000\u001a\b\u0012\u0004\u0012\u0002H\u00020\u0001\"\u0010\b\u0000\u0010\u0002\u0018\u0001*\b\u0012\u0004\u0012\u0002H\u00020\u0003H\u0087\b\u001a2\u0010\u0000\u001a\b\u0012\u0004\u0012\u0002H\u00040\u0001\"\u000e\b\u0000\u0010\u0004*\b\u0012\u0004\u0012\u0002H\u00040\u00032\u0012\u0010\u0005\u001a\u000e\u0012\n\u0012\b\u0012\u0004\u0012\u0002H\u00040\u00070\u0006H\u0001\u001a1\u0010\u0000\u001a\b\u0012\u0004\u0012\u0002H\u00040\u0001\"\u000e\b\u0000\u0010\u0004*\b\u0012\u0004\u0012\u0002H\u00040\u00032\f\u0010\b\u001a\b\u0012\u0004\u0012\u0002H\u00040\u0007H\u0001¢\u0006\u0002\u0010\t¨\u0006\n"}, d2 = {"enumEntries", "Lkotlin/enums/EnumEntries;", "T", "", "E", "entriesProvider", "Lkotlin/Function0;", "", RemoteConfigConstants.ResponseFieldKey.ENTRIES, "([Ljava/lang/Enum;)Lkotlin/enums/EnumEntries;", "kotlin-stdlib"}, k = 2, mv = {1, 9, 0}, xi = 48)
|
||||
@SourceDebugExtension({"SMAP\nEnumEntries.kt\nKotlin\n*S Kotlin\n*F\n+ 1 EnumEntries.kt\nkotlin/enums/EnumEntriesKt\n+ 2 EnumEntriesJVM.kt\nkotlin/enums/EnumEntriesJVMKt\n*L\n1#1,91:1\n16#2:92\n*S KotlinDebug\n*F\n+ 1 EnumEntries.kt\nkotlin/enums/EnumEntriesKt\n*L\n31#1:92\n*E\n"})
|
||||
/* loaded from: classes3.dex */
|
||||
public final class EnumEntriesKt {
|
||||
@SinceKotlin(version = "1.9")
|
||||
@ExperimentalStdlibApi
|
||||
public static final /* synthetic */ <T extends Enum<T>> EnumEntries<T> enumEntries() {
|
||||
Intrinsics.reifiedOperationMarker(5, "T");
|
||||
return enumEntries(new Enum[0]);
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.8")
|
||||
@PublishedApi
|
||||
public static final <E extends Enum<E>> EnumEntries<E> enumEntries(Function0<E[]> entriesProvider) {
|
||||
Intrinsics.checkNotNullParameter(entriesProvider, "entriesProvider");
|
||||
return new EnumEntriesList(entriesProvider.invoke());
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.8")
|
||||
@PublishedApi
|
||||
public static final <E extends Enum<E>> EnumEntries<E> enumEntries(E[] entries) {
|
||||
Intrinsics.checkNotNullParameter(entries, "entries");
|
||||
return new EnumEntriesList(entries);
|
||||
}
|
||||
}
|
||||
86
apk_decompiled/sources/kotlin/enums/EnumEntriesList.java
Normal file
86
apk_decompiled/sources/kotlin/enums/EnumEntriesList.java
Normal file
@@ -0,0 +1,86 @@
|
||||
package kotlin.enums;
|
||||
|
||||
import com.google.firebase.analytics.FirebaseAnalytics;
|
||||
import com.google.firebase.remoteconfig.RemoteConfigConstants;
|
||||
import java.io.Serializable;
|
||||
import java.lang.Enum;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.SinceKotlin;
|
||||
import kotlin.collections.AbstractList;
|
||||
import kotlin.collections.ArraysKt;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: package-private */
|
||||
@SinceKotlin(version = "1.8")
|
||||
@Metadata(d1 = {"\u0000:\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0010\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0011\n\u0002\b\u0003\n\u0002\u0010\b\n\u0002\b\u0003\n\u0002\u0010\u000b\n\u0002\b\t\n\u0002\u0010\u0000\n\u0000\b\u0003\u0018\u0000*\u000e\b\u0000\u0010\u0001*\b\u0012\u0004\u0012\u0002H\u00010\u00022\b\u0012\u0004\u0012\u0002H\u00010\u00032\b\u0012\u0004\u0012\u0002H\u00010\u00042\u00060\u0005j\u0002`\u0006B\u0013\u0012\f\u0010\u0007\u001a\b\u0012\u0004\u0012\u00028\u00000\b¢\u0006\u0002\u0010\tJ\u0016\u0010\u000f\u001a\u00020\u00102\u0006\u0010\u0011\u001a\u00028\u0000H\u0096\u0002¢\u0006\u0002\u0010\u0012J\u0016\u0010\u0013\u001a\u00028\u00002\u0006\u0010\u0014\u001a\u00020\fH\u0096\u0002¢\u0006\u0002\u0010\u0015J\u0015\u0010\u0016\u001a\u00020\f2\u0006\u0010\u0011\u001a\u00028\u0000H\u0016¢\u0006\u0002\u0010\u0017J\u0015\u0010\u0018\u001a\u00020\f2\u0006\u0010\u0011\u001a\u00028\u0000H\u0016¢\u0006\u0002\u0010\u0017J\b\u0010\u0019\u001a\u00020\u001aH\u0002R\u0016\u0010\u0007\u001a\b\u0012\u0004\u0012\u00028\u00000\bX\u0082\u0004¢\u0006\u0004\n\u0002\u0010\nR\u0014\u0010\u000b\u001a\u00020\f8VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b\r\u0010\u000e¨\u0006\u001b"}, d2 = {"Lkotlin/enums/EnumEntriesList;", "T", "", "Lkotlin/enums/EnumEntries;", "Lkotlin/collections/AbstractList;", "Ljava/io/Serializable;", "Lkotlin/io/Serializable;", RemoteConfigConstants.ResponseFieldKey.ENTRIES, "", "([Ljava/lang/Enum;)V", "[Ljava/lang/Enum;", "size", "", "getSize", "()I", "contains", "", "element", "(Ljava/lang/Enum;)Z", "get", FirebaseAnalytics.Param.INDEX, "(I)Ljava/lang/Enum;", "indexOf", "(Ljava/lang/Enum;)I", "lastIndexOf", "writeReplace", "", "kotlin-stdlib"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public final class EnumEntriesList<T extends Enum<T>> extends AbstractList<T> implements EnumEntries<T>, Serializable {
|
||||
private final T[] entries;
|
||||
|
||||
public EnumEntriesList(T[] entries) {
|
||||
Intrinsics.checkNotNullParameter(entries, "entries");
|
||||
this.entries = entries;
|
||||
}
|
||||
|
||||
private final Object writeReplace() {
|
||||
return new EnumEntriesSerializationProxy(this.entries);
|
||||
}
|
||||
|
||||
/* JADX WARN: Multi-variable type inference failed */
|
||||
@Override // kotlin.collections.AbstractCollection, java.util.Collection
|
||||
public final /* bridge */ boolean contains(Object obj) {
|
||||
if (obj instanceof Enum) {
|
||||
return contains((EnumEntriesList<T>) obj);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override // kotlin.collections.AbstractList, kotlin.collections.AbstractCollection
|
||||
/* renamed from: getSize */
|
||||
public int get_size() {
|
||||
return this.entries.length;
|
||||
}
|
||||
|
||||
/* JADX WARN: Multi-variable type inference failed */
|
||||
@Override // kotlin.collections.AbstractList, java.util.List
|
||||
public final /* bridge */ int indexOf(Object obj) {
|
||||
if (obj instanceof Enum) {
|
||||
return indexOf((EnumEntriesList<T>) obj);
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* JADX WARN: Multi-variable type inference failed */
|
||||
@Override // kotlin.collections.AbstractList, java.util.List
|
||||
public final /* bridge */ int lastIndexOf(Object obj) {
|
||||
if (obj instanceof Enum) {
|
||||
return lastIndexOf((EnumEntriesList<T>) obj);
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
public boolean contains(T element) {
|
||||
Intrinsics.checkNotNullParameter(element, "element");
|
||||
return ((Enum) ArraysKt.getOrNull(this.entries, element.ordinal())) == element;
|
||||
}
|
||||
|
||||
@Override // kotlin.collections.AbstractList, java.util.List
|
||||
public T get(int index) {
|
||||
AbstractList.INSTANCE.checkElementIndex$kotlin_stdlib(index, this.entries.length);
|
||||
return this.entries[index];
|
||||
}
|
||||
|
||||
public int indexOf(T element) {
|
||||
Intrinsics.checkNotNullParameter(element, "element");
|
||||
int ordinal = element.ordinal();
|
||||
if (((Enum) ArraysKt.getOrNull(this.entries, ordinal)) == element) {
|
||||
return ordinal;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
public int lastIndexOf(T element) {
|
||||
Intrinsics.checkNotNullParameter(element, "element");
|
||||
return indexOf((Object) element);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
package kotlin.enums;
|
||||
|
||||
import com.google.firebase.remoteconfig.RemoteConfigConstants;
|
||||
import java.io.Serializable;
|
||||
import java.lang.Enum;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.jvm.internal.DefaultConstructorMarker;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
|
||||
@Metadata(d1 = {"\u0000*\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0010\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0011\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u0000\n\u0002\b\u0002\b\u0000\u0018\u0000 \f*\u000e\b\u0000\u0010\u0001*\b\u0012\u0004\u0012\u0002H\u00010\u00022\u00060\u0003j\u0002`\u0004:\u0001\fB\u0013\u0012\f\u0010\u0005\u001a\b\u0012\u0004\u0012\u00028\u00000\u0006¢\u0006\u0002\u0010\u0007J\b\u0010\n\u001a\u00020\u000bH\u0002R\u0014\u0010\b\u001a\b\u0012\u0004\u0012\u00028\u00000\tX\u0082\u0004¢\u0006\u0002\n\u0000¨\u0006\r"}, d2 = {"Lkotlin/enums/EnumEntriesSerializationProxy;", "E", "", "Ljava/io/Serializable;", "Lkotlin/io/Serializable;", RemoteConfigConstants.ResponseFieldKey.ENTRIES, "", "([Ljava/lang/Enum;)V", "c", "Ljava/lang/Class;", "readResolve", "", "Companion", "kotlin-stdlib"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public final class EnumEntriesSerializationProxy<E extends Enum<E>> implements Serializable {
|
||||
private static final Companion Companion = new Companion(null);
|
||||
private static final long serialVersionUID = 0;
|
||||
private final Class<E> c;
|
||||
|
||||
@Metadata(d1 = {"\u0000\u0012\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0010\t\n\u0000\b\u0082\u0003\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002R\u000e\u0010\u0003\u001a\u00020\u0004X\u0082T¢\u0006\u0002\n\u0000¨\u0006\u0005"}, d2 = {"Lkotlin/enums/EnumEntriesSerializationProxy$Companion;", "", "()V", "serialVersionUID", "", "kotlin-stdlib"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class Companion {
|
||||
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
|
||||
this();
|
||||
}
|
||||
|
||||
private Companion() {
|
||||
}
|
||||
}
|
||||
|
||||
public EnumEntriesSerializationProxy(E[] entries) {
|
||||
Intrinsics.checkNotNullParameter(entries, "entries");
|
||||
Class<E> cls = (Class<E>) entries.getClass().getComponentType();
|
||||
Intrinsics.checkNotNull(cls);
|
||||
this.c = cls;
|
||||
}
|
||||
|
||||
private final Object readResolve() {
|
||||
E[] enumConstants = this.c.getEnumConstants();
|
||||
Intrinsics.checkNotNullExpressionValue(enumConstants, "getEnumConstants(...)");
|
||||
return EnumEntriesKt.enumEntries(enumConstants);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user