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,21 @@
package a0;
import android.content.Context;
import kotlin.collections.CollectionsKt;
import kotlin.jvm.functions.Function1;
import kotlin.jvm.internal.Intrinsics;
import kotlin.jvm.internal.Lambda;
/* loaded from: classes.dex */
public final class a extends Lambda implements Function1 {
/* renamed from: a, reason: collision with root package name */
public static final a f2319a = new Lambda(1);
@Override // kotlin.jvm.functions.Function1
public final Object invoke(Object obj) {
Context it = (Context) obj;
Intrinsics.checkNotNullParameter(it, "it");
return CollectionsKt.emptyList();
}
}

View File

@@ -0,0 +1,83 @@
package a0;
import android.content.Context;
import android.util.Log;
import android.view.ViewGroup;
import android.widget.EditText;
import androidx.fragment.app.AbstractC0158l0;
import androidx.fragment.app.C0167q;
import androidx.fragment.app.E0;
import androidx.fragment.app.RunnableC0141d;
import com.adif.elcanomovil.uiSelectStation.main.TextChangesKt$textChanges$1$listener$1;
import com.adif.elcanomovil.uiSelectStation.main.TextFlowKt$textFlow$1$invokeSuspend$$inlined$doAfterTextChanged$1;
import java.io.File;
import kotlin.Unit;
import kotlin.jvm.functions.Function0;
import kotlin.jvm.internal.Intrinsics;
import kotlin.jvm.internal.Lambda;
import o0.C0537n;
import o0.C0540q;
/* loaded from: classes.dex */
public final class b extends Lambda implements Function0 {
/* renamed from: a, reason: collision with root package name */
public final /* synthetic */ int f2320a;
/* renamed from: b, reason: collision with root package name */
public final /* synthetic */ Object f2321b;
/* renamed from: c, reason: collision with root package name */
public final /* synthetic */ Object f2322c;
/* JADX WARN: 'super' call moved to the top of the method (can break code semantics) */
public /* synthetic */ b(int i, Object obj, Object obj2) {
super(0);
this.f2320a = i;
this.f2321b = obj;
this.f2322c = obj2;
}
@Override // kotlin.jvm.functions.Function0
public final Object invoke() {
switch (this.f2320a) {
case 0:
Context applicationContext = (Context) this.f2321b;
Intrinsics.checkNotNullExpressionValue(applicationContext, "applicationContext");
String name = ((c) this.f2322c).f2323a;
Intrinsics.checkNotNullParameter(applicationContext, "<this>");
Intrinsics.checkNotNullParameter(name, "name");
String fileName = Intrinsics.stringPlus(name, ".preferences_pb");
Intrinsics.checkNotNullParameter(applicationContext, "<this>");
Intrinsics.checkNotNullParameter(fileName, "fileName");
return new File(applicationContext.getApplicationContext().getFilesDir(), Intrinsics.stringPlus("datastore/", fileName));
case 1:
if (AbstractC0158l0.M(2)) {
Log.v("FragmentManager", "Animating to start");
}
C0167q c0167q = (C0167q) this.f2321b;
E0 e02 = c0167q.f3211f;
Object obj = c0167q.f3219q;
Intrinsics.checkNotNull(obj);
e02.d(obj, new RunnableC0141d(1, c0167q, (ViewGroup) this.f2322c));
return Unit.INSTANCE;
case 2:
((EditText) this.f2321b).removeTextChangedListener((TextChangesKt$textChanges$1$listener$1) this.f2322c);
return Unit.INSTANCE;
case 3:
((EditText) this.f2321b).removeTextChangedListener((TextFlowKt$textFlow$1$invokeSuspend$$inlined$doAfterTextChanged$1) this.f2322c);
return Unit.INSTANCE;
default:
((C0540q) this.f2321b).d((C0537n) this.f2322c);
return Unit.INSTANCE;
}
}
/* JADX WARN: 'super' call moved to the top of the method (can break code semantics) */
public b(C0540q c0540q, C0537n c0537n, boolean z3) {
super(0);
this.f2320a = 4;
this.f2321b = c0540q;
this.f2322c = c0537n;
}
}

View File

