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:
2025-12-04 13:59:54 +01:00
parent f2fd1c3bf5
commit e0133d2ca2
10432 changed files with 1019085 additions and 1 deletions

View File

@@ -0,0 +1,310 @@
package kotlin.collections;
import C.w;
import com.google.firebase.analytics.FirebaseAnalytics;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
import java.util.ListIterator;
import java.util.NoSuchElementException;
import java.util.RandomAccess;
import kotlin.Metadata;
import kotlin.SinceKotlin;
import kotlin.jvm.internal.DefaultConstructorMarker;
import kotlin.jvm.internal.Intrinsics;
import kotlin.jvm.internal.SourceDebugExtension;
import kotlin.jvm.internal.markers.KMappedMarker;
@SinceKotlin(version = "1.1")
@Metadata(d1 = {"\u00008\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0010 \n\u0002\b\u0002\n\u0002\u0010\b\n\u0002\b\u0003\n\u0002\u0010\u000b\n\u0000\n\u0002\u0010\u0000\n\u0002\b\b\n\u0002\u0010(\n\u0002\b\u0002\n\u0002\u0010*\n\u0002\b\b\b'\u0018\u0000 \u001c*\u0006\b\u0000\u0010\u0001 \u00012\b\u0012\u0004\u0012\u0002H\u00010\u00022\b\u0012\u0004\u0012\u0002H\u00010\u0003:\u0004\u001c\u001d\u001e\u001fB\u0007\b\u0004¢\u0006\u0002\u0010\u0004J\u0013\u0010\t\u001a\u00020\n2\b\u0010\u000b\u001a\u0004\u0018\u00010\fH\u0096\u0002J\u0016\u0010\r\u001a\u00028\u00002\u0006\u0010\u000e\u001a\u00020\u0006H¦\u0002¢\u0006\u0002\u0010\u000fJ\b\u0010\u0010\u001a\u00020\u0006H\u0016J\u0015\u0010\u0011\u001a\u00020\u00062\u0006\u0010\u0012\u001a\u00028\u0000H\u0016¢\u0006\u0002\u0010\u0013J\u000f\u0010\u0014\u001a\b\u0012\u0004\u0012\u00028\u00000\u0015H\u0096\u0002J\u0015\u0010\u0016\u001a\u00020\u00062\u0006\u0010\u0012\u001a\u00028\u0000H\u0016¢\u0006\u0002\u0010\u0013J\u000e\u0010\u0017\u001a\b\u0012\u0004\u0012\u00028\u00000\u0018H\u0016J\u0016\u0010\u0017\u001a\b\u0012\u0004\u0012\u00028\u00000\u00182\u0006\u0010\u000e\u001a\u00020\u0006H\u0016J\u001e\u0010\u0019\u001a\b\u0012\u0004\u0012\u00028\u00000\u00032\u0006\u0010\u001a\u001a\u00020\u00062\u0006\u0010\u001b\u001a\u00020\u0006H\u0016R\u0012\u0010\u0005\u001a\u00020\u0006X¦\u0004¢\u0006\u0006\u001a\u0004\b\u0007\u0010\b¨\u0006 "}, d2 = {"Lkotlin/collections/AbstractList;", "E", "Lkotlin/collections/AbstractCollection;", "", "()V", "size", "", "getSize", "()I", "equals", "", "other", "", "get", FirebaseAnalytics.Param.INDEX, "(I)Ljava/lang/Object;", "hashCode", "indexOf", "element", "(Ljava/lang/Object;)I", "iterator", "", "lastIndexOf", "listIterator", "", "subList", "fromIndex", "toIndex", "Companion", "IteratorImpl", "ListIteratorImpl", "SubList", "kotlin-stdlib"}, k = 1, mv = {1, 9, 0}, xi = 48)
@SourceDebugExtension({"SMAP\nAbstractList.kt\nKotlin\n*S Kotlin\n*F\n+ 1 AbstractList.kt\nkotlin/collections/AbstractList\n+ 2 _Collections.kt\nkotlin/collections/CollectionsKt___CollectionsKt\n*L\n1#1,170:1\n350#2,7:171\n378#2,7:178\n*S KotlinDebug\n*F\n+ 1 AbstractList.kt\nkotlin/collections/AbstractList\n*L\n27#1:171,7\n29#1:178,7\n*E\n"})
/* loaded from: classes3.dex */
public abstract class AbstractList<E> extends AbstractCollection<E> implements List<E>, KMappedMarker {
/* renamed from: Companion, reason: from kotlin metadata */
public static final Companion INSTANCE = new Companion(null);
private static final int maxArraySize = 2147483639;
@Metadata(d1 = {"\u0000(\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0010\b\n\u0000\n\u0002\u0010\u0002\n\u0002\b\u0012\n\u0002\u0010\u000b\n\u0000\n\u0002\u0010\u001e\n\u0002\b\u0005\b\u0080\u0003\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002J%\u0010\u0005\u001a\u00020\u00062\u0006\u0010\u0007\u001a\u00020\u00042\u0006\u0010\b\u001a\u00020\u00042\u0006\u0010\t\u001a\u00020\u0004H\u0000¢\u0006\u0002\b\nJ\u001d\u0010\u000b\u001a\u00020\u00062\u0006\u0010\f\u001a\u00020\u00042\u0006\u0010\t\u001a\u00020\u0004H\u0000¢\u0006\u0002\b\rJ\u001d\u0010\u000e\u001a\u00020\u00062\u0006\u0010\f\u001a\u00020\u00042\u0006\u0010\t\u001a\u00020\u0004H\u0000¢\u0006\u0002\b\u000fJ%\u0010\u0010\u001a\u00020\u00062\u0006\u0010\u0011\u001a\u00020\u00042\u0006\u0010\u0012\u001a\u00020\u00042\u0006\u0010\t\u001a\u00020\u0004H\u0000¢\u0006\u0002\b\u0013J\u001d\u0010\u0014\u001a\u00020\u00042\u0006\u0010\u0015\u001a\u00020\u00042\u0006\u0010\u0016\u001a\u00020\u0004H\u0000¢\u0006\u0002\b\u0017J%\u0010\u0018\u001a\u00020\u00192\n\u0010\u001a\u001a\u0006\u0012\u0002\b\u00030\u001b2\n\u0010\u001c\u001a\u0006\u0012\u0002\b\u00030\u001bH\u0000¢\u0006\u0002\b\u001dJ\u0019\u0010\u001e\u001a\u00020\u00042\n\u0010\u001a\u001a\u0006\u0012\u0002\b\u00030\u001bH\u0000¢\u0006\u0002\b\u001fR\u000e\u0010\u0003\u001a\u00020\u0004X\u0082T¢\u0006\u0002\n\u0000¨\u0006 "}, d2 = {"Lkotlin/collections/AbstractList$Companion;", "", "()V", "maxArraySize", "", "checkBoundsIndexes", "", "startIndex", "endIndex", "size", "checkBoundsIndexes$kotlin_stdlib", "checkElementIndex", FirebaseAnalytics.Param.INDEX, "checkElementIndex$kotlin_stdlib", "checkPositionIndex", "checkPositionIndex$kotlin_stdlib", "checkRangeIndexes", "fromIndex", "toIndex", "checkRangeIndexes$kotlin_stdlib", "newCapacity", "oldCapacity", "minCapacity", "newCapacity$kotlin_stdlib", "orderedEquals", "", "c", "", "other", "orderedEquals$kotlin_stdlib", "orderedHashCode", "orderedHashCode$kotlin_stdlib", "kotlin-stdlib"}, k = 1, mv = {1, 9, 0}, xi = 48)
/* loaded from: classes3.dex */
public static final class Companion {
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
this();
}
public final void checkBoundsIndexes$kotlin_stdlib(int startIndex, int endIndex, int size) {
if (startIndex >= 0 && endIndex <= size) {
if (startIndex > endIndex) {
throw new IllegalArgumentException(w.k("startIndex: ", startIndex, endIndex, " > endIndex: "));
}
return;
}
throw new IndexOutOfBoundsException("startIndex: " + startIndex + ", endIndex: " + endIndex + ", size: " + size);
}
public final void checkElementIndex$kotlin_stdlib(int index, int size) {
if (index < 0 || index >= size) {
throw new IndexOutOfBoundsException(w.k("index: ", index, size, ", size: "));
}
}
public final void checkPositionIndex$kotlin_stdlib(int index, int size) {
if (index < 0 || index > size) {
throw new IndexOutOfBoundsException(w.k("index: ", index, size, ", size: "));
}
}
public final void checkRangeIndexes$kotlin_stdlib(int fromIndex, int toIndex, int size) {
if (fromIndex >= 0 && toIndex <= size) {
if (fromIndex > toIndex) {
throw new IllegalArgumentException(w.k("fromIndex: ", fromIndex, toIndex, " > toIndex: "));
}
return;
}
throw new IndexOutOfBoundsException("fromIndex: " + fromIndex + ", toIndex: " + toIndex + ", size: " + size);
}
public final int newCapacity$kotlin_stdlib(int oldCapacity, int minCapacity) {
int i = oldCapacity + (oldCapacity >> 1);
if (i - minCapacity < 0) {
i = minCapacity;
}
if (i - AbstractList.maxArraySize <= 0) {
return i;
}
if (minCapacity > AbstractList.maxArraySize) {
return Integer.MAX_VALUE;
}
return AbstractList.maxArraySize;
}
public final boolean orderedEquals$kotlin_stdlib(Collection<?> c4, Collection<?> other) {
Intrinsics.checkNotNullParameter(c4, "c");
Intrinsics.checkNotNullParameter(other, "other");
if (c4.size() != other.size()) {
return false;
}
Iterator<?> it = other.iterator();
Iterator<?> it2 = c4.iterator();
while (it2.hasNext()) {
if (!Intrinsics.areEqual(it2.next(), it.next())) {
return false;
}
}
return true;
}
public final int orderedHashCode$kotlin_stdlib(Collection<?> c4) {
Intrinsics.checkNotNullParameter(c4, "c");
Iterator<?> it = c4.iterator();
int i = 1;
while (it.hasNext()) {
Object next = it.next();
i = (i * 31) + (next != null ? next.hashCode() : 0);
}
return i;
}
private Companion() {
}
}
@Metadata(d1 = {"\u0000\u001c\n\u0002\u0018\u0002\n\u0002\u0010(\n\u0002\b\u0002\n\u0002\u0010\b\n\u0002\b\u0005\n\u0002\u0010\u000b\n\u0002\b\u0003\b\u0092\u0004\u0018\u00002\b\u0012\u0004\u0012\u00028\u00000\u0001B\u0005¢\u0006\u0002\u0010\u0002J\t\u0010\t\u001a\u00020\nH\u0096\u0002J\u000e\u0010\u000b\u001a\u00028\u0000H\u0096\u0002¢\u0006\u0002\u0010\fR\u001a\u0010\u0003\u001a\u00020\u0004X\u0084\u000e¢\u0006\u000e\n\u0000\u001a\u0004\b\u0005\u0010\u0006\"\u0004\b\u0007\u0010\b¨\u0006\r"}, d2 = {"Lkotlin/collections/AbstractList$IteratorImpl;", "", "(Lkotlin/collections/AbstractList;)V", FirebaseAnalytics.Param.INDEX, "", "getIndex", "()I", "setIndex", "(I)V", "hasNext", "", "next", "()Ljava/lang/Object;", "kotlin-stdlib"}, k = 1, mv = {1, 9, 0}, xi = 48)
/* loaded from: classes3.dex */
public class IteratorImpl implements Iterator<E>, KMappedMarker {
private int index;
public IteratorImpl() {
}
public final int getIndex() {
return this.index;
}
@Override // java.util.Iterator
public boolean hasNext() {
return this.index < AbstractList.this.size();
}
@Override // java.util.Iterator
public E next() {
if (!hasNext()) {
throw new NoSuchElementException();
}
AbstractList<E> abstractList = AbstractList.this;
int i = this.index;
this.index = i + 1;
return abstractList.get(i);
}
@Override // java.util.Iterator
public void remove() {
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
}
public final void setIndex(int i) {
this.index = i;
}
}
@Metadata(d1 = {"\u0000\"\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0010*\n\u0000\n\u0002\u0010\b\n\u0002\b\u0002\n\u0002\u0010\u000b\n\u0002\b\u0005\b\u0092\u0004\u0018\u00002\f0\u0001R\b\u0012\u0004\u0012\u00028\u00000\u00022\b\u0012\u0004\u0012\u00028\u00000\u0003B\r\u0012\u0006\u0010\u0004\u001a\u00020\u0005¢\u0006\u0002\u0010\u0006J\b\u0010\u0007\u001a\u00020\bH\u0016J\b\u0010\t\u001a\u00020\u0005H\u0016J\r\u0010\n\u001a\u00028\u0000H\u0016¢\u0006\u0002\u0010\u000bJ\b\u0010\f\u001a\u00020\u0005H\u0016¨\u0006\r"}, d2 = {"Lkotlin/collections/AbstractList$ListIteratorImpl;", "Lkotlin/collections/AbstractList$IteratorImpl;", "Lkotlin/collections/AbstractList;", "", FirebaseAnalytics.Param.INDEX, "", "(Lkotlin/collections/AbstractList;I)V", "hasPrevious", "", "nextIndex", "previous", "()Ljava/lang/Object;", "previousIndex", "kotlin-stdlib"}, k = 1, mv = {1, 9, 0}, xi = 48)
/* loaded from: classes3.dex */
public class ListIteratorImpl extends AbstractList<E>.IteratorImpl implements ListIterator<E>, KMappedMarker {
public ListIteratorImpl(int i) {
super();
AbstractList.INSTANCE.checkPositionIndex$kotlin_stdlib(i, AbstractList.this.size());
setIndex(i);
}
@Override // java.util.ListIterator
public void add(E e4) {
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
}
@Override // java.util.ListIterator
public boolean hasPrevious() {
return getIndex() > 0;
}
@Override // java.util.ListIterator
public int nextIndex() {
return getIndex();
}
@Override // java.util.ListIterator
public E previous() {
if (!hasPrevious()) {
throw new NoSuchElementException();
}
AbstractList<E> abstractList = AbstractList.this;
setIndex(getIndex() - 1);
return abstractList.get(getIndex());
}
@Override // java.util.ListIterator
public int previousIndex() {
return getIndex() - 1;
}
@Override // java.util.ListIterator
public void set(E e4) {
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
}
}
@Metadata(d1 = {"\u0000\u001e\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\b\n\u0002\b\n\b\u0002\u0018\u0000*\u0006\b\u0001\u0010\u0001 \u00012\b\u0012\u0004\u0012\u0002H\u00010\u00022\u00060\u0003j\u0002`\u0004B#\u0012\f\u0010\u0005\u001a\b\u0012\u0004\u0012\u00028\u00010\u0002\u0012\u0006\u0010\u0006\u001a\u00020\u0007\u0012\u0006\u0010\b\u001a\u00020\u0007¢\u0006\u0002\u0010\tJ\u0016\u0010\u000e\u001a\u00028\u00012\u0006\u0010\u000f\u001a\u00020\u0007H\u0096\u0002¢\u0006\u0002\u0010\u0010R\u000e\u0010\n\u001a\u00020\u0007X\u0082\u000e¢\u0006\u0002\n\u0000R\u000e\u0010\u0006\u001a\u00020\u0007X\u0082\u0004¢\u0006\u0002\n\u0000R\u0014\u0010\u0005\u001a\b\u0012\u0004\u0012\u00028\u00010\u0002X\u0082\u0004¢\u0006\u0002\n\u0000R\u0014\u0010\u000b\u001a\u00020\u00078VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b\f\u0010\r¨\u0006\u0011"}, d2 = {"Lkotlin/collections/AbstractList$SubList;", "E", "Lkotlin/collections/AbstractList;", "Ljava/util/RandomAccess;", "Lkotlin/collections/RandomAccess;", "list", "fromIndex", "", "toIndex", "(Lkotlin/collections/AbstractList;II)V", "_size", "size", "getSize", "()I", "get", FirebaseAnalytics.Param.INDEX, "(I)Ljava/lang/Object;", "kotlin-stdlib"}, k = 1, mv = {1, 9, 0}, xi = 48)
/* loaded from: classes3.dex */
public static final class SubList<E> extends AbstractList<E> implements RandomAccess {
private int _size;
private final int fromIndex;
private final AbstractList<E> list;
/* JADX WARN: Multi-variable type inference failed */
public SubList(AbstractList<? extends E> list, int i, int i4) {
Intrinsics.checkNotNullParameter(list, "list");
this.list = list;
this.fromIndex = i;
AbstractList.INSTANCE.checkRangeIndexes$kotlin_stdlib(i, i4, list.size());
this._size = i4 - i;
}
@Override // kotlin.collections.AbstractList, java.util.List
public E get(int index) {
AbstractList.INSTANCE.checkElementIndex$kotlin_stdlib(index, this._size);
return this.list.get(this.fromIndex + index);
}
@Override // kotlin.collections.AbstractList, kotlin.collections.AbstractCollection
/* renamed from: getSize, reason: from getter */
public int get_size() {
return this._size;
}
}
@Override // java.util.List
public void add(int i, E e4) {
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
}
@Override // java.util.List
public boolean addAll(int i, Collection<? extends E> collection) {
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
}
@Override // java.util.Collection, java.util.List
public boolean equals(Object other) {
if (other == this) {
return true;
}
if (other instanceof List) {
return INSTANCE.orderedEquals$kotlin_stdlib(this, (Collection) other);
}
return false;
}
@Override // java.util.List
public abstract E get(int index);
@Override // kotlin.collections.AbstractCollection
/* renamed from: getSize */
public abstract int get_size();
@Override // java.util.Collection, java.util.List
public int hashCode() {
return INSTANCE.orderedHashCode$kotlin_stdlib(this);
}
@Override // java.util.List
public int indexOf(E element) {
Iterator<E> it = iterator();
int i = 0;
while (it.hasNext()) {
if (Intrinsics.areEqual(it.next(), element)) {
return i;
}
i++;
}
return -1;
}
@Override // kotlin.collections.AbstractCollection, java.util.Collection, java.lang.Iterable
public Iterator<E> iterator() {
return new IteratorImpl();
}
@Override // java.util.List
public int lastIndexOf(E element) {
ListIterator<E> listIterator = listIterator(size());
while (listIterator.hasPrevious()) {
if (Intrinsics.areEqual(listIterator.previous(), element)) {
return listIterator.nextIndex();
}
}
return -1;
}
@Override // java.util.List
public ListIterator<E> listIterator() {
return new ListIteratorImpl(0);
}
@Override // java.util.List
public E remove(int i) {
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
}
@Override // java.util.List
public E set(int i, E e4) {
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
}
@Override // java.util.List
public List<E> subList(int fromIndex, int toIndex) {
return new SubList(this, fromIndex, toIndex);
}
@Override // java.util.List
public ListIterator<E> listIterator(int index) {
return new ListIteratorImpl(index);
}
}