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,148 @@
package kotlin.text;
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.Comparator;
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.collections.IntIterator;
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 = {"\u0000B\n\u0000\n\u0002\u0010\f\n\u0002\u0010\r\n\u0000\n\u0002\u0010\b\n\u0002\b\u0004\n\u0002\u0010\u000f\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0005\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\u001a\u0015\u0010\u0000\u001a\u00020\u0001*\u00020\u00022\u0006\u0010\u0003\u001a\u00020\u0004H\u0087\b\u001a\u0013\u0010\u0005\u001a\u0004\u0018\u00010\u0001*\u00020\u0002H\u0007¢\u0006\u0002\u0010\u0006\u001a;\u0010\u0007\u001a\u0004\u0018\u00010\u0001\"\u000e\b\u0000\u0010\b*\b\u0012\u0004\u0012\u0002H\b0\t*\u00020\u00022\u0012\u0010\n\u001a\u000e\u0012\u0004\u0012\u00020\u0001\u0012\u0004\u0012\u0002H\b0\u000bH\u0087\bø\u0001\u0000¢\u0006\u0002\u0010\f\u001a/\u0010\r\u001a\u0004\u0018\u00010\u0001*\u00020\u00022\u001a\u0010\u000e\u001a\u0016\u0012\u0006\b\u0000\u0012\u00020\u00010\u000fj\n\u0012\u0006\b\u0000\u0012\u00020\u0001`\u0010H\u0007¢\u0006\u0002\u0010\u0011\u001a\u0013\u0010\u0012\u001a\u0004\u0018\u00010\u0001*\u00020\u0002H\u0007¢\u0006\u0002\u0010\u0006\u001a;\u0010\u0013\u001a\u0004\u0018\u00010\u0001\"\u000e\b\u0000\u0010\b*\b\u0012\u0004\u0012\u0002H\b0\t*\u00020\u00022\u0012\u0010\n\u001a\u000e\u0012\u0004\u0012\u00020\u0001\u0012\u0004\u0012\u0002H\b0\u000bH\u0087\bø\u0001\u0000¢\u0006\u0002\u0010\f\u001a/\u0010\u0014\u001a\u0004\u0018\u00010\u0001*\u00020\u00022\u001a\u0010\u000e\u001a\u0016\u0012\u0006\b\u0000\u0012\u00020\u00010\u000fj\n\u0012\u0006\b\u0000\u0012\u00020\u0001`\u0010H\u0007¢\u0006\u0002\u0010\u0011\u001a)\u0010\u0015\u001a\u00020\u0016*\u00020\u00022\u0012\u0010\n\u001a\u000e\u0012\u0004\u0012\u00020\u0001\u0012\u0004\u0012\u00020\u00160\u000bH\u0087\bø\u0001\u0000¢\u0006\u0002\b\u0017\u001a)\u0010\u0015\u001a\u00020\u0018*\u00020\u00022\u0012\u0010\n\u001a\u000e\u0012\u0004\u0012\u00020\u0001\u0012\u0004\u0012\u00020\u00180\u000bH\u0087\bø\u0001\u0000¢\u0006\u0002\b\u0019\u001a\u0010\u0010\u001a\u001a\b\u0012\u0004\u0012\u00020\u00010\u001b*\u00020\u0002\u0082\u0002\u0007\n\u0005\b\u009920\u0001¨\u0006\u001c"}, d2 = {"elementAt", "", "", FirebaseAnalytics.Param.INDEX, "", "max", "(Ljava/lang/CharSequence;)Ljava/lang/Character;", "maxBy", "R", "", "selector", "Lkotlin/Function1;", "(Ljava/lang/CharSequence;Lkotlin/jvm/functions/Function1;)Ljava/lang/Character;", "maxWith", "comparator", "Ljava/util/Comparator;", "Lkotlin/Comparator;", "(Ljava/lang/CharSequence;Ljava/util/Comparator;)Ljava/lang/Character;", "min", "minBy", "minWith", "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/text/StringsKt")
@SourceDebugExtension({"SMAP\n_StringsJvm.kt\nKotlin\n*S Kotlin\n*F\n+ 1 _StringsJvm.kt\nkotlin/text/StringsKt___StringsJvmKt\n+ 2 _Strings.kt\nkotlin/text/StringsKt___StringsKt\n*L\n1#1,108:1\n1239#2,14:109\n1521#2,14:123\n*S KotlinDebug\n*F\n+ 1 _StringsJvm.kt\nkotlin/text/StringsKt___StringsJvmKt\n*L\n45#1:109,14\n66#1:123,14\n*E\n"})
/* loaded from: classes3.dex */
public class StringsKt___StringsJvmKt extends StringsKt__StringsKt {
@InlineOnly
private static final char elementAt(CharSequence charSequence, int i) {
Intrinsics.checkNotNullParameter(charSequence, "<this>");
return charSequence.charAt(i);
}
@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 */ Character max(CharSequence charSequence) {
Intrinsics.checkNotNullParameter(charSequence, "<this>");
return StringsKt___StringsKt.maxOrNull(charSequence);
}
@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 */ <R extends Comparable<? super R>> Character maxBy(CharSequence charSequence, Function1<? super Character, ? extends R> function1) {
if (a.c(charSequence, "<this>", function1, "selector") == 0) {
return null;
}
char charAt = charSequence.charAt(0);
int lastIndex = StringsKt__StringsKt.getLastIndex(charSequence);
if (lastIndex == 0) {
return Character.valueOf(charAt);
}
R invoke = function1.invoke(Character.valueOf(charAt));
IntIterator w3 = a.w(1, lastIndex);
while (w3.hasNext()) {
char charAt2 = charSequence.charAt(w3.nextInt());
R invoke2 = function1.invoke(Character.valueOf(charAt2));
if (invoke.compareTo(invoke2) < 0) {
charAt = charAt2;
invoke = invoke2;
}
}
return Character.valueOf(charAt);
}
@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 */ Character maxWith(CharSequence charSequence, Comparator comparator) {
Intrinsics.checkNotNullParameter(charSequence, "<this>");
Intrinsics.checkNotNullParameter(comparator, "comparator");
return StringsKt___StringsKt.maxWithOrNull(charSequence, comparator);
}
@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 */ Character min(CharSequence charSequence) {
Intrinsics.checkNotNullParameter(charSequence, "<this>");
return StringsKt___StringsKt.minOrNull(charSequence);
}
@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 */ <R extends Comparable<? super R>> Character minBy(CharSequence charSequence, Function1<? super Character, ? extends R> function1) {
if (a.c(charSequence, "<this>", function1, "selector") == 0) {
return null;
}
char charAt = charSequence.charAt(0);
int lastIndex = StringsKt__StringsKt.getLastIndex(charSequence);
if (lastIndex == 0) {
return Character.valueOf(charAt);
}
R invoke = function1.invoke(Character.valueOf(charAt));
IntIterator w3 = a.w(1, lastIndex);
while (w3.hasNext()) {
char charAt2 = charSequence.charAt(w3.nextInt());
R invoke2 = function1.invoke(Character.valueOf(charAt2));
if (invoke.compareTo(invoke2) > 0) {
charAt = charAt2;
invoke = invoke2;
}
}
return Character.valueOf(charAt);
}
@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 */ Character minWith(CharSequence charSequence, Comparator comparator) {
Intrinsics.checkNotNullParameter(charSequence, "<this>");
Intrinsics.checkNotNullParameter(comparator, "comparator");
return StringsKt___StringsKt.minWithOrNull(charSequence, comparator);
}
@SinceKotlin(version = "1.4")
@InlineOnly
@JvmName(name = "sumOfBigDecimal")
@OverloadResolutionByLambdaReturnType
private static final BigDecimal sumOfBigDecimal(CharSequence charSequence, Function1<? super Character, ? extends BigDecimal> selector) {
Intrinsics.checkNotNullParameter(charSequence, "<this>");
Intrinsics.checkNotNullParameter(selector, "selector");
BigDecimal valueOf = BigDecimal.valueOf(0L);
Intrinsics.checkNotNullExpressionValue(valueOf, "valueOf(...)");
for (int i = 0; i < charSequence.length(); i++) {
valueOf = valueOf.add((BigDecimal) a.g(charSequence, i, selector));
Intrinsics.checkNotNullExpressionValue(valueOf, "add(...)");
}
return valueOf;
}
@SinceKotlin(version = "1.4")
@InlineOnly
@JvmName(name = "sumOfBigInteger")
@OverloadResolutionByLambdaReturnType
private static final BigInteger sumOfBigInteger(CharSequence charSequence, Function1<? super Character, ? extends BigInteger> selector) {
Intrinsics.checkNotNullParameter(charSequence, "<this>");
Intrinsics.checkNotNullParameter(selector, "selector");
BigInteger valueOf = BigInteger.valueOf(0L);
Intrinsics.checkNotNullExpressionValue(valueOf, "valueOf(...)");
for (int i = 0; i < charSequence.length(); i++) {
valueOf = valueOf.add((BigInteger) a.g(charSequence, i, selector));
Intrinsics.checkNotNullExpressionValue(valueOf, "add(...)");
}
return valueOf;
}
public static final SortedSet<Character> toSortedSet(CharSequence charSequence) {
Intrinsics.checkNotNullParameter(charSequence, "<this>");
return (SortedSet) StringsKt___StringsKt.toCollection(charSequence, new TreeSet());
}
}