@@ -0,0 +1,84 @@
package a0;
import Y.C0087c;
import Y.F;
import android.content.Context;
import b0.C0259d;
import b0.C0265j;
import java.util.List;
import kotlin.collections.CollectionsKt;
import kotlin.jvm.functions.Function1;
import kotlin.jvm.internal.Intrinsics;
import kotlin.properties.ReadOnlyProperty;
import kotlin.reflect.KProperty;
import kotlinx.coroutines.CoroutineScope;
/* loaded from: classes.dex */
public final class c implements ReadOnlyProperty {
/* renamed from: a, reason: collision with root package name */
public final String f2323a;
/* renamed from: b, reason: collision with root package name */
public final Function1 f2324b;
/* renamed from: c, reason: collision with root package name */
public final CoroutineScope f2325c;
/* renamed from: d, reason: collision with root package name */
public final Object f2326d;
/* renamed from: e, reason: collision with root package name */
public volatile C0259d f2327e;
public c(String name, Function1 produceMigrations, CoroutineScope scope) {
Intrinsics.checkNotNullParameter(name, "name");
Intrinsics.checkNotNullParameter(produceMigrations, "produceMigrations");
Intrinsics.checkNotNullParameter(scope, "scope");
this.f2323a = name;
this.f2324b = produceMigrations;
this.f2325c = scope;
this.f2326d = new Object();
}
@Override // kotlin.properties.ReadOnlyProperty
public final Object getValue(Object obj, KProperty property) {
C0259d c0259d;
Context thisRef = (Context) obj;
Intrinsics.checkNotNullParameter(thisRef, "thisRef");
Intrinsics.checkNotNullParameter(property, "property");
C0259d c0259d2 = this.f2327e;
if (c0259d2 != null) {
return c0259d2;
}
synchronized (this.f2326d) {
try {
if (this.f2327e == null) {
Context applicationContext = thisRef.getApplicationContext();
Function1 function1 = this.f2324b;
Intrinsics.checkNotNullExpressionValue(applicationContext, "applicationContext");
List migrations = (List) function1.invoke(applicationContext);
CoroutineScope scope = this.f2325c;
b produceFile = new b(0, applicationContext, this);
Intrinsics.checkNotNullParameter(migrations, "migrations");
Intrinsics.checkNotNullParameter(scope, "scope");
Intrinsics.checkNotNullParameter(produceFile, "produceFile");
C0265j serializer = C0265j.f4163a;
J0.e produceFile2 = new J0.e(produceFile, 5);
Intrinsics.checkNotNullParameter(serializer, "serializer");
Intrinsics.checkNotNullParameter(migrations, "migrations");
Intrinsics.checkNotNullParameter(scope, "scope");
Intrinsics.checkNotNullParameter(produceFile2, "produceFile");
E2.e eVar = new E2.e(20);
Intrinsics.checkNotNullParameter(migrations, "migrations");
this.f2327e = new C0259d(new F(produceFile2, CollectionsKt.listOf(new C0087c(migrations, null)), eVar, scope));
}
c0259d = this.f2327e;
Intrinsics.checkNotNull(c0259d);
} catch (Throwable th) {
throw th;
}
}
return c0259d;
}
}

View File

@@ -0,0 +1,7 @@
package a0;
import androidx.datastore.preferences.protobuf.AbstractC0128t;
/* loaded from: classes.dex */
public final class d extends AbstractC0128t {
}

View File

@@ -0,0 +1,11 @@
package a0;
import androidx.datastore.preferences.protobuf.A0;
import androidx.datastore.preferences.protobuf.L;
/* loaded from: classes.dex */
public abstract class e {
/* renamed from: a, reason: collision with root package name */
public static final L f2328a = new L(A0.f2821c, A0.f2823e, j.q());
}

View File

