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:
36
apk_decompiled/sources/q1/C0558a.java
Normal file
36
apk_decompiled/sources/q1/C0558a.java
Normal file
@@ -0,0 +1,36 @@
|
||||
package q1;
|
||||
|
||||
import com.adif.elcanomovil.repositories.circulation.DefaultCirculationRepository;
|
||||
import kotlin.coroutines.Continuation;
|
||||
import kotlin.coroutines.jvm.internal.ContinuationImpl;
|
||||
import kotlin.jvm.internal.IntCompanionObject;
|
||||
|
||||
/* renamed from: q1.a, reason: case insensitive filesystem */
|
||||
/* loaded from: classes.dex */
|
||||
public final class C0558a extends ContinuationImpl {
|
||||
|
||||
/* renamed from: a, reason: collision with root package name */
|
||||
public DefaultCirculationRepository f8152a;
|
||||
|
||||
/* renamed from: b, reason: collision with root package name */
|
||||
public /* synthetic */ Object f8153b;
|
||||
|
||||
/* renamed from: c, reason: collision with root package name */
|
||||
public final /* synthetic */ DefaultCirculationRepository f8154c;
|
||||
|
||||
/* renamed from: d, reason: collision with root package name */
|
||||
public int f8155d;
|
||||
|
||||
/* JADX WARN: 'super' call moved to the top of the method (can break code semantics) */
|
||||
public C0558a(DefaultCirculationRepository defaultCirculationRepository, Continuation continuation) {
|
||||
super(continuation);
|
||||
this.f8154c = defaultCirculationRepository;
|
||||
}
|
||||
|
||||
@Override // kotlin.coroutines.jvm.internal.BaseContinuationImpl
|
||||
public final Object invokeSuspend(Object obj) {
|
||||
this.f8153b = obj;
|
||||
this.f8155d |= IntCompanionObject.MIN_VALUE;
|
||||
return this.f8154c.arrivals(null, null, 0, false, this);
|
||||
}
|
||||
}
|
||||
35
apk_decompiled/sources/q1/b.java
Normal file
35
apk_decompiled/sources/q1/b.java
Normal file
@@ -0,0 +1,35 @@
|
||||
package q1;
|
||||
|
||||
import com.adif.elcanomovil.repositories.circulation.DefaultCirculationRepository;
|
||||
import kotlin.coroutines.Continuation;
|
||||
import kotlin.coroutines.jvm.internal.ContinuationImpl;
|
||||
import kotlin.jvm.internal.IntCompanionObject;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public final class b extends ContinuationImpl {
|
||||
|
||||
/* renamed from: a, reason: collision with root package name */
|
||||
public DefaultCirculationRepository f8156a;
|
||||
|
||||
/* renamed from: b, reason: collision with root package name */
|
||||
public /* synthetic */ Object f8157b;
|
||||
|
||||
/* renamed from: c, reason: collision with root package name */
|
||||
public final /* synthetic */ DefaultCirculationRepository f8158c;
|
||||
|
||||
/* renamed from: d, reason: collision with root package name */
|
||||
public int f8159d;
|
||||
|
||||
/* JADX WARN: 'super' call moved to the top of the method (can break code semantics) */
|
||||
public b(DefaultCirculationRepository defaultCirculationRepository, Continuation continuation) {
|
||||
super(continuation);
|
||||
this.f8158c = defaultCirculationRepository;
|
||||
}
|
||||
|
||||
@Override // kotlin.coroutines.jvm.internal.BaseContinuationImpl
|
||||
public final Object invokeSuspend(Object obj) {
|
||||
this.f8157b = obj;
|
||||
this.f8159d |= IntCompanionObject.MIN_VALUE;
|
||||
return this.f8158c.betweenStations(null, null, null, 0, false, this);
|
||||
}
|
||||
}
|
||||
35
apk_decompiled/sources/q1/c.java
Normal file
35
apk_decompiled/sources/q1/c.java
Normal file
@@ -0,0 +1,35 @@
|
||||
package q1;
|
||||
|
||||
import com.adif.elcanomovil.repositories.circulation.DefaultCirculationRepository;
|
||||
import kotlin.coroutines.Continuation;
|
||||
import kotlin.coroutines.jvm.internal.ContinuationImpl;
|
||||
import kotlin.jvm.internal.IntCompanionObject;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public final class c extends ContinuationImpl {
|
||||
|
||||
/* renamed from: a, reason: collision with root package name */
|
||||
public DefaultCirculationRepository f8160a;
|
||||
|
||||
/* renamed from: b, reason: collision with root package name */
|
||||
public /* synthetic */ Object f8161b;
|
||||
|
||||
/* renamed from: c, reason: collision with root package name */
|
||||
public final /* synthetic */ DefaultCirculationRepository f8162c;
|
||||
|
||||
/* renamed from: d, reason: collision with root package name */
|
||||
public int f8163d;
|
||||
|
||||
/* JADX WARN: 'super' call moved to the top of the method (can break code semantics) */
|
||||
public c(DefaultCirculationRepository defaultCirculationRepository, Continuation continuation) {
|
||||
super(continuation);
|
||||
this.f8162c = defaultCirculationRepository;
|
||||
}
|
||||
|
||||
@Override // kotlin.coroutines.jvm.internal.BaseContinuationImpl
|
||||
public final Object invokeSuspend(Object obj) {
|
||||
this.f8161b = obj;
|
||||
this.f8163d |= IntCompanionObject.MIN_VALUE;
|
||||
return this.f8162c.departures(null, null, 0, false, this);
|
||||
}
|
||||
}
|
||||
91
apk_decompiled/sources/q1/d.java
Normal file
91
apk_decompiled/sources/q1/d.java
Normal file
@@ -0,0 +1,91 @@
|
||||
package q1;
|
||||
|
||||
import com.adif.elcanomovil.domain.entities.utils.AsyncResult;
|
||||
import com.adif.elcanomovil.repositories.circulation.CirculationMapper;
|
||||
import com.adif.elcanomovil.repositories.circulation.DefaultCirculationRepository;
|
||||
import kotlin.Unit;
|
||||
import kotlin.coroutines.Continuation;
|
||||
import kotlin.coroutines.jvm.internal.SuspendLambda;
|
||||
import kotlin.jvm.functions.Function2;
|
||||
import kotlinx.coroutines.flow.FlowCollector;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public final class d extends SuspendLambda implements Function2 {
|
||||
|
||||
/* renamed from: a, reason: collision with root package name */
|
||||
public FlowCollector f8164a;
|
||||
|
||||
/* renamed from: b, reason: collision with root package name */
|
||||
public AsyncResult.Companion f8165b;
|
||||
|
||||
/* renamed from: c, reason: collision with root package name */
|
||||
public CirculationMapper f8166c;
|
||||
|
||||
/* renamed from: d, reason: collision with root package name */
|
||||
public int f8167d;
|
||||
|
||||
/* renamed from: e, reason: collision with root package name */
|
||||
public /* synthetic */ Object f8168e;
|
||||
|
||||
/* renamed from: f, reason: collision with root package name */
|
||||
public final /* synthetic */ DefaultCirculationRepository f8169f;
|
||||
|
||||
/* renamed from: g, reason: collision with root package name */
|
||||
public final /* synthetic */ boolean f8170g;
|
||||
public final /* synthetic */ String h;
|
||||
public final /* synthetic */ String i;
|
||||
|
||||
/* renamed from: j, reason: collision with root package name */
|
||||
public final /* synthetic */ long f8171j;
|
||||
|
||||
/* renamed from: k, reason: collision with root package name */
|
||||
public final /* synthetic */ String f8172k;
|
||||
|
||||
/* JADX WARN: 'super' call moved to the top of the method (can break code semantics) */
|
||||
public d(DefaultCirculationRepository defaultCirculationRepository, boolean z3, String str, String str2, long j4, String str3, Continuation continuation) {
|
||||
super(2, continuation);
|
||||
this.f8169f = defaultCirculationRepository;
|
||||
this.f8170g = z3;
|
||||
this.h = str;
|
||||
this.i = str2;
|
||||
this.f8171j = j4;
|
||||
this.f8172k = str3;
|
||||
}
|
||||
|
||||
@Override // kotlin.coroutines.jvm.internal.BaseContinuationImpl
|
||||
public final Continuation create(Object obj, Continuation continuation) {
|
||||
d dVar = new d(this.f8169f, this.f8170g, this.h, this.i, this.f8171j, this.f8172k, continuation);
|
||||
dVar.f8168e = obj;
|
||||
return dVar;
|
||||
}
|
||||
|
||||
@Override // kotlin.jvm.functions.Function2
|
||||
public final Object invoke(Object obj, Object obj2) {
|
||||
return ((d) create((FlowCollector) obj, (Continuation) obj2)).invokeSuspend(Unit.INSTANCE);
|
||||
}
|
||||
|
||||
/* JADX WARN: Code restructure failed: missing block: B:20:0x00ba, code lost:
|
||||
|
||||
if (r5.emit(r15, r14) != r1) goto L36;
|
||||
*/
|
||||
/* JADX WARN: Code restructure failed: missing block: B:26:0x00d1, code lost:
|
||||
|
||||
if (r2.emit(r15, r14) != r1) goto L36;
|
||||
*/
|
||||
/* JADX WARN: Multi-variable type inference failed */
|
||||
/* JADX WARN: Type inference failed for: r2v1, types: [kotlinx.coroutines.flow.FlowCollector] */
|
||||
/* JADX WARN: Type inference failed for: r2v15 */
|
||||
/* JADX WARN: Type inference failed for: r2v8 */
|
||||
@Override // kotlin.coroutines.jvm.internal.BaseContinuationImpl
|
||||
/*
|
||||
Code decompiled incorrectly, please refer to instructions dump.
|
||||
To view partially-correct add '--show-bad-code' argument
|
||||
*/
|
||||
public final java.lang.Object invokeSuspend(java.lang.Object r15) {
|
||||
/*
|
||||
Method dump skipped, instructions count: 215
|
||||
To view this dump add '--comments-level debug' option
|
||||
*/
|
||||
throw new UnsupportedOperationException("Method not decompiled: q1.d.invokeSuspend(java.lang.Object):java.lang.Object");
|
||||
}
|
||||
}
|
||||
48
apk_decompiled/sources/q1/e.java
Normal file
48
apk_decompiled/sources/q1/e.java
Normal file
@@ -0,0 +1,48 @@
|
||||
package q1;
|
||||
|
||||
import com.adif.elcanomovil.repositories.circulation.DefaultCirculationRepository;
|
||||
import com.adif.elcanomovil.serviceStorage.preferences.PreferenceStorage;
|
||||
import kotlin.ResultKt;
|
||||
import kotlin.Unit;
|
||||
import kotlin.coroutines.Continuation;
|
||||
import kotlin.coroutines.intrinsics.IntrinsicsKt;
|
||||
import kotlin.coroutines.jvm.internal.SuspendLambda;
|
||||
import kotlin.jvm.functions.Function2;
|
||||
import kotlinx.coroutines.CoroutineScope;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public final class e extends SuspendLambda implements Function2 {
|
||||
|
||||
/* renamed from: a, reason: collision with root package name */
|
||||
public final /* synthetic */ DefaultCirculationRepository f8173a;
|
||||
|
||||
/* renamed from: b, reason: collision with root package name */
|
||||
public final /* synthetic */ String f8174b;
|
||||
|
||||
/* JADX WARN: 'super' call moved to the top of the method (can break code semantics) */
|
||||
public e(DefaultCirculationRepository defaultCirculationRepository, String str, Continuation continuation) {
|
||||
super(2, continuation);
|
||||
this.f8173a = defaultCirculationRepository;
|
||||
this.f8174b = str;
|
||||
}
|
||||
|
||||
@Override // kotlin.coroutines.jvm.internal.BaseContinuationImpl
|
||||
public final Continuation create(Object obj, Continuation continuation) {
|
||||
return new e(this.f8173a, this.f8174b, continuation);
|
||||
}
|
||||
|
||||
@Override // kotlin.jvm.functions.Function2
|
||||
public final Object invoke(Object obj, Object obj2) {
|
||||
return ((e) create((CoroutineScope) obj, (Continuation) obj2)).invokeSuspend(Unit.INSTANCE);
|
||||
}
|
||||
|
||||
@Override // kotlin.coroutines.jvm.internal.BaseContinuationImpl
|
||||
public final Object invokeSuspend(Object obj) {
|
||||
PreferenceStorage preferenceStorage;
|
||||
IntrinsicsKt.getCOROUTINE_SUSPENDED();
|
||||
ResultKt.throwOnFailure(obj);
|
||||
preferenceStorage = this.f8173a.storage;
|
||||
preferenceStorage.setLastDeparturesArrivalsStationCode(this.f8174b);
|
||||
return Unit.INSTANCE;
|
||||
}
|
||||
}
|
||||
48
apk_decompiled/sources/q1/f.java
Normal file
48
apk_decompiled/sources/q1/f.java
Normal file
@@ -0,0 +1,48 @@
|
||||
package q1;
|
||||
|
||||
import com.adif.elcanomovil.repositories.circulation.DefaultCirculationRepository;
|
||||
import com.adif.elcanomovil.serviceStorage.preferences.PreferenceStorage;
|
||||
import kotlin.ResultKt;
|
||||
import kotlin.Unit;
|
||||
import kotlin.coroutines.Continuation;
|
||||
import kotlin.coroutines.intrinsics.IntrinsicsKt;
|
||||
import kotlin.coroutines.jvm.internal.SuspendLambda;
|
||||
import kotlin.jvm.functions.Function2;
|
||||
import kotlinx.coroutines.CoroutineScope;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public final class f extends SuspendLambda implements Function2 {
|
||||
|
||||
/* renamed from: a, reason: collision with root package name */
|
||||
public final /* synthetic */ DefaultCirculationRepository f8175a;
|
||||
|
||||
/* renamed from: b, reason: collision with root package name */
|
||||
public final /* synthetic */ String f8176b;
|
||||
|
||||
/* JADX WARN: 'super' call moved to the top of the method (can break code semantics) */
|
||||
public f(DefaultCirculationRepository defaultCirculationRepository, String str, Continuation continuation) {
|
||||
super(2, continuation);
|
||||
this.f8175a = defaultCirculationRepository;
|
||||
this.f8176b = str;
|
||||
}
|
||||
|
||||
@Override // kotlin.coroutines.jvm.internal.BaseContinuationImpl
|
||||
public final Continuation create(Object obj, Continuation continuation) {
|
||||
return new f(this.f8175a, this.f8176b, continuation);
|
||||
}
|
||||
|
||||
@Override // kotlin.jvm.functions.Function2
|
||||
public final Object invoke(Object obj, Object obj2) {
|
||||
return ((f) create((CoroutineScope) obj, (Continuation) obj2)).invokeSuspend(Unit.INSTANCE);
|
||||
}
|
||||
|
||||
@Override // kotlin.coroutines.jvm.internal.BaseContinuationImpl
|
||||
public final Object invokeSuspend(Object obj) {
|
||||
PreferenceStorage preferenceStorage;
|
||||
IntrinsicsKt.getCOROUTINE_SUSPENDED();
|
||||
ResultKt.throwOnFailure(obj);
|
||||
preferenceStorage = this.f8175a.storage;
|
||||
preferenceStorage.setLastDeparturesArrivalsStationToCode(this.f8176b);
|
||||
return Unit.INSTANCE;
|
||||
}
|
||||
}
|
||||
95
apk_decompiled/sources/q1/g.java
Normal file
95
apk_decompiled/sources/q1/g.java
Normal file
@@ -0,0 +1,95 @@
|
||||
package q1;
|
||||
|
||||
import com.adif.elcanomovil.domain.entities.utils.AsyncResult;
|
||||
import com.adif.elcanomovil.repositories.circulation.CirculationMapper;
|
||||
import com.adif.elcanomovil.repositories.circulation.DefaultCirculationRepository;
|
||||
import kotlin.Unit;
|
||||
import kotlin.coroutines.Continuation;
|
||||
import kotlin.coroutines.jvm.internal.SuspendLambda;
|
||||
import kotlin.jvm.functions.Function2;
|
||||
import kotlinx.coroutines.flow.FlowCollector;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public final class g extends SuspendLambda implements Function2 {
|
||||
|
||||
/* renamed from: a, reason: collision with root package name */
|
||||
public FlowCollector f8177a;
|
||||
|
||||
/* renamed from: b, reason: collision with root package name */
|
||||
public AsyncResult.Companion f8178b;
|
||||
|
||||
/* renamed from: c, reason: collision with root package name */
|
||||
public CirculationMapper f8179c;
|
||||
|
||||
/* renamed from: d, reason: collision with root package name */
|
||||
public int f8180d;
|
||||
|
||||
/* renamed from: e, reason: collision with root package name */
|
||||
public /* synthetic */ Object f8181e;
|
||||
|
||||
/* renamed from: f, reason: collision with root package name */
|
||||
public final /* synthetic */ DefaultCirculationRepository f8182f;
|
||||
|
||||
/* renamed from: g, reason: collision with root package name */
|
||||
public final /* synthetic */ boolean f8183g;
|
||||
public final /* synthetic */ String h;
|
||||
|
||||
/* JADX WARN: 'super' call moved to the top of the method (can break code semantics) */
|
||||
public g(DefaultCirculationRepository defaultCirculationRepository, boolean z3, String str, Continuation continuation) {
|
||||
super(2, continuation);
|
||||
this.f8182f = defaultCirculationRepository;
|
||||
this.f8183g = z3;
|
||||
this.h = str;
|
||||
}
|
||||
|
||||
@Override // kotlin.coroutines.jvm.internal.BaseContinuationImpl
|
||||
public final Continuation create(Object obj, Continuation continuation) {
|
||||
g gVar = new g(this.f8182f, this.f8183g, this.h, continuation);
|
||||
gVar.f8181e = obj;
|
||||
return gVar;
|
||||
}
|
||||
|
||||
@Override // kotlin.jvm.functions.Function2
|
||||
public final Object invoke(Object obj, Object obj2) {
|
||||
return ((g) create((FlowCollector) obj, (Continuation) obj2)).invokeSuspend(Unit.INSTANCE);
|
||||
}
|
||||
|
||||
/* JADX WARN: Code restructure failed: missing block: B:16:0x00bc, code lost:
|
||||
|
||||
if (r4.emit(r14, r13) != r1) goto L50;
|
||||
*/
|
||||
/* JADX WARN: Code restructure failed: missing block: B:21:0x0128, code lost:
|
||||
|
||||
if (r2.emit(r14, r13) != r1) goto L50;
|
||||
*/
|
||||
/* JADX WARN: Code restructure failed: missing block: B:29:0x00f8, code lost:
|
||||
|
||||
if (r2.emit(r14, r13) == r1) goto L49;
|
||||
*/
|
||||
/* JADX WARN: Code restructure failed: missing block: B:31:0x0110, code lost:
|
||||
|
||||
if (r2.emit(r14, r13) == r1) goto L49;
|
||||
*/
|
||||
/* JADX WARN: Code restructure failed: missing block: B:35:0x00d4, code lost:
|
||||
|
||||
if (r2.emit(r14, r13) != r1) goto L50;
|
||||
*/
|
||||
/* JADX WARN: Failed to find 'out' block for switch in B:3:0x0009. Please report as an issue. */
|
||||
/* JADX WARN: Multi-variable type inference failed */
|
||||
/* JADX WARN: Removed duplicated region for block: B:39:0x009a */
|
||||
/* JADX WARN: Type inference failed for: r2v0, types: [int] */
|
||||
/* JADX WARN: Type inference failed for: r2v14 */
|
||||
/* JADX WARN: Type inference failed for: r2v3, types: [kotlinx.coroutines.flow.FlowCollector] */
|
||||
@Override // kotlin.coroutines.jvm.internal.BaseContinuationImpl
|
||||
/*
|
||||
Code decompiled incorrectly, please refer to instructions dump.
|
||||
To view partially-correct add '--show-bad-code' argument
|
||||
*/
|
||||
public final java.lang.Object invokeSuspend(java.lang.Object r14) {
|
||||
/*
|
||||
Method dump skipped, instructions count: 322
|
||||
To view this dump add '--comments-level debug' option
|
||||
*/
|
||||
throw new UnsupportedOperationException("Method not decompiled: q1.g.invokeSuspend(java.lang.Object):java.lang.Object");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user