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,61 @@
|
||||
package kotlin.collections;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.Pair;
|
||||
import kotlin.PublishedApi;
|
||||
import kotlin.TuplesKt;
|
||||
import kotlin.internal.InlineOnly;
|
||||
import kotlin.jvm.functions.Function0;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: package-private */
|
||||
@Metadata(d1 = {"\u0000*\n\u0000\n\u0002\u0010\u001c\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\u0010(\n\u0000\n\u0002\u0010\b\n\u0002\b\u0004\n\u0002\u0010 \n\u0000\n\u0002\u0018\u0002\n\u0002\b\u0002\u001a.\u0010\u0000\u001a\b\u0012\u0004\u0012\u0002H\u00020\u0001\"\u0004\b\u0000\u0010\u00022\u0014\b\u0004\u0010\u0003\u001a\u000e\u0012\n\u0012\b\u0012\u0004\u0012\u0002H\u00020\u00050\u0004H\u0087\bø\u0001\u0000\u001a \u0010\u0006\u001a\u00020\u0007\"\u0004\b\u0000\u0010\u0002*\b\u0012\u0004\u0012\u0002H\u00020\u00012\u0006\u0010\b\u001a\u00020\u0007H\u0001\u001a\u001f\u0010\t\u001a\u0004\u0018\u00010\u0007\"\u0004\b\u0000\u0010\u0002*\b\u0012\u0004\u0012\u0002H\u00020\u0001H\u0001¢\u0006\u0002\u0010\n\u001a\"\u0010\u000b\u001a\b\u0012\u0004\u0012\u0002H\u00020\f\"\u0004\b\u0000\u0010\u0002*\u000e\u0012\n\u0012\b\u0012\u0004\u0012\u0002H\u00020\u00010\u0001\u001a@\u0010\r\u001a\u001a\u0012\n\u0012\b\u0012\u0004\u0012\u0002H\u00020\f\u0012\n\u0012\b\u0012\u0004\u0012\u0002H\u000f0\f0\u000e\"\u0004\b\u0000\u0010\u0002\"\u0004\b\u0001\u0010\u000f*\u0014\u0012\u0010\u0012\u000e\u0012\u0004\u0012\u0002H\u0002\u0012\u0004\u0012\u0002H\u000f0\u000e0\u0001\u0082\u0002\u0007\n\u0005\b\u009920\u0001¨\u0006\u0010"}, d2 = {"Iterable", "", "T", "iterator", "Lkotlin/Function0;", "", "collectionSizeOrDefault", "", "default", "collectionSizeOrNull", "(Ljava/lang/Iterable;)Ljava/lang/Integer;", "flatten", "", "unzip", "Lkotlin/Pair;", "R", "kotlin-stdlib"}, k = 5, mv = {1, 9, 0}, xi = 49, xs = "kotlin/collections/CollectionsKt")
|
||||
/* loaded from: classes3.dex */
|
||||
public class CollectionsKt__IterablesKt extends CollectionsKt__CollectionsKt {
|
||||
@InlineOnly
|
||||
private static final <T> Iterable<T> Iterable(Function0<? extends Iterator<? extends T>> iterator) {
|
||||
Intrinsics.checkNotNullParameter(iterator, "iterator");
|
||||
return new CollectionsKt__IterablesKt$Iterable$1(iterator);
|
||||
}
|
||||
|
||||
@PublishedApi
|
||||
public static <T> int collectionSizeOrDefault(Iterable<? extends T> iterable, int i) {
|
||||
Intrinsics.checkNotNullParameter(iterable, "<this>");
|
||||
return iterable instanceof Collection ? ((Collection) iterable).size() : i;
|
||||
}
|
||||
|
||||
@PublishedApi
|
||||
public static final <T> Integer collectionSizeOrNull(Iterable<? extends T> iterable) {
|
||||
Intrinsics.checkNotNullParameter(iterable, "<this>");
|
||||
if (iterable instanceof Collection) {
|
||||
return Integer.valueOf(((Collection) iterable).size());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static <T> List<T> flatten(Iterable<? extends Iterable<? extends T>> iterable) {
|
||||
Intrinsics.checkNotNullParameter(iterable, "<this>");
|
||||
ArrayList arrayList = new ArrayList();
|
||||
Iterator<? extends Iterable<? extends T>> it = iterable.iterator();
|
||||
while (it.hasNext()) {
|
||||
CollectionsKt__MutableCollectionsKt.addAll(arrayList, it.next());
|
||||
}
|
||||
return arrayList;
|
||||
}
|
||||
|
||||
public static final <T, R> Pair<List<T>, List<R>> unzip(Iterable<? extends Pair<? extends T, ? extends R>> iterable) {
|
||||
Intrinsics.checkNotNullParameter(iterable, "<this>");
|
||||
int collectionSizeOrDefault = collectionSizeOrDefault(iterable, 10);
|
||||
ArrayList arrayList = new ArrayList(collectionSizeOrDefault);
|
||||
ArrayList arrayList2 = new ArrayList(collectionSizeOrDefault);
|
||||
for (Pair<? extends T, ? extends R> pair : iterable) {
|
||||
arrayList.add(pair.getFirst());
|
||||
arrayList2.add(pair.getSecond());
|
||||
}
|
||||
return TuplesKt.to(arrayList, arrayList2);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user