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,233 @@
|
||||
package kotlin.text;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.BigInteger;
|
||||
import java.math.MathContext;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.SinceKotlin;
|
||||
import kotlin.internal.InlineOnly;
|
||||
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 = {"\u0000X\n\u0002\b\u0003\n\u0002\u0010\u000e\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\b\n\u0002\b\u0002\n\u0002\u0010\u000b\n\u0000\n\u0002\u0010\u0005\n\u0000\n\u0002\u0010\u0006\n\u0002\b\u0003\n\u0002\u0010\u0007\n\u0002\b\u0004\n\u0002\u0010\t\n\u0000\n\u0002\u0010\n\n\u0002\b\u0002\u001a4\u0010\u0000\u001a\u0004\u0018\u0001H\u0001\"\u0004\b\u0000\u0010\u00012\u0006\u0010\u0002\u001a\u00020\u00032\u0012\u0010\u0004\u001a\u000e\u0012\u0004\u0012\u00020\u0003\u0012\u0004\u0012\u0002H\u00010\u0005H\u0082\b¢\u0006\u0004\b\u0006\u0010\u0007\u001a\r\u0010\b\u001a\u00020\t*\u00020\u0003H\u0087\b\u001a\u0015\u0010\b\u001a\u00020\t*\u00020\u00032\u0006\u0010\n\u001a\u00020\u000bH\u0087\b\u001a\u000e\u0010\f\u001a\u0004\u0018\u00010\t*\u00020\u0003H\u0007\u001a\u0016\u0010\f\u001a\u0004\u0018\u00010\t*\u00020\u00032\u0006\u0010\n\u001a\u00020\u000bH\u0007\u001a\r\u0010\r\u001a\u00020\u000e*\u00020\u0003H\u0087\b\u001a\u0015\u0010\r\u001a\u00020\u000e*\u00020\u00032\u0006\u0010\u000f\u001a\u00020\u0010H\u0087\b\u001a\u000e\u0010\u0011\u001a\u0004\u0018\u00010\u000e*\u00020\u0003H\u0007\u001a\u0016\u0010\u0011\u001a\u0004\u0018\u00010\u000e*\u00020\u00032\u0006\u0010\u000f\u001a\u00020\u0010H\u0007\u001a\u000f\u0010\u0012\u001a\u00020\u0013*\u0004\u0018\u00010\u0003H\u0087\b\u001a\r\u0010\u0014\u001a\u00020\u0015*\u00020\u0003H\u0087\b\u001a\u0015\u0010\u0014\u001a\u00020\u0015*\u00020\u00032\u0006\u0010\u000f\u001a\u00020\u0010H\u0087\b\u001a\r\u0010\u0016\u001a\u00020\u0017*\u00020\u0003H\u0087\b\u001a\u0013\u0010\u0018\u001a\u0004\u0018\u00010\u0017*\u00020\u0003H\u0007¢\u0006\u0002\u0010\u0019\u001a\r\u0010\u001a\u001a\u00020\u001b*\u00020\u0003H\u0087\b\u001a\u0013\u0010\u001c\u001a\u0004\u0018\u00010\u001b*\u00020\u0003H\u0007¢\u0006\u0002\u0010\u001d\u001a\r\u0010\u001e\u001a\u00020\u0010*\u00020\u0003H\u0087\b\u001a\u0015\u0010\u001e\u001a\u00020\u0010*\u00020\u00032\u0006\u0010\u000f\u001a\u00020\u0010H\u0087\b\u001a\r\u0010\u001f\u001a\u00020 *\u00020\u0003H\u0087\b\u001a\u0015\u0010\u001f\u001a\u00020 *\u00020\u00032\u0006\u0010\u000f\u001a\u00020\u0010H\u0087\b\u001a\r\u0010!\u001a\u00020\"*\u00020\u0003H\u0087\b\u001a\u0015\u0010!\u001a\u00020\"*\u00020\u00032\u0006\u0010\u000f\u001a\u00020\u0010H\u0087\b\u001a\u0015\u0010#\u001a\u00020\u0003*\u00020\u00152\u0006\u0010\u000f\u001a\u00020\u0010H\u0087\b\u001a\u0015\u0010#\u001a\u00020\u0003*\u00020\u00102\u0006\u0010\u000f\u001a\u00020\u0010H\u0087\b\u001a\u0015\u0010#\u001a\u00020\u0003*\u00020 2\u0006\u0010\u000f\u001a\u00020\u0010H\u0087\b\u001a\u0015\u0010#\u001a\u00020\u0003*\u00020\"2\u0006\u0010\u000f\u001a\u00020\u0010H\u0087\b¨\u0006$"}, d2 = {"screenFloatValue", "T", "str", "", "parse", "Lkotlin/Function1;", "screenFloatValue$StringsKt__StringNumberConversionsJVMKt", "(Ljava/lang/String;Lkotlin/jvm/functions/Function1;)Ljava/lang/Object;", "toBigDecimal", "Ljava/math/BigDecimal;", "mathContext", "Ljava/math/MathContext;", "toBigDecimalOrNull", "toBigInteger", "Ljava/math/BigInteger;", "radix", "", "toBigIntegerOrNull", "toBoolean", "", "toByte", "", "toDouble", "", "toDoubleOrNull", "(Ljava/lang/String;)Ljava/lang/Double;", "toFloat", "", "toFloatOrNull", "(Ljava/lang/String;)Ljava/lang/Float;", "toInt", "toLong", "", "toShort", "", "toString", "kotlin-stdlib"}, k = 5, mv = {1, 9, 0}, xi = 49, xs = "kotlin/text/StringsKt")
|
||||
@SourceDebugExtension({"SMAP\nStringNumberConversionsJVM.kt\nKotlin\n*S Kotlin\n*F\n+ 1 StringNumberConversionsJVM.kt\nkotlin/text/StringsKt__StringNumberConversionsJVMKt\n*L\n1#1,274:1\n265#1,7:275\n265#1,7:282\n265#1,7:289\n265#1,7:296\n*S KotlinDebug\n*F\n+ 1 StringNumberConversionsJVM.kt\nkotlin/text/StringsKt__StringNumberConversionsJVMKt\n*L\n142#1:275,7\n149#1:282,7\n229#1:289,7\n240#1:296,7\n*E\n"})
|
||||
/* loaded from: classes3.dex */
|
||||
public class StringsKt__StringNumberConversionsJVMKt extends StringsKt__StringBuilderKt {
|
||||
private static final <T> T screenFloatValue$StringsKt__StringNumberConversionsJVMKt(String str, Function1<? super String, ? extends T> function1) {
|
||||
try {
|
||||
if (ScreenFloatValueRegEx.value.matches(str)) {
|
||||
return function1.invoke(str);
|
||||
}
|
||||
} catch (NumberFormatException unused) {
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.2")
|
||||
@InlineOnly
|
||||
private static final BigDecimal toBigDecimal(String str) {
|
||||
Intrinsics.checkNotNullParameter(str, "<this>");
|
||||
return new BigDecimal(str);
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.2")
|
||||
public static final BigDecimal toBigDecimalOrNull(String str) {
|
||||
Intrinsics.checkNotNullParameter(str, "<this>");
|
||||
try {
|
||||
if (ScreenFloatValueRegEx.value.matches(str)) {
|
||||
return new BigDecimal(str);
|
||||
}
|
||||
} catch (NumberFormatException unused) {
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.2")
|
||||
@InlineOnly
|
||||
private static final BigInteger toBigInteger(String str) {
|
||||
Intrinsics.checkNotNullParameter(str, "<this>");
|
||||
return new BigInteger(str);
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.2")
|
||||
public static final BigInteger toBigIntegerOrNull(String str) {
|
||||
Intrinsics.checkNotNullParameter(str, "<this>");
|
||||
return toBigIntegerOrNull(str, 10);
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.4")
|
||||
@InlineOnly
|
||||
private static final boolean toBoolean(String str) {
|
||||
return Boolean.parseBoolean(str);
|
||||
}
|
||||
|
||||
@InlineOnly
|
||||
private static final byte toByte(String str) {
|
||||
Intrinsics.checkNotNullParameter(str, "<this>");
|
||||
return Byte.parseByte(str);
|
||||
}
|
||||
|
||||
@InlineOnly
|
||||
private static final double toDouble(String str) {
|
||||
Intrinsics.checkNotNullParameter(str, "<this>");
|
||||
return Double.parseDouble(str);
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.1")
|
||||
public static final Double toDoubleOrNull(String str) {
|
||||
Intrinsics.checkNotNullParameter(str, "<this>");
|
||||
try {
|
||||
if (ScreenFloatValueRegEx.value.matches(str)) {
|
||||
return Double.valueOf(Double.parseDouble(str));
|
||||
}
|
||||
} catch (NumberFormatException unused) {
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@InlineOnly
|
||||
private static final float toFloat(String str) {
|
||||
Intrinsics.checkNotNullParameter(str, "<this>");
|
||||
return Float.parseFloat(str);
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.1")
|
||||
public static final Float toFloatOrNull(String str) {
|
||||
Intrinsics.checkNotNullParameter(str, "<this>");
|
||||
try {
|
||||
if (ScreenFloatValueRegEx.value.matches(str)) {
|
||||
return Float.valueOf(Float.parseFloat(str));
|
||||
}
|
||||
} catch (NumberFormatException unused) {
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@InlineOnly
|
||||
private static final int toInt(String str) {
|
||||
Intrinsics.checkNotNullParameter(str, "<this>");
|
||||
return Integer.parseInt(str);
|
||||
}
|
||||
|
||||
@InlineOnly
|
||||
private static final long toLong(String str) {
|
||||
Intrinsics.checkNotNullParameter(str, "<this>");
|
||||
return Long.parseLong(str);
|
||||
}
|
||||
|
||||
@InlineOnly
|
||||
private static final short toShort(String str) {
|
||||
Intrinsics.checkNotNullParameter(str, "<this>");
|
||||
return Short.parseShort(str);
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.1")
|
||||
@InlineOnly
|
||||
private static final String toString(byte b4, int i) {
|
||||
String num = Integer.toString(b4, CharsKt__CharJVMKt.checkRadix(i));
|
||||
Intrinsics.checkNotNullExpressionValue(num, "toString(...)");
|
||||
return num;
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.2")
|
||||
@InlineOnly
|
||||
private static final BigDecimal toBigDecimal(String str, MathContext mathContext) {
|
||||
Intrinsics.checkNotNullParameter(str, "<this>");
|
||||
Intrinsics.checkNotNullParameter(mathContext, "mathContext");
|
||||
return new BigDecimal(str, mathContext);
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.2")
|
||||
@InlineOnly
|
||||
private static final BigInteger toBigInteger(String str, int i) {
|
||||
Intrinsics.checkNotNullParameter(str, "<this>");
|
||||
return new BigInteger(str, CharsKt__CharJVMKt.checkRadix(i));
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.2")
|
||||
public static final BigInteger toBigIntegerOrNull(String str, int i) {
|
||||
Intrinsics.checkNotNullParameter(str, "<this>");
|
||||
CharsKt__CharJVMKt.checkRadix(i);
|
||||
int length = str.length();
|
||||
if (length == 0) {
|
||||
return null;
|
||||
}
|
||||
if (length != 1) {
|
||||
for (int i4 = str.charAt(0) == '-' ? 1 : 0; i4 < length; i4++) {
|
||||
if (CharsKt__CharJVMKt.digitOf(str.charAt(i4), i) < 0) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
} else if (CharsKt__CharJVMKt.digitOf(str.charAt(0), i) < 0) {
|
||||
return null;
|
||||
}
|
||||
return new BigInteger(str, CharsKt__CharJVMKt.checkRadix(i));
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.1")
|
||||
@InlineOnly
|
||||
private static final byte toByte(String str, int i) {
|
||||
Intrinsics.checkNotNullParameter(str, "<this>");
|
||||
return Byte.parseByte(str, CharsKt__CharJVMKt.checkRadix(i));
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.1")
|
||||
@InlineOnly
|
||||
private static final int toInt(String str, int i) {
|
||||
Intrinsics.checkNotNullParameter(str, "<this>");
|
||||
return Integer.parseInt(str, CharsKt__CharJVMKt.checkRadix(i));
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.1")
|
||||
@InlineOnly
|
||||
private static final long toLong(String str, int i) {
|
||||
Intrinsics.checkNotNullParameter(str, "<this>");
|
||||
return Long.parseLong(str, CharsKt__CharJVMKt.checkRadix(i));
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.1")
|
||||
@InlineOnly
|
||||
private static final short toShort(String str, int i) {
|
||||
Intrinsics.checkNotNullParameter(str, "<this>");
|
||||
return Short.parseShort(str, CharsKt__CharJVMKt.checkRadix(i));
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.1")
|
||||
@InlineOnly
|
||||
private static final String toString(short s4, int i) {
|
||||
String num = Integer.toString(s4, CharsKt__CharJVMKt.checkRadix(i));
|
||||
Intrinsics.checkNotNullExpressionValue(num, "toString(...)");
|
||||
return num;
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.1")
|
||||
@InlineOnly
|
||||
private static final String toString(int i, int i4) {
|
||||
String num = Integer.toString(i, CharsKt__CharJVMKt.checkRadix(i4));
|
||||
Intrinsics.checkNotNullExpressionValue(num, "toString(...)");
|
||||
return num;
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.2")
|
||||
public static final BigDecimal toBigDecimalOrNull(String str, MathContext mathContext) {
|
||||
Intrinsics.checkNotNullParameter(str, "<this>");
|
||||
Intrinsics.checkNotNullParameter(mathContext, "mathContext");
|
||||
try {
|
||||
if (ScreenFloatValueRegEx.value.matches(str)) {
|
||||
return new BigDecimal(str, mathContext);
|
||||
}
|
||||
} catch (NumberFormatException unused) {
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.1")
|
||||
@InlineOnly
|
||||
private static final String toString(long j4, int i) {
|
||||
String l4 = Long.toString(j4, CharsKt__CharJVMKt.checkRadix(i));
|
||||
Intrinsics.checkNotNullExpressionValue(l4, "toString(...)");
|
||||
return l4;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user