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:
113
apk_decompiled/sources/kotlin/text/CharsKt__CharKt.java
Normal file
113
apk_decompiled/sources/kotlin/text/CharsKt__CharKt.java
Normal file
@@ -0,0 +1,113 @@
|
||||
package kotlin.text;
|
||||
|
||||
import C.w;
|
||||
import kotlin.ExperimentalStdlibApi;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.SinceKotlin;
|
||||
import kotlin.WasExperimental;
|
||||
import kotlin.internal.InlineOnly;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
import kotlin.jvm.internal.SourceDebugExtension;
|
||||
import kotlin.ranges.CharRange;
|
||||
import kotlin.ranges.IntRange;
|
||||
|
||||
@Metadata(d1 = {"\u0000\u001e\n\u0000\n\u0002\u0010\f\n\u0002\u0010\b\n\u0002\b\u0006\n\u0002\u0010\u000b\n\u0002\b\u0004\n\u0002\u0010\u000e\n\u0002\b\u0002\u001a\f\u0010\u0000\u001a\u00020\u0001*\u00020\u0002H\u0007\u001a\u0014\u0010\u0000\u001a\u00020\u0001*\u00020\u00022\u0006\u0010\u0003\u001a\u00020\u0002H\u0007\u001a\f\u0010\u0004\u001a\u00020\u0002*\u00020\u0001H\u0007\u001a\u0014\u0010\u0004\u001a\u00020\u0002*\u00020\u00012\u0006\u0010\u0003\u001a\u00020\u0002H\u0007\u001a\u0013\u0010\u0005\u001a\u0004\u0018\u00010\u0002*\u00020\u0001H\u0007¢\u0006\u0002\u0010\u0006\u001a\u001b\u0010\u0005\u001a\u0004\u0018\u00010\u0002*\u00020\u00012\u0006\u0010\u0003\u001a\u00020\u0002H\u0007¢\u0006\u0002\u0010\u0007\u001a\u001c\u0010\b\u001a\u00020\t*\u00020\u00012\u0006\u0010\n\u001a\u00020\u00012\b\b\u0002\u0010\u000b\u001a\u00020\t\u001a\n\u0010\f\u001a\u00020\t*\u00020\u0001\u001a\u0015\u0010\r\u001a\u00020\u000e*\u00020\u00012\u0006\u0010\n\u001a\u00020\u000eH\u0087\n\u001a\f\u0010\u000f\u001a\u00020\u000e*\u00020\u0001H\u0007¨\u0006\u0010"}, d2 = {"digitToChar", "", "", "radix", "digitToInt", "digitToIntOrNull", "(C)Ljava/lang/Integer;", "(CI)Ljava/lang/Integer;", "equals", "", "other", "ignoreCase", "isSurrogate", "plus", "", "titlecase", "kotlin-stdlib"}, k = 5, mv = {1, 9, 0}, xi = 49, xs = "kotlin/text/CharsKt")
|
||||
@SourceDebugExtension({"SMAP\nChar.kt\nKotlin\n*S Kotlin\n*F\n+ 1 Char.kt\nkotlin/text/CharsKt__CharKt\n+ 2 fake.kt\nkotlin/jvm/internal/FakeKt\n*L\n1#1,344:1\n1#2:345\n*E\n"})
|
||||
/* loaded from: classes3.dex */
|
||||
class CharsKt__CharKt extends CharsKt__CharJVMKt {
|
||||
@SinceKotlin(version = "1.5")
|
||||
@WasExperimental(markerClass = {ExperimentalStdlibApi.class})
|
||||
public static final char digitToChar(int i) {
|
||||
if (new IntRange(0, 9).contains(i)) {
|
||||
return (char) (i + 48);
|
||||
}
|
||||
throw new IllegalArgumentException(w.i(i, "Int ", " is not a decimal digit"));
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.5")
|
||||
@WasExperimental(markerClass = {ExperimentalStdlibApi.class})
|
||||
public static final int digitToInt(char c4) {
|
||||
int digitOf = CharsKt__CharJVMKt.digitOf(c4, 10);
|
||||
if (digitOf >= 0) {
|
||||
return digitOf;
|
||||
}
|
||||
throw new IllegalArgumentException("Char " + c4 + " is not a decimal digit");
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.5")
|
||||
@WasExperimental(markerClass = {ExperimentalStdlibApi.class})
|
||||
public static final Integer digitToIntOrNull(char c4) {
|
||||
Integer valueOf = Integer.valueOf(CharsKt__CharJVMKt.digitOf(c4, 10));
|
||||
if (valueOf.intValue() >= 0) {
|
||||
return valueOf;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static final boolean equals(char c4, char c5, boolean z3) {
|
||||
if (c4 == c5) {
|
||||
return true;
|
||||
}
|
||||
if (!z3) {
|
||||
return false;
|
||||
}
|
||||
char upperCase = Character.toUpperCase(c4);
|
||||
char upperCase2 = Character.toUpperCase(c5);
|
||||
return upperCase == upperCase2 || Character.toLowerCase(upperCase) == Character.toLowerCase(upperCase2);
|
||||
}
|
||||
|
||||
public static /* synthetic */ boolean equals$default(char c4, char c5, boolean z3, int i, Object obj) {
|
||||
if ((i & 2) != 0) {
|
||||
z3 = false;
|
||||
}
|
||||
return equals(c4, c5, z3);
|
||||
}
|
||||
|
||||
public static final boolean isSurrogate(char c4) {
|
||||
return new CharRange((char) 55296, (char) 57343).contains(c4);
|
||||
}
|
||||
|
||||
@InlineOnly
|
||||
private static final String plus(char c4, String other) {
|
||||
Intrinsics.checkNotNullParameter(other, "other");
|
||||
return c4 + other;
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.5")
|
||||
public static final String titlecase(char c4) {
|
||||
return _OneToManyTitlecaseMappingsKt.titlecaseImpl(c4);
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.5")
|
||||
@WasExperimental(markerClass = {ExperimentalStdlibApi.class})
|
||||
public static final Integer digitToIntOrNull(char c4, int i) {
|
||||
CharsKt__CharJVMKt.checkRadix(i);
|
||||
Integer valueOf = Integer.valueOf(CharsKt__CharJVMKt.digitOf(c4, i));
|
||||
if (valueOf.intValue() >= 0) {
|
||||
return valueOf;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.5")
|
||||
@WasExperimental(markerClass = {ExperimentalStdlibApi.class})
|
||||
public static final int digitToInt(char c4, int i) {
|
||||
Integer digitToIntOrNull = digitToIntOrNull(c4, i);
|
||||
if (digitToIntOrNull != null) {
|
||||
return digitToIntOrNull.intValue();
|
||||
}
|
||||
throw new IllegalArgumentException("Char " + c4 + " is not a digit in the given radix=" + i);
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.5")
|
||||
@WasExperimental(markerClass = {ExperimentalStdlibApi.class})
|
||||
public static final char digitToChar(int i, int i4) {
|
||||
if (!new IntRange(2, 36).contains(i4)) {
|
||||
throw new IllegalArgumentException(w.i(i4, "Invalid radix: ", ". Valid radix values are in range 2..36"));
|
||||
}
|
||||
if (i < 0 || i >= i4) {
|
||||
throw new IllegalArgumentException(w.k("Digit ", i, i4, " does not represent a valid digit in radix "));
|
||||
}
|
||||
return (char) (i < 10 ? i + 48 : ((char) (i + 65)) - '\n');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user