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,79 @@
package kotlin.io.path;
import com.adif.elcanomovil.commonNavGraph.arguments.NavArguments;
import com.google.android.gms.measurement.api.AppMeasurementSdk;
import java.nio.file.FileSystemException;
import java.nio.file.Path;
import java.util.ArrayList;
import java.util.List;
import kotlin.Metadata;
import kotlin.jvm.internal.DefaultConstructorMarker;
import kotlin.jvm.internal.Intrinsics;
/* JADX INFO: Access modifiers changed from: package-private */
@Metadata(d1 = {"\u00002\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\b\n\u0002\b\u0002\n\u0002\u0010!\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\t\n\u0002\u0010\u0002\n\u0002\b\u0005\b\u0002\u0018\u00002\u00020\u0001B\u000f\u0012\b\b\u0002\u0010\u0002\u001a\u00020\u0003¢\u0006\u0002\u0010\u0004J\u0012\u0010\u0015\u001a\u00020\u00162\n\u0010\u0017\u001a\u00060\u0007j\u0002`\bJ\u000e\u0010\u0018\u001a\u00020\u00162\u0006\u0010\u0019\u001a\u00020\fJ\u000e\u0010\u001a\u001a\u00020\u00162\u0006\u0010\u0019\u001a\u00020\fR\u001b\u0010\u0005\u001a\f\u0012\b\u0012\u00060\u0007j\u0002`\b0\u0006¢\u0006\b\n\u0000\u001a\u0004\b\t\u0010\nR\u000e\u0010\u0002\u001a\u00020\u0003X\u0082\u0004¢\u0006\u0002\n\u0000R\u001c\u0010\u000b\u001a\u0004\u0018\u00010\fX\u0086\u000e¢\u0006\u000e\n\u0000\u001a\u0004\b\r\u0010\u000e\"\u0004\b\u000f\u0010\u0010R\u001e\u0010\u0012\u001a\u00020\u00032\u0006\u0010\u0011\u001a\u00020\u0003@BX\u0086\u000e¢\u0006\b\n\u0000\u001a\u0004\b\u0013\u0010\u0014¨\u0006\u001b"}, d2 = {"Lkotlin/io/path/ExceptionsCollector;", "", "limit", "", "(I)V", "collectedExceptions", "", "Ljava/lang/Exception;", "Lkotlin/Exception;", "getCollectedExceptions", "()Ljava/util/List;", NavArguments.ARG_DYNAMIC_LINKS_TAB, "Ljava/nio/file/Path;", "getPath", "()Ljava/nio/file/Path;", "setPath", "(Ljava/nio/file/Path;)V", "<set-?>", "totalExceptions", "getTotalExceptions", "()I", "collect", "", "exception", "enterEntry", AppMeasurementSdk.ConditionalUserProperty.NAME, "exitEntry", "kotlin-stdlib-jdk7"}, k = 1, mv = {1, 9, 0}, xi = 48)
/* loaded from: classes3.dex */
public final class ExceptionsCollector {
private final List<Exception> collectedExceptions;
private final int limit;
private Path path;
private int totalExceptions;
public ExceptionsCollector() {
this(0, 1, null);
}
public final void collect(Exception exception) {
Intrinsics.checkNotNullParameter(exception, "exception");
this.totalExceptions++;
if (this.collectedExceptions.size() < this.limit) {
if (this.path != null) {
Throwable initCause = new FileSystemException(String.valueOf(this.path)).initCause(exception);
Intrinsics.checkNotNull(initCause, "null cannot be cast to non-null type java.nio.file.FileSystemException");
exception = (FileSystemException) initCause;
}
this.collectedExceptions.add(exception);
}
}
public final void enterEntry(Path name) {
Intrinsics.checkNotNullParameter(name, "name");
Path path = this.path;
this.path = path != null ? path.resolve(name) : null;
}
public final void exitEntry(Path name) {
Intrinsics.checkNotNullParameter(name, "name");
Path path = this.path;
if (!Intrinsics.areEqual(name, path != null ? path.getFileName() : null)) {
throw new IllegalArgumentException("Failed requirement.");
}
Path path2 = this.path;
this.path = path2 != null ? path2.getParent() : null;
}
public final List<Exception> getCollectedExceptions() {
return this.collectedExceptions;
}
public final Path getPath() {
return this.path;
}
public final int getTotalExceptions() {
return this.totalExceptions;
}
public final void setPath(Path path) {
this.path = path;
}
public ExceptionsCollector(int i) {
this.limit = i;
this.collectedExceptions = new ArrayList();
}
public /* synthetic */ ExceptionsCollector(int i, int i4, DefaultConstructorMarker defaultConstructorMarker) {
this((i4 & 1) != 0 ? 64 : i);
}
}