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:
13
apk_decompiled/sources/kotlin/contracts/CallsInPlace.java
Normal file
13
apk_decompiled/sources/kotlin/contracts/CallsInPlace.java
Normal file
@@ -0,0 +1,13 @@
|
||||
package kotlin.contracts;
|
||||
|
||||
import kotlin.Metadata;
|
||||
import kotlin.SinceKotlin;
|
||||
import kotlin.internal.ContractsDsl;
|
||||
|
||||
@SinceKotlin(version = "1.3")
|
||||
@ContractsDsl
|
||||
@Metadata(d1 = {"\u0000\n\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\bg\u0018\u00002\u00020\u0001¨\u0006\u0002"}, d2 = {"Lkotlin/contracts/CallsInPlace;", "Lkotlin/contracts/Effect;", "kotlin-stdlib"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
@ExperimentalContracts
|
||||
/* loaded from: classes3.dex */
|
||||
public interface CallsInPlace extends Effect {
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
package kotlin.contracts;
|
||||
|
||||
import kotlin.Metadata;
|
||||
import kotlin.SinceKotlin;
|
||||
import kotlin.internal.ContractsDsl;
|
||||
|
||||
@SinceKotlin(version = "1.3")
|
||||
@ContractsDsl
|
||||
@Metadata(d1 = {"\u0000\n\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\bg\u0018\u00002\u00020\u0001¨\u0006\u0002"}, d2 = {"Lkotlin/contracts/ConditionalEffect;", "Lkotlin/contracts/Effect;", "kotlin-stdlib"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
@ExperimentalContracts
|
||||
/* loaded from: classes3.dex */
|
||||
public interface ConditionalEffect extends Effect {
|
||||
}
|
||||
40
apk_decompiled/sources/kotlin/contracts/ContractBuilder.java
Normal file
40
apk_decompiled/sources/kotlin/contracts/ContractBuilder.java
Normal file
@@ -0,0 +1,40 @@
|
||||
package kotlin.contracts;
|
||||
|
||||
import kotlin.Function;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.SinceKotlin;
|
||||
import kotlin.internal.ContractsDsl;
|
||||
|
||||
@SinceKotlin(version = "1.3")
|
||||
@ContractsDsl
|
||||
@Metadata(d1 = {"\u0000,\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0000\bg\u0018\u00002\u00020\u0001J&\u0010\u0002\u001a\u00020\u0003\"\u0004\b\u0000\u0010\u00042\f\u0010\u0005\u001a\b\u0012\u0004\u0012\u0002H\u00040\u00062\b\b\u0002\u0010\u0007\u001a\u00020\bH'J\b\u0010\t\u001a\u00020\nH'J\u0012\u0010\t\u001a\u00020\n2\b\u0010\u000b\u001a\u0004\u0018\u00010\u0001H'J\b\u0010\f\u001a\u00020\rH'¨\u0006\u000e"}, d2 = {"Lkotlin/contracts/ContractBuilder;", "", "callsInPlace", "Lkotlin/contracts/CallsInPlace;", "R", "lambda", "Lkotlin/Function;", "kind", "Lkotlin/contracts/InvocationKind;", "returns", "Lkotlin/contracts/Returns;", "value", "returnsNotNull", "Lkotlin/contracts/ReturnsNotNull;", "kotlin-stdlib"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
@ExperimentalContracts
|
||||
/* loaded from: classes3.dex */
|
||||
public interface ContractBuilder {
|
||||
|
||||
@Metadata(k = 3, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class DefaultImpls {
|
||||
public static /* synthetic */ CallsInPlace callsInPlace$default(ContractBuilder contractBuilder, Function function, InvocationKind invocationKind, int i, Object obj) {
|
||||
if (obj != null) {
|
||||
throw new UnsupportedOperationException("Super calls with default arguments not supported in this target, function: callsInPlace");
|
||||
}
|
||||
if ((i & 2) != 0) {
|
||||
invocationKind = InvocationKind.UNKNOWN;
|
||||
}
|
||||
return contractBuilder.callsInPlace(function, invocationKind);
|
||||
}
|
||||
}
|
||||
|
||||
@ContractsDsl
|
||||
<R> CallsInPlace callsInPlace(Function<? extends R> lambda, InvocationKind kind);
|
||||
|
||||
@ContractsDsl
|
||||
Returns returns();
|
||||
|
||||
@ContractsDsl
|
||||
Returns returns(Object value);
|
||||
|
||||
@ContractsDsl
|
||||
ReturnsNotNull returnsNotNull();
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package kotlin.contracts;
|
||||
|
||||
import kotlin.Metadata;
|
||||
import kotlin.SinceKotlin;
|
||||
import kotlin.Unit;
|
||||
import kotlin.internal.ContractsDsl;
|
||||
import kotlin.internal.InlineOnly;
|
||||
import kotlin.jvm.functions.Function1;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
|
||||
@Metadata(d1 = {"\u0000\u0016\n\u0000\n\u0002\u0010\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\u001a%\u0010\u0000\u001a\u00020\u00012\u0017\u0010\u0002\u001a\u0013\u0012\u0004\u0012\u00020\u0004\u0012\u0004\u0012\u00020\u00010\u0003¢\u0006\u0002\b\u0005H\u0087\bø\u0001\u0000\u0082\u0002\u0007\n\u0005\b\u009920\u0001¨\u0006\u0006"}, d2 = {"contract", "", "builder", "Lkotlin/Function1;", "Lkotlin/contracts/ContractBuilder;", "Lkotlin/ExtensionFunctionType;", "kotlin-stdlib"}, k = 2, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public final class ContractBuilderKt {
|
||||
@SinceKotlin(version = "1.3")
|
||||
@ContractsDsl
|
||||
@InlineOnly
|
||||
@ExperimentalContracts
|
||||
private static final void contract(Function1<? super ContractBuilder, Unit> builder) {
|
||||
Intrinsics.checkNotNullParameter(builder, "builder");
|
||||
}
|
||||
}
|
||||
13
apk_decompiled/sources/kotlin/contracts/Effect.java
Normal file
13
apk_decompiled/sources/kotlin/contracts/Effect.java
Normal file
@@ -0,0 +1,13 @@
|
||||
package kotlin.contracts;
|
||||
|
||||
import kotlin.Metadata;
|
||||
import kotlin.SinceKotlin;
|
||||
import kotlin.internal.ContractsDsl;
|
||||
|
||||
@SinceKotlin(version = "1.3")
|
||||
@ContractsDsl
|
||||
@Metadata(d1 = {"\u0000\n\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\bg\u0018\u00002\u00020\u0001¨\u0006\u0002"}, d2 = {"Lkotlin/contracts/Effect;", "", "kotlin-stdlib"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
@ExperimentalContracts
|
||||
/* loaded from: classes3.dex */
|
||||
public interface Effect {
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
package kotlin.contracts;
|
||||
|
||||
import java.lang.annotation.Documented;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.RequiresOptIn;
|
||||
import kotlin.SinceKotlin;
|
||||
import kotlin.annotation.AnnotationRetention;
|
||||
import kotlin.annotation.MustBeDocumented;
|
||||
|
||||
@SinceKotlin(version = "1.3")
|
||||
@RequiresOptIn
|
||||
@Retention(RetentionPolicy.CLASS)
|
||||
@kotlin.annotation.Retention(AnnotationRetention.BINARY)
|
||||
@MustBeDocumented
|
||||
@Metadata(d1 = {"\u0000\n\n\u0002\u0018\u0002\n\u0002\u0010\u001b\n\u0000\b\u0087\u0002\u0018\u00002\u00020\u0001B\u0000¨\u0006\u0002"}, d2 = {"Lkotlin/contracts/ExperimentalContracts;", "", "kotlin-stdlib"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
@Documented
|
||||
/* loaded from: classes3.dex */
|
||||
public @interface ExperimentalContracts {
|
||||
}
|
||||
56
apk_decompiled/sources/kotlin/contracts/InvocationKind.java
Normal file
56
apk_decompiled/sources/kotlin/contracts/InvocationKind.java
Normal file
@@ -0,0 +1,56 @@
|
||||
package kotlin.contracts;
|
||||
|
||||
import kotlin.Metadata;
|
||||
import kotlin.SinceKotlin;
|
||||
import kotlin.enums.EnumEntries;
|
||||
import kotlin.enums.EnumEntriesKt;
|
||||
import kotlin.internal.ContractsDsl;
|
||||
|
||||
/* JADX WARN: Failed to restore enum class, 'enum' modifier and super class removed */
|
||||
/* JADX WARN: Unknown enum class pattern. Please report as an issue! */
|
||||
@SinceKotlin(version = "1.3")
|
||||
@ContractsDsl
|
||||
@Metadata(d1 = {"\u0000\f\n\u0002\u0018\u0002\n\u0002\u0010\u0010\n\u0002\b\u0006\b\u0087\u0081\u0002\u0018\u00002\b\u0012\u0004\u0012\u00020\u00000\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002j\u0002\b\u0003j\u0002\b\u0004j\u0002\b\u0005j\u0002\b\u0006¨\u0006\u0007"}, d2 = {"Lkotlin/contracts/InvocationKind;", "", "(Ljava/lang/String;I)V", "AT_MOST_ONCE", "AT_LEAST_ONCE", "EXACTLY_ONCE", "UNKNOWN", "kotlin-stdlib"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
@ExperimentalContracts
|
||||
/* loaded from: classes3.dex */
|
||||
public final class InvocationKind {
|
||||
private static final /* synthetic */ EnumEntries $ENTRIES;
|
||||
private static final /* synthetic */ InvocationKind[] $VALUES;
|
||||
|
||||
@ContractsDsl
|
||||
public static final InvocationKind AT_MOST_ONCE = new InvocationKind("AT_MOST_ONCE", 0);
|
||||
|
||||
@ContractsDsl
|
||||
public static final InvocationKind AT_LEAST_ONCE = new InvocationKind("AT_LEAST_ONCE", 1);
|
||||
|
||||
@ContractsDsl
|
||||
public static final InvocationKind EXACTLY_ONCE = new InvocationKind("EXACTLY_ONCE", 2);
|
||||
|
||||
@ContractsDsl
|
||||
public static final InvocationKind UNKNOWN = new InvocationKind("UNKNOWN", 3);
|
||||
|
||||
private static final /* synthetic */ InvocationKind[] $values() {
|
||||
return new InvocationKind[]{AT_MOST_ONCE, AT_LEAST_ONCE, EXACTLY_ONCE, UNKNOWN};
|
||||
}
|
||||
|
||||
static {
|
||||
InvocationKind[] $values = $values();
|
||||
$VALUES = $values;
|
||||
$ENTRIES = EnumEntriesKt.enumEntries($values);
|
||||
}
|
||||
|
||||
private InvocationKind(String str, int i) {
|
||||
}
|
||||
|
||||
public static EnumEntries<InvocationKind> getEntries() {
|
||||
return $ENTRIES;
|
||||
}
|
||||
|
||||
public static InvocationKind valueOf(String str) {
|
||||
return (InvocationKind) Enum.valueOf(InvocationKind.class, str);
|
||||
}
|
||||
|
||||
public static InvocationKind[] values() {
|
||||
return (InvocationKind[]) $VALUES.clone();
|
||||
}
|
||||
}
|
||||
13
apk_decompiled/sources/kotlin/contracts/Returns.java
Normal file
13
apk_decompiled/sources/kotlin/contracts/Returns.java
Normal file
@@ -0,0 +1,13 @@
|
||||
package kotlin.contracts;
|
||||
|
||||
import kotlin.Metadata;
|
||||
import kotlin.SinceKotlin;
|
||||
import kotlin.internal.ContractsDsl;
|
||||
|
||||
@SinceKotlin(version = "1.3")
|
||||
@ContractsDsl
|
||||
@Metadata(d1 = {"\u0000\n\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\bg\u0018\u00002\u00020\u0001¨\u0006\u0002"}, d2 = {"Lkotlin/contracts/Returns;", "Lkotlin/contracts/SimpleEffect;", "kotlin-stdlib"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
@ExperimentalContracts
|
||||
/* loaded from: classes3.dex */
|
||||
public interface Returns extends SimpleEffect {
|
||||
}
|
||||
13
apk_decompiled/sources/kotlin/contracts/ReturnsNotNull.java
Normal file
13
apk_decompiled/sources/kotlin/contracts/ReturnsNotNull.java
Normal file
@@ -0,0 +1,13 @@
|
||||
package kotlin.contracts;
|
||||
|
||||
import kotlin.Metadata;
|
||||
import kotlin.SinceKotlin;
|
||||
import kotlin.internal.ContractsDsl;
|
||||
|
||||
@SinceKotlin(version = "1.3")
|
||||
@ContractsDsl
|
||||
@Metadata(d1 = {"\u0000\n\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\bg\u0018\u00002\u00020\u0001¨\u0006\u0002"}, d2 = {"Lkotlin/contracts/ReturnsNotNull;", "Lkotlin/contracts/SimpleEffect;", "kotlin-stdlib"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
@ExperimentalContracts
|
||||
/* loaded from: classes3.dex */
|
||||
public interface ReturnsNotNull extends SimpleEffect {
|
||||
}
|
||||
16
apk_decompiled/sources/kotlin/contracts/SimpleEffect.java
Normal file
16
apk_decompiled/sources/kotlin/contracts/SimpleEffect.java
Normal file
@@ -0,0 +1,16 @@
|
||||
package kotlin.contracts;
|
||||
|
||||
import kotlin.Metadata;
|
||||
import kotlin.SinceKotlin;
|
||||
import kotlin.internal.ContractsDsl;
|
||||
|
||||
@SinceKotlin(version = "1.3")
|
||||
@ContractsDsl
|
||||
@Metadata(d1 = {"\u0000\u0016\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\u000b\n\u0000\bg\u0018\u00002\u00020\u0001J\u0011\u0010\u0002\u001a\u00020\u00032\u0006\u0010\u0004\u001a\u00020\u0005H§\u0004¨\u0006\u0006"}, d2 = {"Lkotlin/contracts/SimpleEffect;", "Lkotlin/contracts/Effect;", "implies", "Lkotlin/contracts/ConditionalEffect;", "booleanExpression", "", "kotlin-stdlib"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
@ExperimentalContracts
|
||||
/* loaded from: classes3.dex */
|
||||
public interface SimpleEffect extends Effect {
|
||||
@ContractsDsl
|
||||
@ExperimentalContracts
|
||||
ConditionalEffect implies(boolean booleanExpression);
|
||||
}
|
||||
Reference in New Issue
Block a user