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:
105
apk_decompiled/sources/kotlin/NumbersKt__NumbersKt.java
Normal file
105
apk_decompiled/sources/kotlin/NumbersKt__NumbersKt.java
Normal file
@@ -0,0 +1,105 @@
|
||||
package kotlin;
|
||||
|
||||
import kotlin.internal.InlineOnly;
|
||||
|
||||
@Metadata(d1 = {"\u0000\u0012\n\u0000\n\u0002\u0010\b\n\u0002\u0010\u0005\n\u0002\u0010\n\n\u0002\b\b\u001a\r\u0010\u0000\u001a\u00020\u0001*\u00020\u0002H\u0087\b\u001a\r\u0010\u0000\u001a\u00020\u0001*\u00020\u0003H\u0087\b\u001a\r\u0010\u0004\u001a\u00020\u0001*\u00020\u0002H\u0087\b\u001a\r\u0010\u0004\u001a\u00020\u0001*\u00020\u0003H\u0087\b\u001a\r\u0010\u0005\u001a\u00020\u0001*\u00020\u0002H\u0087\b\u001a\r\u0010\u0005\u001a\u00020\u0001*\u00020\u0003H\u0087\b\u001a\u0014\u0010\u0006\u001a\u00020\u0002*\u00020\u00022\u0006\u0010\u0007\u001a\u00020\u0001H\u0007\u001a\u0014\u0010\u0006\u001a\u00020\u0003*\u00020\u00032\u0006\u0010\u0007\u001a\u00020\u0001H\u0007\u001a\u0014\u0010\b\u001a\u00020\u0002*\u00020\u00022\u0006\u0010\u0007\u001a\u00020\u0001H\u0007\u001a\u0014\u0010\b\u001a\u00020\u0003*\u00020\u00032\u0006\u0010\u0007\u001a\u00020\u0001H\u0007\u001a\r\u0010\t\u001a\u00020\u0002*\u00020\u0002H\u0087\b\u001a\r\u0010\t\u001a\u00020\u0003*\u00020\u0003H\u0087\b\u001a\r\u0010\n\u001a\u00020\u0002*\u00020\u0002H\u0087\b\u001a\r\u0010\n\u001a\u00020\u0003*\u00020\u0003H\u0087\b¨\u0006\u000b"}, d2 = {"countLeadingZeroBits", "", "", "", "countOneBits", "countTrailingZeroBits", "rotateLeft", "bitCount", "rotateRight", "takeHighestOneBit", "takeLowestOneBit", "kotlin-stdlib"}, k = 5, mv = {1, 9, 0}, xi = 49, xs = "kotlin/NumbersKt")
|
||||
/* loaded from: classes3.dex */
|
||||
class NumbersKt__NumbersKt extends NumbersKt__NumbersJVMKt {
|
||||
@SinceKotlin(version = "1.4")
|
||||
@WasExperimental(markerClass = {ExperimentalStdlibApi.class})
|
||||
@InlineOnly
|
||||
private static final int countLeadingZeroBits(byte b4) {
|
||||
return Integer.numberOfLeadingZeros(b4 & UByte.MAX_VALUE) - 24;
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.4")
|
||||
@WasExperimental(markerClass = {ExperimentalStdlibApi.class})
|
||||
@InlineOnly
|
||||
private static final int countOneBits(byte b4) {
|
||||
return Integer.bitCount(b4 & UByte.MAX_VALUE);
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.4")
|
||||
@WasExperimental(markerClass = {ExperimentalStdlibApi.class})
|
||||
@InlineOnly
|
||||
private static final int countTrailingZeroBits(byte b4) {
|
||||
return Integer.numberOfTrailingZeros(b4 | UByte.MIN_VALUE);
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.6")
|
||||
@WasExperimental(markerClass = {ExperimentalStdlibApi.class})
|
||||
public static final byte rotateLeft(byte b4, int i) {
|
||||
int i4 = i & 7;
|
||||
return (byte) (((b4 & KotlinVersion.MAX_COMPONENT_VALUE) >>> (8 - i4)) | (b4 << i4));
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.6")
|
||||
@WasExperimental(markerClass = {ExperimentalStdlibApi.class})
|
||||
public static final byte rotateRight(byte b4, int i) {
|
||||
int i4 = i & 7;
|
||||
return (byte) (((b4 & KotlinVersion.MAX_COMPONENT_VALUE) >>> i4) | (b4 << (8 - i4)));
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.4")
|
||||
@WasExperimental(markerClass = {ExperimentalStdlibApi.class})
|
||||
@InlineOnly
|
||||
private static final byte takeHighestOneBit(byte b4) {
|
||||
return (byte) Integer.highestOneBit(b4 & UByte.MAX_VALUE);
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.4")
|
||||
@WasExperimental(markerClass = {ExperimentalStdlibApi.class})
|
||||
@InlineOnly
|
||||
private static final byte takeLowestOneBit(byte b4) {
|
||||
return (byte) Integer.lowestOneBit(b4);
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.4")
|
||||
@WasExperimental(markerClass = {ExperimentalStdlibApi.class})
|
||||
@InlineOnly
|
||||
private static final int countLeadingZeroBits(short s4) {
|
||||
return Integer.numberOfLeadingZeros(s4 & UShort.MAX_VALUE) - 16;
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.4")
|
||||
@WasExperimental(markerClass = {ExperimentalStdlibApi.class})
|
||||
@InlineOnly
|
||||
private static final int countOneBits(short s4) {
|
||||
return Integer.bitCount(s4 & UShort.MAX_VALUE);
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.4")
|
||||
@WasExperimental(markerClass = {ExperimentalStdlibApi.class})
|
||||
@InlineOnly
|
||||
private static final int countTrailingZeroBits(short s4) {
|
||||
return Integer.numberOfTrailingZeros(s4 | UShort.MIN_VALUE);
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.6")
|
||||
@WasExperimental(markerClass = {ExperimentalStdlibApi.class})
|
||||
public static final short rotateLeft(short s4, int i) {
|
||||
int i4 = i & 15;
|
||||
return (short) (((s4 & 65535) >>> (16 - i4)) | (s4 << i4));
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.6")
|
||||
@WasExperimental(markerClass = {ExperimentalStdlibApi.class})
|
||||
public static final short rotateRight(short s4, int i) {
|
||||
int i4 = i & 15;
|
||||
return (short) (((s4 & 65535) >>> i4) | (s4 << (16 - i4)));
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.4")
|
||||
@WasExperimental(markerClass = {ExperimentalStdlibApi.class})
|
||||
@InlineOnly
|
||||
private static final short takeHighestOneBit(short s4) {
|
||||
return (short) Integer.highestOneBit(s4 & UShort.MAX_VALUE);
|
||||
}
|
||||
|
||||
@SinceKotlin(version = "1.4")
|
||||
@WasExperimental(markerClass = {ExperimentalStdlibApi.class})
|
||||
@InlineOnly
|
||||
private static final short takeLowestOneBit(short s4) {
|
||||
return (short) Integer.lowestOneBit(s4);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user