@@ -0,0 +1,132 @@
package a0;
import Z2.y;
import androidx.datastore.preferences.protobuf.A;
import androidx.datastore.preferences.protobuf.AbstractC0128t;
import androidx.datastore.preferences.protobuf.AbstractC0130v;
import androidx.datastore.preferences.protobuf.AbstractC0133y;
import androidx.datastore.preferences.protobuf.C0109a0;
import androidx.datastore.preferences.protobuf.C0117h;
import androidx.datastore.preferences.protobuf.C0122m;
import androidx.datastore.preferences.protobuf.InterfaceC0111b0;
import androidx.datastore.preferences.protobuf.M;
import androidx.datastore.preferences.protobuf.W;
import androidx.datastore.preferences.protobuf.Y;
import java.io.FileInputStream;
import java.io.IOException;
import java.nio.charset.Charset;
import java.util.Collections;
import java.util.Map;
import u.AbstractC0629f;
/* loaded from: classes.dex */
public final class f extends AbstractC0130v {
private static final f DEFAULT_INSTANCE;
private static volatile W PARSER = null;
public static final int PREFERENCES_FIELD_NUMBER = 1;
private M preferences_ = M.f2857b;
static {
f fVar = new f();
DEFAULT_INSTANCE = fVar;
AbstractC0130v.h(f.class, fVar);
}
public static M i(f fVar) {
M m4 = fVar.preferences_;
if (!m4.f2858a) {
fVar.preferences_ = m4.b();
}
return fVar.preferences_;
}
public static d k() {
return (d) ((AbstractC0128t) DEFAULT_INSTANCE.d(5));
}
/* JADX WARN: Type inference failed for: r3v2, types: [java.lang.Object, Z2.y] */
public static f l(FileInputStream fileInputStream) {
y yVar;
f fVar = DEFAULT_INSTANCE;
C0117h c0117h = new C0117h(fileInputStream);
C0122m a2 = C0122m.a();
AbstractC0130v abstractC0130v = (AbstractC0130v) fVar.d(4);
try {
Y y3 = Y.f2881c;
y3.getClass();
InterfaceC0111b0 a4 = y3.a(abstractC0130v.getClass());
y yVar2 = c0117h.f2917b;
if (yVar2 != null) {
yVar = yVar2;
} else {
?? obj = new Object();
obj.f2313c = 0;
Charset charset = AbstractC0133y.f2975a;
obj.f2314d = c0117h;
c0117h.f2917b = obj;
yVar = obj;
}
a4.c(abstractC0130v, yVar, a2);
a4.d(abstractC0130v);
if (abstractC0130v.g()) {
return (f) abstractC0130v;
}
throw new IOException(new Q2.j().getMessage());
} catch (IOException e4) {
if (e4.getCause() instanceof A) {
throw ((A) e4.getCause());
}
throw new IOException(e4.getMessage());
} catch (RuntimeException e5) {
if (e5.getCause() instanceof A) {
throw ((A) e5.getCause());
}
throw e5;
}
}
/* JADX WARN: Type inference failed for: r2v14, types: [java.lang.Object, androidx.datastore.preferences.protobuf.W] */
@Override // androidx.datastore.preferences.protobuf.AbstractC0130v
public final Object d(int i) {
W w3;
switch (AbstractC0629f.b(i)) {
case 0:
return (byte) 1;
case 1:
return null;
case 2:
return new C0109a0(DEFAULT_INSTANCE, "\u0001\u0001\u0000\u0000\u0001\u0001\u0001\u0001\u0000\u0000\u00012", new Object[]{"preferences_", e.f2328a});
case 3:
return new f();
case 4:
return new AbstractC0128t(DEFAULT_INSTANCE);
case 5:
return DEFAULT_INSTANCE;
case 6:
W w4 = PARSER;
if (w4 != null) {
return w4;
}
synchronized (f.class) {
try {
W w5 = PARSER;
w3 = w5;
if (w5 == null) {
?? obj = new Object();
PARSER = obj;
w3 = obj;
}
} catch (Throwable th) {
throw th;
}
}
return w3;
default:
throw new UnsupportedOperationException();
}
}
public final Map j() {
return Collections.unmodifiableMap(this.preferences_);
}
}

View File

@@ -0,0 +1,7 @@
package a0;
import androidx.datastore.preferences.protobuf.AbstractC0128t;
/* loaded from: classes.dex */
public final class g extends AbstractC0128t {
}

View File

