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,223 @@
|
||||
package kotlin.collections;
|
||||
|
||||
import com.google.android.gms.measurement.internal.a;
|
||||
import com.google.firebase.analytics.FirebaseAnalytics;
|
||||
import java.math.BigDecimal;
|
||||
import java.math.BigInteger;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.Comparator;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.SortedSet;
|
||||
import java.util.TreeSet;
|
||||
import kotlin.Deprecated;
|
||||
import kotlin.DeprecatedSinceKotlin;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.OverloadResolutionByLambdaReturnType;
|
||||
import kotlin.ReplaceWith;
|
||||
import kotlin.SinceKotlin;
|
||||
import kotlin.internal.InlineOnly;
|
||||
import kotlin.jvm.JvmName;
|
||||
import kotlin.jvm.functions.Function1;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
import kotlin.jvm.internal.SourceDebugExtension;
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: package-private */
|
||||
@Metadata(d1 = {"\u0000d\n\u0000\n\u0002\u0010 \n\u0000\n\u0002\u0010\u001c\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\u001f\n\u0002\b\u0004\n\u0002\u0010\u000f\n\u0000\n\u0002\u0010\u0006\n\u0000\n\u0002\u0010\u0007\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0005\n\u0002\u0010\u0002\n\u0002\u0010!\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\u001a(\u0010\u0000\u001a\b\u0012\u0004\u0012\u0002H\u00020\u0001\"\u0004\b\u0000\u0010\u0002*\u0006\u0012\u0002\b\u00030\u00032\f\u0010\u0004\u001a\b\u0012\u0004\u0012\u0002H\u00020\u0005\u001aA\u0010\u0006\u001a\u0002H\u0007\"\u0010\b\u0000\u0010\u0007*\n\u0012\u0006\b\u0000\u0012\u0002H\u00020\b\"\u0004\b\u0001\u0010\u0002*\u0006\u0012\u0002\b\u00030\u00032\u0006\u0010\t\u001a\u0002H\u00072\f\u0010\u0004\u001a\b\u0012\u0004\u0012\u0002H\u00020\u0005¢\u0006\u0002\u0010\n\u001a)\u0010\u000b\u001a\u0004\u0018\u0001H\f\"\u000e\b\u0000\u0010\f*\b\u0012\u0004\u0012\u0002H\f0\r*\b\u0012\u0004\u0012\u0002H\f0\u0003H\u0007¢\u0006\u0002\u0010\u000e\u001a\u0019\u0010\u000b\u001a\u0004\u0018\u00010\u000f*\b\u0012\u0004\u0012\u00020\u000f0\u0003H\u0007¢\u0006\u0002\u0010\u0010\u001a\u0019\u0010\u000b\u001a\u0004\u0018\u00010\u0011*\b\u0012\u0004\u0012\u00020\u00110\u0003H\u0007¢\u0006\u0002\u0010\u0012\u001aG\u0010\u0013\u001a\u0004\u0018\u0001H\f\"\u0004\b\u0000\u0010\f\"\u000e\b\u0001\u0010\u0002*\b\u0012\u0004\u0012\u0002H\u00020\r*\b\u0012\u0004\u0012\u0002H\f0\u00032\u0012\u0010\u0014\u001a\u000e\u0012\u0004\u0012\u0002H\f\u0012\u0004\u0012\u0002H\u00020\u0015H\u0087\bø\u0001\u0000¢\u0006\u0002\u0010\u0016\u001a;\u0010\u0017\u001a\u0004\u0018\u0001H\f\"\u0004\b\u0000\u0010\f*\b\u0012\u0004\u0012\u0002H\f0\u00032\u001a\u0010\u0018\u001a\u0016\u0012\u0006\b\u0000\u0012\u0002H\f0\u0019j\n\u0012\u0006\b\u0000\u0012\u0002H\f`\u001aH\u0007¢\u0006\u0002\u0010\u001b\u001a)\u0010\u001c\u001a\u0004\u0018\u0001H\f\"\u000e\b\u0000\u0010\f*\b\u0012\u0004\u0012\u0002H\f0\r*\b\u0012\u0004\u0012\u0002H\f0\u0003H\u0007¢\u0006\u0002\u0010\u000e\u001a\u0019\u0010\u001c\u001a\u0004\u0018\u00010\u000f*\b\u0012\u0004\u0012\u00020\u000f0\u0003H\u0007¢\u0006\u0002\u0010\u0010\u001a\u0019\u0010\u001c\u001a\u0004\u0018\u00010\u0011*\b\u0012\u0004\u0012\u00020\u00110\u0003H\u0007¢\u0006\u0002\u0010\u0012\u001aG\u0010\u001d\u001a\u0004\u0018\u0001H\f\"\u0004\b\u0000\u0010\f\"\u000e\b\u0001\u0010\u0002*\b\u0012\u0004\u0012\u0002H\u00020\r*\b\u0012\u0004\u0012\u0002H\f0\u00032\u0012\u0010\u0014\u001a\u000e\u0012\u0004\u0012\u0002H\f\u0012\u0004\u0012\u0002H\u00020\u0015H\u0087\bø\u0001\u0000¢\u0006\u0002\u0010\u0016\u001a;\u0010\u001e\u001a\u0004\u0018\u0001H\f\"\u0004\b\u0000\u0010\f*\b\u0012\u0004\u0012\u0002H\f0\u00032\u001a\u0010\u0018\u001a\u0016\u0012\u0006\b\u0000\u0012\u0002H\f0\u0019j\n\u0012\u0006\b\u0000\u0012\u0002H\f`\u001aH\u0007¢\u0006\u0002\u0010\u001b\u001a\u0016\u0010\u001f\u001a\u00020 \"\u0004\b\u0000\u0010\f*\b\u0012\u0004\u0012\u0002H\f0!\u001a5\u0010\"\u001a\u00020#\"\u0004\b\u0000\u0010\f*\b\u0012\u0004\u0012\u0002H\f0\u00032\u0012\u0010\u0014\u001a\u000e\u0012\u0004\u0012\u0002H\f\u0012\u0004\u0012\u00020#0\u0015H\u0087\bø\u0001\u0000¢\u0006\u0002\b$\u001a5\u0010\"\u001a\u00020%\"\u0004\b\u0000\u0010\f*\b\u0012\u0004\u0012\u0002H\f0\u00032\u0012\u0010\u0014\u001a\u000e\u0012\u0004\u0012\u0002H\f\u0012\u0004\u0012\u00020%0\u0015H\u0087\bø\u0001\u0000¢\u0006\u0002\b&\u001a&\u0010'\u001a\b\u0012\u0004\u0012\u0002H\f0(\"\u000e\b\u0000\u0010\f*\b\u0012\u0004\u0012\u0002H\f0\r*\b\u0012\u0004\u0012\u0002H\f0\u0003\u001a8\u0010'\u001a\b\u0012\u0004\u0012\u0002H\f0(\"\u0004\b\u0000\u0010\f*\b\u0012\u0004\u0012\u0002H\f0\u00032\u001a\u0010\u0018\u001a\u0016\u0012\u0006\b\u0000\u0012\u0002H\f0\u0019j\n\u0012\u0006\b\u0000\u0012\u0002H\f`\u001a\u0082\u0002\u0007\n\u0005\b\u009920\u0001¨\u0006)"}, d2 = {"filterIsInstance", "", "R", "", "klass", "Ljava/lang/Class;", "filterIsInstanceTo", "C", "", FirebaseAnalytics.Param.DESTINATION, "(Ljava/lang/Iterable;Ljava/util/Collection;Ljava/lang/Class;)Ljava/util/Collection;", "max", "T", "", "(Ljava/lang/Iterable;)Ljava/lang/Comparable;", "", "(Ljava/lang/Iterable;)Ljava/lang/Double;", "", "(Ljava/lang/Iterable;)Ljava/lang/Float;", "maxBy", "selector", "Lkotlin/Function1;", "(Ljava/lang/Iterable;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;", "maxWith", "comparator", "Ljava/util/Comparator;", "Lkotlin/Comparator;", "(Ljava/lang/Iterable;Ljava/util/Comparator;)Ljava/lang/Object;", "min", "minBy", "minWith", "reverse", "", "", "sumOf", "Ljava/math/BigDecimal;", "sumOfBigDecimal", "Ljava/math/BigInteger;", "sumOfBigInteger", "toSortedSet", "Ljava/util/SortedSet;", "kotlin-stdlib"}, k = 5, mv = {1, 9, 0}, xi = 49, xs = "kotlin/collections/CollectionsKt")
|
||||
@SourceDebugExtension({"SMAP\n_CollectionsJvm.kt\nKotlin\n*S Kotlin\n*F\n+ 1 _CollectionsJvm.kt\nkotlin/collections/CollectionsKt___CollectionsJvmKt\n+ 2 _Collections.kt\nkotlin/collections/CollectionsKt___CollectionsKt\n*L\n1#1,168:1\n1963#2,14:169\n2333#2,14:183\n*S KotlinDebug\n*F\n+ 1 _CollectionsJvm.kt\nkotlin/collections/CollectionsKt___CollectionsJvmKt\n*L\n89#1:169,14\n126#1:183,14\n*E\n"})
|
||||
/* loaded from: classes3.dex */
|
||||
public class CollectionsKt___CollectionsJvmKt extends CollectionsKt__ReversedViewsKt {
|
||||
public static <R> List<R> filterIsInstance(Iterable<?> iterable, Class<R> klass) {
|
||||
Intrinsics.checkNotNullParameter(iterable, "<this>");
|
||||
Intrinsics.checkNotNullParameter(klass, "klass");
|
||||
return (List) filterIsInstanceTo(iterable, new ArrayList(), klass);
|
||||
}
|
||||
|
||||
public static final <C extends Collection<? super R>, R> C filterIsInstanceTo(Iterable<?> iterable, C destination, Class<R> klass) {
|
||||
Intrinsics.checkNotNullParameter(iterable, "<this>");
|
||||
Intrinsics.checkNotNullParameter(destination, "destination");
|
||||
Intrinsics.checkNotNullParameter(klass, "klass");
|
||||
for (Object obj : iterable) {
|
||||
if (klass.isInstance(obj)) {
|
||||
destination.add(obj);
|
||||
}
|
||||
}
|
||||
return destination;
|
||||
}
|
||||
|
||||
@Deprecated(message = "Use maxOrNull instead.", replaceWith = @ReplaceWith(expression = "this.maxOrNull()", imports = {}))
|
||||
@SinceKotlin(version = "1.1")
|
||||
@DeprecatedSinceKotlin(errorSince = "1.5", hiddenSince = "1.6", warningSince = "1.4")
|
||||
/* renamed from: max, reason: collision with other method in class */
|
||||
public static final /* synthetic */ Double m543max(Iterable iterable) {
|
||||
Intrinsics.checkNotNullParameter(iterable, "<this>");
|
||||
return CollectionsKt___CollectionsKt.m551maxOrNull((Iterable<Double>) iterable);
|
||||
}
|
||||
|
||||
/* JADX WARN: Type inference failed for: r0v10 */
|
||||
/* JADX WARN: Type inference failed for: r0v2, types: [T, java.lang.Object] */
|
||||
/* JADX WARN: Type inference failed for: r0v3 */
|
||||
/* JADX WARN: Type inference failed for: r0v4, types: [T] */
|
||||
/* JADX WARN: Type inference failed for: r0v9 */
|
||||
@Deprecated(message = "Use maxByOrNull instead.", replaceWith = @ReplaceWith(expression = "this.maxByOrNull(selector)", imports = {}))
|
||||
@DeprecatedSinceKotlin(errorSince = "1.5", hiddenSince = "1.6", warningSince = "1.4")
|
||||
public static final /* synthetic */ <T, R extends Comparable<? super R>> T maxBy(Iterable<? extends T> iterable, Function1<? super T, ? extends R> function1) {
|
||||
Iterator t2 = a.t(iterable, "<this>", function1, "selector");
|
||||
if (!t2.hasNext()) {
|
||||
return null;
|
||||
}
|
||||
?? r02 = (Object) t2.next();
|
||||
if (!t2.hasNext()) {
|
||||
return r02;
|
||||
}
|
||||
R invoke = function1.invoke(r02);
|
||||
do {
|
||||
Object obj = (Object) t2.next();
|
||||
R invoke2 = function1.invoke(obj);
|
||||
r02 = r02;
|
||||
if (invoke.compareTo(invoke2) < 0) {
|
||||
invoke = invoke2;
|
||||
r02 = (T) obj;
|
||||
}
|
||||
} while (t2.hasNext());
|
||||
return (T) r02;
|
||||
}
|
||||
|
||||
@Deprecated(message = "Use maxWithOrNull instead.", replaceWith = @ReplaceWith(expression = "this.maxWithOrNull(comparator)", imports = {}))
|
||||
@DeprecatedSinceKotlin(errorSince = "1.5", hiddenSince = "1.6", warningSince = "1.4")
|
||||
public static final /* synthetic */ Object maxWith(Iterable iterable, Comparator comparator) {
|
||||
Intrinsics.checkNotNullParameter(iterable, "<this>");
|
||||
Intrinsics.checkNotNullParameter(comparator, "comparator");
|
||||
return CollectionsKt___CollectionsKt.maxWithOrNull(iterable, comparator);
|
||||
}
|
||||
|
||||
@Deprecated(message = "Use minOrNull instead.", replaceWith = @ReplaceWith(expression = "this.minOrNull()", imports = {}))
|
||||
@SinceKotlin(version = "1.1")
|
||||
@DeprecatedSinceKotlin(errorSince = "1.5", hiddenSince = "1.6", warningSince = "1.4")
|
||||
/* renamed from: min, reason: collision with other method in class */
|
||||
public static final /* synthetic */ Double m545min(Iterable iterable) {
|
||||
Intrinsics.checkNotNullParameter(iterable, "<this>");
|
||||
return CollectionsKt___CollectionsKt.m559minOrNull((Iterable<Double>) iterable);
|
||||
}
|
||||
|
||||
/* JADX WARN: Type inference failed for: r0v10 */
|
||||
/* JADX WARN: Type inference failed for: r0v2, types: [T, java.lang.Object] */
|
||||
/* JADX WARN: Type inference failed for: r0v3 */
|
||||
/* JADX WARN: Type inference failed for: r0v4, types: [T] */
|
||||
/* JADX WARN: Type inference failed for: r0v9 */
|
||||
@Deprecated(message = "Use minByOrNull instead.", replaceWith = @ReplaceWith(expression = "this.minByOrNull(selector)", imports = {}))
|
||||
@DeprecatedSinceKotlin(errorSince = "1.5", hiddenSince = "1.6", warningSince = "1.4")
|
||||
public static final /* synthetic */ <T, R extends Comparable<? super R>> T minBy(Iterable<? extends T> iterable, Function1<? super T, ? extends R> function1) {
|
||||
Iterator t2 = a.t(iterable, "<this>", function1, "selector");
|
||||
if (!t2.hasNext()) {
|
||||
return null;
|
||||
}
|
||||
?? r02 = (Object) t2.next();
|
||||
if (!t2.hasNext()) {
|
||||
return r02;
|
||||
}
|
||||
R invoke = function1.invoke(r02);
|
||||
do {
|
||||
Object obj = (Object) t2.next();
|
||||
R invoke2 = function1.invoke(obj);
|
||||
r02 = r02;
|
||||
if (invoke.compareTo(invoke2) > 0) {
|
||||
invoke = invoke2;
|
||||
r02 = (T) obj;
|
||||
}
|
||||
} while (t2.hasNext());
|
||||
return (T) r02;
|
||||
}
|
||||
|
||||
@Deprecated(message = "Use minWithOrNull instead.", replaceWith = @ReplaceWith(expression = "this.minWithOrNull(comparator)", imports = {}))
|
||||
@DeprecatedSinceKotlin(errorSince = "1.5", hiddenSince = "1.6", warningSince = "1.4")
|
||||
public static final /* synthetic */ Object minWith(Iterable iterable, Comparator comparator) {
|
||||
Intrinsics.checkNotNullParameter(iterable, "<this>");
|
||||
Intrinsics.checkNotNullParameter(comparator, "comparator");
|
||||
return CollectionsKt___CollectionsKt.minWithOrNull(iterable, comparator);
|
||||
}
|
||||
|
||||
public static <T> void reverse(List<T> list) {
|
||||
Intrinsics.checkNotNullParameter(list, "<this>");
|
||||
Collections.reverse(list);
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.4")
|
||||
@InlineOnly
|
||||
@JvmName(name = "sumOfBigDecimal")
|
||||
@OverloadResolutionByLambdaReturnType
|
||||
private static final <T> BigDecimal sumOfBigDecimal(Iterable<? extends T> iterable, Function1<? super T, ? extends BigDecimal> selector) {
|
||||
Intrinsics.checkNotNullParameter(iterable, "<this>");
|
||||
Intrinsics.checkNotNullParameter(selector, "selector");
|
||||
BigDecimal valueOf = BigDecimal.valueOf(0L);
|
||||
Intrinsics.checkNotNullExpressionValue(valueOf, "valueOf(...)");
|
||||
Iterator<? extends T> it = iterable.iterator();
|
||||
while (it.hasNext()) {
|
||||
valueOf = valueOf.add(selector.invoke(it.next()));
|
||||
Intrinsics.checkNotNullExpressionValue(valueOf, "add(...)");
|
||||
}
|
||||
return valueOf;
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.4")
|
||||
@InlineOnly
|
||||
@JvmName(name = "sumOfBigInteger")
|
||||
@OverloadResolutionByLambdaReturnType
|
||||
private static final <T> BigInteger sumOfBigInteger(Iterable<? extends T> iterable, Function1<? super T, ? extends BigInteger> selector) {
|
||||
Intrinsics.checkNotNullParameter(iterable, "<this>");
|
||||
Intrinsics.checkNotNullParameter(selector, "selector");
|
||||
BigInteger valueOf = BigInteger.valueOf(0L);
|
||||
Intrinsics.checkNotNullExpressionValue(valueOf, "valueOf(...)");
|
||||
Iterator<? extends T> it = iterable.iterator();
|
||||
while (it.hasNext()) {
|
||||
valueOf = valueOf.add(selector.invoke(it.next()));
|
||||
Intrinsics.checkNotNullExpressionValue(valueOf, "add(...)");
|
||||
}
|
||||
return valueOf;
|
||||
}
|
||||
|
||||
public static final <T extends Comparable<? super T>> SortedSet<T> toSortedSet(Iterable<? extends T> iterable) {
|
||||
Intrinsics.checkNotNullParameter(iterable, "<this>");
|
||||
return (SortedSet) CollectionsKt___CollectionsKt.toCollection(iterable, new TreeSet());
|
||||
}
|
||||
|
||||
@Deprecated(message = "Use maxOrNull instead.", replaceWith = @ReplaceWith(expression = "this.maxOrNull()", imports = {}))
|
||||
@SinceKotlin(version = "1.1")
|
||||
@DeprecatedSinceKotlin(errorSince = "1.5", hiddenSince = "1.6", warningSince = "1.4")
|
||||
/* renamed from: max, reason: collision with other method in class */
|
||||
public static final /* synthetic */ Float m544max(Iterable iterable) {
|
||||
Intrinsics.checkNotNullParameter(iterable, "<this>");
|
||||
return CollectionsKt___CollectionsKt.m552maxOrNull((Iterable<Float>) iterable);
|
||||
}
|
||||
|
||||
@Deprecated(message = "Use minOrNull instead.", replaceWith = @ReplaceWith(expression = "this.minOrNull()", imports = {}))
|
||||
@SinceKotlin(version = "1.1")
|
||||
@DeprecatedSinceKotlin(errorSince = "1.5", hiddenSince = "1.6", warningSince = "1.4")
|
||||
/* renamed from: min, reason: collision with other method in class */
|
||||
public static final /* synthetic */ Float m546min(Iterable iterable) {
|
||||
Intrinsics.checkNotNullParameter(iterable, "<this>");
|
||||
return CollectionsKt___CollectionsKt.m560minOrNull((Iterable<Float>) iterable);
|
||||
}
|
||||
|
||||
public static final <T> SortedSet<T> toSortedSet(Iterable<? extends T> iterable, Comparator<? super T> comparator) {
|
||||
Intrinsics.checkNotNullParameter(iterable, "<this>");
|
||||
Intrinsics.checkNotNullParameter(comparator, "comparator");
|
||||
return (SortedSet) CollectionsKt___CollectionsKt.toCollection(iterable, new TreeSet(comparator));
|
||||
}
|
||||
|
||||
@Deprecated(message = "Use maxOrNull instead.", replaceWith = @ReplaceWith(expression = "this.maxOrNull()", imports = {}))
|
||||
@DeprecatedSinceKotlin(errorSince = "1.5", hiddenSince = "1.6", warningSince = "1.4")
|
||||
public static final /* synthetic */ Comparable max(Iterable iterable) {
|
||||
Intrinsics.checkNotNullParameter(iterable, "<this>");
|
||||
return CollectionsKt___CollectionsKt.maxOrNull(iterable);
|
||||
}
|
||||
|
||||
@Deprecated(message = "Use minOrNull instead.", replaceWith = @ReplaceWith(expression = "this.minOrNull()", imports = {}))
|
||||
@DeprecatedSinceKotlin(errorSince = "1.5", hiddenSince = "1.6", warningSince = "1.4")
|
||||
public static final /* synthetic */ Comparable min(Iterable iterable) {
|
||||
Intrinsics.checkNotNullParameter(iterable, "<this>");
|
||||
return CollectionsKt___CollectionsKt.minOrNull(iterable);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user