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,121 @@
package kotlin.collections;
import java.io.Serializable;
import java.util.Collection;
import java.util.Iterator;
import java.util.Set;
import kotlin.Metadata;
import kotlin.jvm.internal.CollectionToArray;
import kotlin.jvm.internal.Intrinsics;
import kotlin.jvm.internal.markers.KMappedMarker;
@Metadata(d1 = {"\u0000L\n\u0002\u0018\u0002\n\u0002\u0010\"\n\u0002\u0010\u0001\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\t\n\u0000\n\u0002\u0010\b\n\u0002\b\u0003\n\u0002\u0010\u000b\n\u0002\b\u0003\n\u0002\u0010\u001e\n\u0002\b\u0002\n\u0002\u0010\u0000\n\u0002\b\u0003\n\u0002\u0010(\n\u0002\b\u0002\n\u0002\u0010\u000e\n\u0000\\u0002\u0018\u00002\b\u0012\u0004\u0012\u00020\u00020\u00012\u00060\u0003j\u0002`\u0004B\u0007\b\u0002¢\u0006\u0002\u0010\u0005J\u0011\u0010\f\u001a\u00020\r2\u0006\u0010\u000e\u001a\u00020\u0002H\u0096\u0002J\u0016\u0010\u000f\u001a\u00020\r2\f\u0010\u0010\u001a\b\u0012\u0004\u0012\u00020\u00020\u0011H\u0016J\u0013\u0010\u0012\u001a\u00020\r2\b\u0010\u0013\u001a\u0004\u0018\u00010\u0014H\u0096\u0002J\b\u0010\u0015\u001a\u00020\tH\u0016J\b\u0010\u0016\u001a\u00020\rH\u0016J\u000f\u0010\u0017\u001a\b\u0012\u0004\u0012\u00020\u00020\u0018H\u0096\u0002J\b\u0010\u0019\u001a\u00020\u0014H\u0002J\b\u0010\u001a\u001a\u00020\u001bH\u0016R\u000e\u0010\u0006\u001a\u00020\u0007X\u0082T¢\u0006\u0002\n\u0000R\u0014\u0010\b\u001a\u00020\t8VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b\n\u0010\u000b¨\u0006\u001c"}, d2 = {"Lkotlin/collections/EmptySet;", "", "", "Ljava/io/Serializable;", "Lkotlin/io/Serializable;", "()V", "serialVersionUID", "", "size", "", "getSize", "()I", "contains", "", "element", "containsAll", "elements", "", "equals", "other", "", "hashCode", "isEmpty", "iterator", "", "readResolve", "toString", "", "kotlin-stdlib"}, k = 1, mv = {1, 9, 0}, xi = 48)
/* loaded from: classes3.dex */
public final class EmptySet implements Set, Serializable, KMappedMarker {
public static final EmptySet INSTANCE = new EmptySet();
private static final long serialVersionUID = 3406603774387020532L;
private EmptySet() {
}
private final Object readResolve() {
return INSTANCE;
}
@Override // java.util.Set, java.util.Collection
public /* bridge */ /* synthetic */ boolean add(Object obj) {
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
}
@Override // java.util.Set, java.util.Collection
public boolean addAll(Collection collection) {
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
}
@Override // java.util.Set, java.util.Collection
public void clear() {
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
}
public boolean contains(Void element) {
Intrinsics.checkNotNullParameter(element, "element");
return false;
}
@Override // java.util.Set, java.util.Collection
public boolean containsAll(Collection elements) {
Intrinsics.checkNotNullParameter(elements, "elements");
return elements.isEmpty();
}
@Override // java.util.Set, java.util.Collection
public boolean equals(Object other) {
return (other instanceof Set) && ((Set) other).isEmpty();
}
public int getSize() {
return 0;
}
@Override // java.util.Set, java.util.Collection
public int hashCode() {
return 0;
}
@Override // java.util.Set, java.util.Collection
public boolean isEmpty() {
return true;
}
@Override // java.util.Set, java.util.Collection, java.lang.Iterable
public Iterator iterator() {
return EmptyIterator.INSTANCE;
}
@Override // java.util.Set, java.util.Collection
public boolean remove(Object obj) {
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
}
@Override // java.util.Set, java.util.Collection
public boolean removeAll(Collection collection) {
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
}
@Override // java.util.Set, java.util.Collection
public boolean retainAll(Collection collection) {
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
}
@Override // java.util.Set, java.util.Collection
public final /* bridge */ int size() {
return getSize();
}
@Override // java.util.Set, java.util.Collection
public Object[] toArray() {
return CollectionToArray.toArray(this);
}
public String toString() {
return "[]";
}
public boolean add(Void r12) {
throw new UnsupportedOperationException("Operation is not supported for read-only collection");
}
@Override // java.util.Set, java.util.Collection
public final /* bridge */ boolean contains(Object obj) {
if (obj instanceof Void) {
return contains((Void) obj);
}
return false;
}
@Override // java.util.Set, java.util.Collection
public <T> T[] toArray(T[] array) {
Intrinsics.checkNotNullParameter(array, "array");
return (T[]) CollectionToArray.toArray(this, array);
}
}