@@ -0,0 +1,129 @@
package a0;
import androidx.datastore.preferences.protobuf.AbstractC0110b;
import androidx.datastore.preferences.protobuf.AbstractC0128t;
import androidx.datastore.preferences.protobuf.AbstractC0130v;
import androidx.datastore.preferences.protobuf.AbstractC0133y;
import androidx.datastore.preferences.protobuf.C0109a0;
import androidx.datastore.preferences.protobuf.C0116g;
import androidx.datastore.preferences.protobuf.D;
import androidx.datastore.preferences.protobuf.InterfaceC0132x;
import androidx.datastore.preferences.protobuf.W;
import androidx.datastore.preferences.protobuf.Z;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.List;
import java.util.Set;
import u.AbstractC0629f;
/* loaded from: classes.dex */
public final class h extends AbstractC0130v {
private static final h DEFAULT_INSTANCE;
private static volatile W PARSER = null;
public static final int STRINGS_FIELD_NUMBER = 1;
private InterfaceC0132x strings_ = Z.f2884d;
static {
h hVar = new h();
DEFAULT_INSTANCE = hVar;
AbstractC0130v.h(h.class, hVar);
}
public static void i(h hVar, Set set) {
InterfaceC0132x interfaceC0132x = hVar.strings_;
if (!((AbstractC0110b) interfaceC0132x).f2891a) {
int size = interfaceC0132x.size();
hVar.strings_ = interfaceC0132x.d(size == 0 ? 10 : size * 2);
}
List list = hVar.strings_;
Charset charset = AbstractC0133y.f2975a;
set.getClass();
if (!(set instanceof D)) {
if (list instanceof ArrayList) {
((ArrayList) list).ensureCapacity(set.size() + list.size());
}
int size2 = list.size();
for (Object obj : set) {
if (obj == null) {
String str = "Element at index " + (list.size() - size2) + " is null.";
for (int size3 = list.size() - 1; size3 >= size2; size3--) {
list.remove(size3);
}
throw new NullPointerException(str);
}
list.add(obj);
}
return;
}
List underlyingElements = ((D) set).getUnderlyingElements();
D d4 = (D) list;
int size4 = list.size();
for (Object obj2 : underlyingElements) {
if (obj2 == null) {
String str2 = "Element at index " + (d4.size() - size4) + " is null.";
for (int size5 = d4.size() - 1; size5 >= size4; size5--) {
d4.remove(size5);
}
throw new NullPointerException(str2);
}
if (obj2 instanceof C0116g) {
d4.e((C0116g) obj2);
} else {
d4.add((String) obj2);
}
}
}
public static h j() {
return DEFAULT_INSTANCE;
}
public static g l() {
return (g) ((AbstractC0128t) DEFAULT_INSTANCE.d(5));
}
/* JADX WARN: Type inference failed for: r2v14, types: [java.lang.Object, androidx.datastore.preferences.protobuf.W] */
@Override // androidx.datastore.preferences.protobuf.AbstractC0130v
public final Object d(int i) {
W w3;
switch (AbstractC0629f.b(i)) {
case 0:
return (byte) 1;
case 1:
return null;
case 2:
return new C0109a0(DEFAULT_INSTANCE, "\u0001\u0001\u0000\u0000\u0001\u0001\u0001\u0000\u0001\u0000\u0001\u001a", new Object[]{"strings_"});
case 3:
return new h();
case 4:
return new AbstractC0128t(DEFAULT_INSTANCE);
case 5:
return DEFAULT_INSTANCE;
case 6:
W w4 = PARSER;
if (w4 != null) {
return w4;
}
synchronized (h.class) {
try {
W w5 = PARSER;
w3 = w5;
if (w5 == null) {
?? obj = new Object();
PARSER = obj;
w3 = obj;
}
} catch (Throwable th) {
throw th;
}
}
return w3;
default:
throw new UnsupportedOperationException();
}
}
public final InterfaceC0132x k() {
return this.strings_;
}
}

View File

@@ -0,0 +1,7 @@
package a0;
import androidx.datastore.preferences.protobuf.AbstractC0128t;
/* loaded from: classes.dex */
public final class i extends AbstractC0128t {
}

View File

