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:
297
apk_decompiled/sources/kotlin/text/UStringsKt.java
Normal file
297
apk_decompiled/sources/kotlin/text/UStringsKt.java
Normal file
@@ -0,0 +1,297 @@
|
||||
package kotlin.text;
|
||||
|
||||
import kotlin.ExperimentalUnsignedTypes;
|
||||
import kotlin.KotlinNothingValueException;
|
||||
import kotlin.KotlinVersion;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.SinceKotlin;
|
||||
import kotlin.UByte;
|
||||
import kotlin.UInt;
|
||||
import kotlin.ULong;
|
||||
import kotlin.UShort;
|
||||
import kotlin.UnsignedKt;
|
||||
import kotlin.WasExperimental;
|
||||
import kotlin.jvm.JvmName;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
|
||||
@Metadata(d1 = {"\u0000,\n\u0000\n\u0002\u0010\u000e\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\b\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0013\u001a\u001b\u0010\u0000\u001a\u00020\u0001*\u00020\u00022\u0006\u0010\u0003\u001a\u00020\u0004H\u0007¢\u0006\u0004\b\u0005\u0010\u0006\u001a\u001b\u0010\u0000\u001a\u00020\u0001*\u00020\u00072\u0006\u0010\u0003\u001a\u00020\u0004H\u0007¢\u0006\u0004\b\b\u0010\t\u001a\u001b\u0010\u0000\u001a\u00020\u0001*\u00020\n2\u0006\u0010\u0003\u001a\u00020\u0004H\u0007¢\u0006\u0004\b\u000b\u0010\f\u001a\u001b\u0010\u0000\u001a\u00020\u0001*\u00020\r2\u0006\u0010\u0003\u001a\u00020\u0004H\u0007¢\u0006\u0004\b\u000e\u0010\u000f\u001a\u0011\u0010\u0010\u001a\u00020\u0002*\u00020\u0001H\u0007¢\u0006\u0002\u0010\u0011\u001a\u0019\u0010\u0010\u001a\u00020\u0002*\u00020\u00012\u0006\u0010\u0003\u001a\u00020\u0004H\u0007¢\u0006\u0002\u0010\u0012\u001a\u000e\u0010\u0013\u001a\u0004\u0018\u00010\u0002*\u00020\u0001H\u0007\u001a\u0016\u0010\u0013\u001a\u0004\u0018\u00010\u0002*\u00020\u00012\u0006\u0010\u0003\u001a\u00020\u0004H\u0007\u001a\u0011\u0010\u0014\u001a\u00020\u0007*\u00020\u0001H\u0007¢\u0006\u0002\u0010\u0015\u001a\u0019\u0010\u0014\u001a\u00020\u0007*\u00020\u00012\u0006\u0010\u0003\u001a\u00020\u0004H\u0007¢\u0006\u0002\u0010\u0016\u001a\u000e\u0010\u0017\u001a\u0004\u0018\u00010\u0007*\u00020\u0001H\u0007\u001a\u0016\u0010\u0017\u001a\u0004\u0018\u00010\u0007*\u00020\u00012\u0006\u0010\u0003\u001a\u00020\u0004H\u0007\u001a\u0011\u0010\u0018\u001a\u00020\n*\u00020\u0001H\u0007¢\u0006\u0002\u0010\u0019\u001a\u0019\u0010\u0018\u001a\u00020\n*\u00020\u00012\u0006\u0010\u0003\u001a\u00020\u0004H\u0007¢\u0006\u0002\u0010\u001a\u001a\u000e\u0010\u001b\u001a\u0004\u0018\u00010\n*\u00020\u0001H\u0007\u001a\u0016\u0010\u001b\u001a\u0004\u0018\u00010\n*\u00020\u00012\u0006\u0010\u0003\u001a\u00020\u0004H\u0007\u001a\u0011\u0010\u001c\u001a\u00020\r*\u00020\u0001H\u0007¢\u0006\u0002\u0010\u001d\u001a\u0019\u0010\u001c\u001a\u00020\r*\u00020\u00012\u0006\u0010\u0003\u001a\u00020\u0004H\u0007¢\u0006\u0002\u0010\u001e\u001a\u000e\u0010\u001f\u001a\u0004\u0018\u00010\r*\u00020\u0001H\u0007\u001a\u0016\u0010\u001f\u001a\u0004\u0018\u00010\r*\u00020\u00012\u0006\u0010\u0003\u001a\u00020\u0004H\u0007¨\u0006 "}, d2 = {"toString", "", "Lkotlin/UByte;", "radix", "", "toString-LxnNnR4", "(BI)Ljava/lang/String;", "Lkotlin/UInt;", "toString-V7xB4Y4", "(II)Ljava/lang/String;", "Lkotlin/ULong;", "toString-JSWoG40", "(JI)Ljava/lang/String;", "Lkotlin/UShort;", "toString-olVBNx4", "(SI)Ljava/lang/String;", "toUByte", "(Ljava/lang/String;)B", "(Ljava/lang/String;I)B", "toUByteOrNull", "toUInt", "(Ljava/lang/String;)I", "(Ljava/lang/String;I)I", "toUIntOrNull", "toULong", "(Ljava/lang/String;)J", "(Ljava/lang/String;I)J", "toULongOrNull", "toUShort", "(Ljava/lang/String;)S", "(Ljava/lang/String;I)S", "toUShortOrNull", "kotlin-stdlib"}, k = 2, mv = {1, 9, 0}, xi = 48)
|
||||
@JvmName(name = "UStringsKt")
|
||||
/* loaded from: classes3.dex */
|
||||
public final class UStringsKt {
|
||||
@SinceKotlin(version = "1.5")
|
||||
@WasExperimental(markerClass = {ExperimentalUnsignedTypes.class})
|
||||
/* renamed from: toString-JSWoG40, reason: not valid java name */
|
||||
public static final String m1441toStringJSWoG40(long j4, int i) {
|
||||
return UnsignedKt.ulongToString(j4, CharsKt__CharJVMKt.checkRadix(i));
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.5")
|
||||
@WasExperimental(markerClass = {ExperimentalUnsignedTypes.class})
|
||||
/* renamed from: toString-LxnNnR4, reason: not valid java name */
|
||||
public static final String m1442toStringLxnNnR4(byte b4, int i) {
|
||||
String num = Integer.toString(b4 & UByte.MAX_VALUE, CharsKt__CharJVMKt.checkRadix(i));
|
||||
Intrinsics.checkNotNullExpressionValue(num, "toString(...)");
|
||||
return num;
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.5")
|
||||
@WasExperimental(markerClass = {ExperimentalUnsignedTypes.class})
|
||||
/* renamed from: toString-V7xB4Y4, reason: not valid java name */
|
||||
public static final String m1443toStringV7xB4Y4(int i, int i4) {
|
||||
String l4 = Long.toString(i & 4294967295L, CharsKt__CharJVMKt.checkRadix(i4));
|
||||
Intrinsics.checkNotNullExpressionValue(l4, "toString(...)");
|
||||
return l4;
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.5")
|
||||
@WasExperimental(markerClass = {ExperimentalUnsignedTypes.class})
|
||||
/* renamed from: toString-olVBNx4, reason: not valid java name */
|
||||
public static final String m1444toStringolVBNx4(short s4, int i) {
|
||||
String num = Integer.toString(s4 & UShort.MAX_VALUE, CharsKt__CharJVMKt.checkRadix(i));
|
||||
Intrinsics.checkNotNullExpressionValue(num, "toString(...)");
|
||||
return num;
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.5")
|
||||
@WasExperimental(markerClass = {ExperimentalUnsignedTypes.class})
|
||||
public static final byte toUByte(String str) {
|
||||
Intrinsics.checkNotNullParameter(str, "<this>");
|
||||
UByte uByteOrNull = toUByteOrNull(str);
|
||||
if (uByteOrNull != null) {
|
||||
return uByteOrNull.getData();
|
||||
}
|
||||
StringsKt__StringNumberConversionsKt.numberFormatError(str);
|
||||
throw new KotlinNothingValueException();
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.5")
|
||||
@WasExperimental(markerClass = {ExperimentalUnsignedTypes.class})
|
||||
public static final UByte toUByteOrNull(String str) {
|
||||
Intrinsics.checkNotNullParameter(str, "<this>");
|
||||
return toUByteOrNull(str, 10);
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.5")
|
||||
@WasExperimental(markerClass = {ExperimentalUnsignedTypes.class})
|
||||
public static final int toUInt(String str) {
|
||||
Intrinsics.checkNotNullParameter(str, "<this>");
|
||||
UInt uIntOrNull = toUIntOrNull(str);
|
||||
if (uIntOrNull != null) {
|
||||
return uIntOrNull.getData();
|
||||
}
|
||||
StringsKt__StringNumberConversionsKt.numberFormatError(str);
|
||||
throw new KotlinNothingValueException();
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.5")
|
||||
@WasExperimental(markerClass = {ExperimentalUnsignedTypes.class})
|
||||
public static final UInt toUIntOrNull(String str) {
|
||||
Intrinsics.checkNotNullParameter(str, "<this>");
|
||||
return toUIntOrNull(str, 10);
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.5")
|
||||
@WasExperimental(markerClass = {ExperimentalUnsignedTypes.class})
|
||||
public static final long toULong(String str) {
|
||||
Intrinsics.checkNotNullParameter(str, "<this>");
|
||||
ULong uLongOrNull = toULongOrNull(str);
|
||||
if (uLongOrNull != null) {
|
||||
return uLongOrNull.getData();
|
||||
}
|
||||
StringsKt__StringNumberConversionsKt.numberFormatError(str);
|
||||
throw new KotlinNothingValueException();
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.5")
|
||||
@WasExperimental(markerClass = {ExperimentalUnsignedTypes.class})
|
||||
public static final ULong toULongOrNull(String str) {
|
||||
Intrinsics.checkNotNullParameter(str, "<this>");
|
||||
return toULongOrNull(str, 10);
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.5")
|
||||
@WasExperimental(markerClass = {ExperimentalUnsignedTypes.class})
|
||||
public static final short toUShort(String str) {
|
||||
Intrinsics.checkNotNullParameter(str, "<this>");
|
||||
UShort uShortOrNull = toUShortOrNull(str);
|
||||
if (uShortOrNull != null) {
|
||||
return uShortOrNull.getData();
|
||||
}
|
||||
StringsKt__StringNumberConversionsKt.numberFormatError(str);
|
||||
throw new KotlinNothingValueException();
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.5")
|
||||
@WasExperimental(markerClass = {ExperimentalUnsignedTypes.class})
|
||||
public static final UShort toUShortOrNull(String str) {
|
||||
Intrinsics.checkNotNullParameter(str, "<this>");
|
||||
return toUShortOrNull(str, 10);
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.5")
|
||||
@WasExperimental(markerClass = {ExperimentalUnsignedTypes.class})
|
||||
public static final byte toUByte(String str, int i) {
|
||||
Intrinsics.checkNotNullParameter(str, "<this>");
|
||||
UByte uByteOrNull = toUByteOrNull(str, i);
|
||||
if (uByteOrNull != null) {
|
||||
return uByteOrNull.getData();
|
||||
}
|
||||
StringsKt__StringNumberConversionsKt.numberFormatError(str);
|
||||
throw new KotlinNothingValueException();
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.5")
|
||||
@WasExperimental(markerClass = {ExperimentalUnsignedTypes.class})
|
||||
public static final UByte toUByteOrNull(String str, int i) {
|
||||
Intrinsics.checkNotNullParameter(str, "<this>");
|
||||
UInt uIntOrNull = toUIntOrNull(str, i);
|
||||
if (uIntOrNull == null) {
|
||||
return null;
|
||||
}
|
||||
int data = uIntOrNull.getData();
|
||||
if (Integer.compareUnsigned(data, UInt.m211constructorimpl(KotlinVersion.MAX_COMPONENT_VALUE)) > 0) {
|
||||
return null;
|
||||
}
|
||||
return UByte.m128boximpl(UByte.m134constructorimpl((byte) data));
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.5")
|
||||
@WasExperimental(markerClass = {ExperimentalUnsignedTypes.class})
|
||||
public static final int toUInt(String str, int i) {
|
||||
Intrinsics.checkNotNullParameter(str, "<this>");
|
||||
UInt uIntOrNull = toUIntOrNull(str, i);
|
||||
if (uIntOrNull != null) {
|
||||
return uIntOrNull.getData();
|
||||
}
|
||||
StringsKt__StringNumberConversionsKt.numberFormatError(str);
|
||||
throw new KotlinNothingValueException();
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.5")
|
||||
@WasExperimental(markerClass = {ExperimentalUnsignedTypes.class})
|
||||
public static final UInt toUIntOrNull(String str, int i) {
|
||||
int i4;
|
||||
Intrinsics.checkNotNullParameter(str, "<this>");
|
||||
CharsKt__CharJVMKt.checkRadix(i);
|
||||
int length = str.length();
|
||||
if (length == 0) {
|
||||
return null;
|
||||
}
|
||||
int i5 = 0;
|
||||
char charAt = str.charAt(0);
|
||||
if (Intrinsics.compare((int) charAt, 48) < 0) {
|
||||
i4 = 1;
|
||||
if (length == 1 || charAt != '+') {
|
||||
return null;
|
||||
}
|
||||
} else {
|
||||
i4 = 0;
|
||||
}
|
||||
int m211constructorimpl = UInt.m211constructorimpl(i);
|
||||
int i6 = 119304647;
|
||||
while (i4 < length) {
|
||||
int digitOf = CharsKt__CharJVMKt.digitOf(str.charAt(i4), i);
|
||||
if (digitOf < 0) {
|
||||
return null;
|
||||
}
|
||||
if (Integer.compareUnsigned(i5, i6) > 0) {
|
||||
if (i6 == 119304647) {
|
||||
i6 = Integer.divideUnsigned(-1, m211constructorimpl);
|
||||
if (Integer.compareUnsigned(i5, i6) > 0) {
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
int m211constructorimpl2 = UInt.m211constructorimpl(i5 * m211constructorimpl);
|
||||
int m211constructorimpl3 = UInt.m211constructorimpl(UInt.m211constructorimpl(digitOf) + m211constructorimpl2);
|
||||
if (Integer.compareUnsigned(m211constructorimpl3, m211constructorimpl2) < 0) {
|
||||
return null;
|
||||
}
|
||||
i4++;
|
||||
i5 = m211constructorimpl3;
|
||||
}
|
||||
return UInt.m205boximpl(i5);
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.5")
|
||||
@WasExperimental(markerClass = {ExperimentalUnsignedTypes.class})
|
||||
public static final long toULong(String str, int i) {
|
||||
Intrinsics.checkNotNullParameter(str, "<this>");
|
||||
ULong uLongOrNull = toULongOrNull(str, i);
|
||||
if (uLongOrNull != null) {
|
||||
return uLongOrNull.getData();
|
||||
}
|
||||
StringsKt__StringNumberConversionsKt.numberFormatError(str);
|
||||
throw new KotlinNothingValueException();
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.5")
|
||||
@WasExperimental(markerClass = {ExperimentalUnsignedTypes.class})
|
||||
public static final ULong toULongOrNull(String str, int i) {
|
||||
Intrinsics.checkNotNullParameter(str, "<this>");
|
||||
CharsKt__CharJVMKt.checkRadix(i);
|
||||
int length = str.length();
|
||||
if (length == 0) {
|
||||
return null;
|
||||
}
|
||||
int i4 = 0;
|
||||
char charAt = str.charAt(0);
|
||||
if (Intrinsics.compare((int) charAt, 48) < 0) {
|
||||
i4 = 1;
|
||||
if (length == 1 || charAt != '+') {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
long m290constructorimpl = ULong.m290constructorimpl(i);
|
||||
long j4 = 0;
|
||||
long j5 = 512409557603043100L;
|
||||
while (i4 < length) {
|
||||
if (CharsKt__CharJVMKt.digitOf(str.charAt(i4), i) < 0) {
|
||||
return null;
|
||||
}
|
||||
if (Long.compareUnsigned(j4, j5) > 0) {
|
||||
if (j5 == 512409557603043100L) {
|
||||
j5 = Long.divideUnsigned(-1L, m290constructorimpl);
|
||||
if (Long.compareUnsigned(j4, j5) > 0) {
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
long m290constructorimpl2 = ULong.m290constructorimpl(j4 * m290constructorimpl);
|
||||
long m290constructorimpl3 = ULong.m290constructorimpl(ULong.m290constructorimpl(UInt.m211constructorimpl(r13) & 4294967295L) + m290constructorimpl2);
|
||||
if (Long.compareUnsigned(m290constructorimpl3, m290constructorimpl2) < 0) {
|
||||
return null;
|
||||
}
|
||||
i4++;
|
||||
j4 = m290constructorimpl3;
|
||||
}
|
||||
return ULong.m284boximpl(j4);
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.5")
|
||||
@WasExperimental(markerClass = {ExperimentalUnsignedTypes.class})
|
||||
public static final short toUShort(String str, int i) {
|
||||
Intrinsics.checkNotNullParameter(str, "<this>");
|
||||
UShort uShortOrNull = toUShortOrNull(str, i);
|
||||
if (uShortOrNull != null) {
|
||||
return uShortOrNull.getData();
|
||||
}
|
||||
StringsKt__StringNumberConversionsKt.numberFormatError(str);
|
||||
throw new KotlinNothingValueException();
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.5")
|
||||
@WasExperimental(markerClass = {ExperimentalUnsignedTypes.class})
|
||||
public static final UShort toUShortOrNull(String str, int i) {
|
||||
Intrinsics.checkNotNullParameter(str, "<this>");
|
||||
UInt uIntOrNull = toUIntOrNull(str, i);
|
||||
if (uIntOrNull == null) {
|
||||
return null;
|
||||
}
|
||||
int data = uIntOrNull.getData();
|
||||
if (Integer.compareUnsigned(data, UInt.m211constructorimpl(65535)) > 0) {
|
||||
return null;
|
||||
}
|
||||
return UShort.m391boximpl(UShort.m397constructorimpl((short) data));
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user