@@ -0,0 +1,178 @@
package a0;
import androidx.datastore.preferences.protobuf.AbstractC0128t;
import androidx.datastore.preferences.protobuf.AbstractC0130v;
import androidx.datastore.preferences.protobuf.C0109a0;
import androidx.datastore.preferences.protobuf.W;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;
import com.google.firebase.remoteconfig.FirebaseRemoteConfig;
import u.AbstractC0629f;
/* loaded from: classes.dex */
public final class j extends AbstractC0130v {
public static final int BOOLEAN_FIELD_NUMBER = 1;
private static final j DEFAULT_INSTANCE;
public static final int DOUBLE_FIELD_NUMBER = 7;
public static final int FLOAT_FIELD_NUMBER = 2;
public static final int INTEGER_FIELD_NUMBER = 3;
public static final int LONG_FIELD_NUMBER = 4;
private static volatile W PARSER = null;
public static final int STRING_FIELD_NUMBER = 5;
public static final int STRING_SET_FIELD_NUMBER = 6;
private int bitField0_;
private int valueCase_ = 0;
private Object value_;
static {
j jVar = new j();
DEFAULT_INSTANCE = jVar;
AbstractC0130v.h(j.class, jVar);
}
public static void i(j jVar, long j4) {
jVar.valueCase_ = 4;
jVar.value_ = Long.valueOf(j4);
}
public static void j(j jVar, String str) {
jVar.getClass();
str.getClass();
jVar.valueCase_ = 5;
jVar.value_ = str;
}
public static void k(j jVar, g gVar) {
jVar.getClass();
jVar.value_ = gVar.a();
jVar.valueCase_ = 6;
}
public static void l(j jVar, double d4) {
jVar.valueCase_ = 7;
jVar.value_ = Double.valueOf(d4);
}
public static void m(j jVar, boolean z3) {
jVar.valueCase_ = 1;
jVar.value_ = Boolean.valueOf(z3);
}
public static void n(j jVar, float f2) {
jVar.valueCase_ = 2;
jVar.value_ = Float.valueOf(f2);
}
public static void o(j jVar, int i) {
jVar.valueCase_ = 3;
jVar.value_ = Integer.valueOf(i);
}
public static j q() {
return DEFAULT_INSTANCE;
}
public static i y() {
return (i) ((AbstractC0128t) DEFAULT_INSTANCE.d(5));
}
/* JADX WARN: Type inference failed for: r2v14, types: [java.lang.Object, androidx.datastore.preferences.protobuf.W] */
@Override // androidx.datastore.preferences.protobuf.AbstractC0130v
public final Object d(int i) {
W w3;
switch (AbstractC0629f.b(i)) {
case 0:
return (byte) 1;
case 1:
return null;
case 2:
return new C0109a0(DEFAULT_INSTANCE, "\u0001\u0007\u0001\u0001\u0001\u0007\u0007\u0000\u0000\u0000\u0001:\u0000\u00024\u0000\u00037\u0000\u00045\u0000\u0005;\u0000\u0006<\u0000\u00073\u0000", new Object[]{"value_", "valueCase_", "bitField0_", h.class});
case 3:
return new j();
case 4:
return new AbstractC0128t(DEFAULT_INSTANCE);
case 5:
return DEFAULT_INSTANCE;
case 6:
W w4 = PARSER;
if (w4 != null) {
return w4;
}
synchronized (j.class) {
try {
W w5 = PARSER;
w3 = w5;
if (w5 == null) {
?? obj = new Object();
PARSER = obj;
w3 = obj;
}
} catch (Throwable th) {
throw th;
}
}
return w3;
default:
throw new UnsupportedOperationException();
}
}
public final boolean p() {
if (this.valueCase_ == 1) {
return ((Boolean) this.value_).booleanValue();
}
return false;
}
public final double r() {
return this.valueCase_ == 7 ? ((Double) this.value_).doubleValue() : FirebaseRemoteConfig.DEFAULT_VALUE_FOR_DOUBLE;
}
public final float s() {
return this.valueCase_ == 2 ? ((Float) this.value_).floatValue() : BitmapDescriptorFactory.HUE_RED;
}
public final int t() {
if (this.valueCase_ == 3) {
return ((Integer) this.value_).intValue();
}
return 0;
}
public final long u() {
if (this.valueCase_ == 4) {
return ((Long) this.value_).longValue();
}
return 0L;
}
public final String v() {
return this.valueCase_ == 5 ? (String) this.value_ : "";
}
public final h w() {
return this.valueCase_ == 6 ? (h) this.value_ : h.j();
}
public final int x() {
switch (this.valueCase_) {
case 0:
return 8;
case 1:
return 1;
case 2:
return 2;
case 3:
return 3;
case 4:
return 4;
case 5:
return 5;
case 6:
return 6;
case 7:
return 7;
default:
return 0;
}
}
}