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:
@@ -0,0 +1,185 @@
|
||||
package com.adif.elcanomovil.uiSelectTrain.entities;
|
||||
|
||||
import com.adif.elcanomovil.commonNavGraph.arguments.NavArguments;
|
||||
import com.google.android.gms.measurement.internal.a;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
|
||||
@Metadata(d1 = {"\u00002\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\u000e\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\u0002\n\u0002\u0010\t\n\u0002\b\u0018\n\u0002\u0010\u000b\n\u0002\b\u0002\n\u0002\u0010\b\n\u0002\b\u0002\b\u0086\b\u0018\u00002\u00020\u0001BG\u0012\u0006\u0010\u0002\u001a\u00020\u0003\u0012\u0006\u0010\u0004\u001a\u00020\u0003\u0012\u0006\u0010\u0005\u001a\u00020\u0003\u0012\u0006\u0010\u0006\u001a\u00020\u0007\u0012\u0006\u0010\b\u001a\u00020\u0007\u0012\u0006\u0010\t\u001a\u00020\n\u0012\u0006\u0010\u000b\u001a\u00020\n\u0012\b\u0010\f\u001a\u0004\u0018\u00010\u0003¢\u0006\u0002\u0010\rJ\t\u0010\u0019\u001a\u00020\u0003HÆ\u0003J\t\u0010\u001a\u001a\u00020\u0003HÆ\u0003J\t\u0010\u001b\u001a\u00020\u0003HÆ\u0003J\t\u0010\u001c\u001a\u00020\u0007HÆ\u0003J\t\u0010\u001d\u001a\u00020\u0007HÆ\u0003J\t\u0010\u001e\u001a\u00020\nHÆ\u0003J\t\u0010\u001f\u001a\u00020\nHÆ\u0003J\u000b\u0010 \u001a\u0004\u0018\u00010\u0003HÆ\u0003J[\u0010!\u001a\u00020\u00002\b\b\u0002\u0010\u0002\u001a\u00020\u00032\b\b\u0002\u0010\u0004\u001a\u00020\u00032\b\b\u0002\u0010\u0005\u001a\u00020\u00032\b\b\u0002\u0010\u0006\u001a\u00020\u00072\b\b\u0002\u0010\b\u001a\u00020\u00072\b\b\u0002\u0010\t\u001a\u00020\n2\b\b\u0002\u0010\u000b\u001a\u00020\n2\n\b\u0002\u0010\f\u001a\u0004\u0018\u00010\u0003HÆ\u0001J\u0013\u0010\"\u001a\u00020#2\b\u0010$\u001a\u0004\u0018\u00010\u0001HÖ\u0003J\t\u0010%\u001a\u00020&HÖ\u0001J\t\u0010'\u001a\u00020\u0003HÖ\u0001R\u0011\u0010\u0005\u001a\u00020\u0003¢\u0006\b\n\u0000\u001a\u0004\b\u000e\u0010\u000fR\u0011\u0010\u0004\u001a\u00020\u0003¢\u0006\b\n\u0000\u001a\u0004\b\u0010\u0010\u000fR\u0011\u0010\t\u001a\u00020\n¢\u0006\b\n\u0000\u001a\u0004\b\u0011\u0010\u0012R\u0011\u0010\b\u001a\u00020\u0007¢\u0006\b\n\u0000\u001a\u0004\b\u0013\u0010\u0014R\u0011\u0010\u000b\u001a\u00020\n¢\u0006\b\n\u0000\u001a\u0004\b\u0015\u0010\u0012R\u0013\u0010\f\u001a\u0004\u0018\u00010\u0003¢\u0006\b\n\u0000\u001a\u0004\b\u0016\u0010\u000fR\u0011\u0010\u0002\u001a\u00020\u0003¢\u0006\b\n\u0000\u001a\u0004\b\u0017\u0010\u000fR\u0011\u0010\u0006\u001a\u00020\u0007¢\u0006\b\n\u0000\u001a\u0004\b\u0018\u0010\u0014¨\u0006("}, d2 = {"Lcom/adif/elcanomovil/uiSelectTrain/entities/TrainInfo;", "", NavArguments.ARG_DYNAMIC_LINKS_OPERATOR, "", NavArguments.ARG_DYNAMIC_LINKS_COMMERCIAL_PRODUCT, NavArguments.ARG_DYNAMIC_LINKS_COMMERCIAL_NUMBER, "originStation", "Lcom/adif/elcanomovil/uiSelectTrain/entities/TrainInfoStation;", "destinationStation", "date", "", NavArguments.ARG_DYNAMIC_LINKS_LAUNCHDATE, "observation", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/adif/elcanomovil/uiSelectTrain/entities/TrainInfoStation;Lcom/adif/elcanomovil/uiSelectTrain/entities/TrainInfoStation;JJLjava/lang/String;)V", "getCommercialNumber", "()Ljava/lang/String;", "getCommercialProduct", "getDate", "()J", "getDestinationStation", "()Lcom/adif/elcanomovil/uiSelectTrain/entities/TrainInfoStation;", "getLaunchingDate", "getObservation", "getOperator", "getOriginStation", "component1", "component2", "component3", "component4", "component5", "component6", "component7", "component8", "copy", "equals", "", "other", "hashCode", "", "toString", "ui-select-train_proNon_corporateRelease"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes2.dex */
|
||||
public final /* data */ class TrainInfo {
|
||||
private final String commercialNumber;
|
||||
private final String commercialProduct;
|
||||
private final long date;
|
||||
private final TrainInfoStation destinationStation;
|
||||
private final long launchingDate;
|
||||
private final String observation;
|
||||
private final String operator;
|
||||
private final TrainInfoStation originStation;
|
||||
|
||||
public TrainInfo(String operator, String commercialProduct, String commercialNumber, TrainInfoStation originStation, TrainInfoStation destinationStation, long j4, long j5, String str) {
|
||||
Intrinsics.checkNotNullParameter(operator, "operator");
|
||||
Intrinsics.checkNotNullParameter(commercialProduct, "commercialProduct");
|
||||
Intrinsics.checkNotNullParameter(commercialNumber, "commercialNumber");
|
||||
Intrinsics.checkNotNullParameter(originStation, "originStation");
|
||||
Intrinsics.checkNotNullParameter(destinationStation, "destinationStation");
|
||||
this.operator = operator;
|
||||
this.commercialProduct = commercialProduct;
|
||||
this.commercialNumber = commercialNumber;
|
||||
this.originStation = originStation;
|
||||
this.destinationStation = destinationStation;
|
||||
this.date = j4;
|
||||
this.launchingDate = j5;
|
||||
this.observation = str;
|
||||
}
|
||||
|
||||
public static /* synthetic */ TrainInfo copy$default(TrainInfo trainInfo, String str, String str2, String str3, TrainInfoStation trainInfoStation, TrainInfoStation trainInfoStation2, long j4, long j5, String str4, int i, Object obj) {
|
||||
if ((i & 1) != 0) {
|
||||
str = trainInfo.operator;
|
||||
}
|
||||
if ((i & 2) != 0) {
|
||||
str2 = trainInfo.commercialProduct;
|
||||
}
|
||||
if ((i & 4) != 0) {
|
||||
str3 = trainInfo.commercialNumber;
|
||||
}
|
||||
if ((i & 8) != 0) {
|
||||
trainInfoStation = trainInfo.originStation;
|
||||
}
|
||||
if ((i & 16) != 0) {
|
||||
trainInfoStation2 = trainInfo.destinationStation;
|
||||
}
|
||||
if ((i & 32) != 0) {
|
||||
j4 = trainInfo.date;
|
||||
}
|
||||
if ((i & 64) != 0) {
|
||||
j5 = trainInfo.launchingDate;
|
||||
}
|
||||
if ((i & 128) != 0) {
|
||||
str4 = trainInfo.observation;
|
||||
}
|
||||
String str5 = str4;
|
||||
long j6 = j5;
|
||||
long j7 = j4;
|
||||
TrainInfoStation trainInfoStation3 = trainInfoStation2;
|
||||
String str6 = str3;
|
||||
return trainInfo.copy(str, str2, str6, trainInfoStation, trainInfoStation3, j7, j6, str5);
|
||||
}
|
||||
|
||||
/* renamed from: component1, reason: from getter */
|
||||
public final String getOperator() {
|
||||
return this.operator;
|
||||
}
|
||||
|
||||
/* renamed from: component2, reason: from getter */
|
||||
public final String getCommercialProduct() {
|
||||
return this.commercialProduct;
|
||||
}
|
||||
|
||||
/* renamed from: component3, reason: from getter */
|
||||
public final String getCommercialNumber() {
|
||||
return this.commercialNumber;
|
||||
}
|
||||
|
||||
/* renamed from: component4, reason: from getter */
|
||||
public final TrainInfoStation getOriginStation() {
|
||||
return this.originStation;
|
||||
}
|
||||
|
||||
/* renamed from: component5, reason: from getter */
|
||||
public final TrainInfoStation getDestinationStation() {
|
||||
return this.destinationStation;
|
||||
}
|
||||
|
||||
/* renamed from: component6, reason: from getter */
|
||||
public final long getDate() {
|
||||
return this.date;
|
||||
}
|
||||
|
||||
/* renamed from: component7, reason: from getter */
|
||||
public final long getLaunchingDate() {
|
||||
return this.launchingDate;
|
||||
}
|
||||
|
||||
/* renamed from: component8, reason: from getter */
|
||||
public final String getObservation() {
|
||||
return this.observation;
|
||||
}
|
||||
|
||||
public final TrainInfo copy(String operator, String commercialProduct, String commercialNumber, TrainInfoStation originStation, TrainInfoStation destinationStation, long date, long launchingDate, String observation) {
|
||||
Intrinsics.checkNotNullParameter(operator, "operator");
|
||||
Intrinsics.checkNotNullParameter(commercialProduct, "commercialProduct");
|
||||
Intrinsics.checkNotNullParameter(commercialNumber, "commercialNumber");
|
||||
Intrinsics.checkNotNullParameter(originStation, "originStation");
|
||||
Intrinsics.checkNotNullParameter(destinationStation, "destinationStation");
|
||||
return new TrainInfo(operator, commercialProduct, commercialNumber, originStation, destinationStation, date, launchingDate, observation);
|
||||
}
|
||||
|
||||
public boolean equals(Object other) {
|
||||
if (this == other) {
|
||||
return true;
|
||||
}
|
||||
if (!(other instanceof TrainInfo)) {
|
||||
return false;
|
||||
}
|
||||
TrainInfo trainInfo = (TrainInfo) other;
|
||||
return Intrinsics.areEqual(this.operator, trainInfo.operator) && Intrinsics.areEqual(this.commercialProduct, trainInfo.commercialProduct) && Intrinsics.areEqual(this.commercialNumber, trainInfo.commercialNumber) && Intrinsics.areEqual(this.originStation, trainInfo.originStation) && Intrinsics.areEqual(this.destinationStation, trainInfo.destinationStation) && this.date == trainInfo.date && this.launchingDate == trainInfo.launchingDate && Intrinsics.areEqual(this.observation, trainInfo.observation);
|
||||
}
|
||||
|
||||
public final String getCommercialNumber() {
|
||||
return this.commercialNumber;
|
||||
}
|
||||
|
||||
public final String getCommercialProduct() {
|
||||
return this.commercialProduct;
|
||||
}
|
||||
|
||||
public final long getDate() {
|
||||
return this.date;
|
||||
}
|
||||
|
||||
public final TrainInfoStation getDestinationStation() {
|
||||
return this.destinationStation;
|
||||
}
|
||||
|
||||
public final long getLaunchingDate() {
|
||||
return this.launchingDate;
|
||||
}
|
||||
|
||||
public final String getObservation() {
|
||||
return this.observation;
|
||||
}
|
||||
|
||||
public final String getOperator() {
|
||||
return this.operator;
|
||||
}
|
||||
|
||||
public final TrainInfoStation getOriginStation() {
|
||||
return this.originStation;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
int b4 = a.b(this.launchingDate, a.b(this.date, (this.destinationStation.hashCode() + ((this.originStation.hashCode() + a.d(this.commercialNumber, a.d(this.commercialProduct, this.operator.hashCode() * 31, 31), 31)) * 31)) * 31, 31), 31);
|
||||
String str = this.observation;
|
||||
return b4 + (str == null ? 0 : str.hashCode());
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
StringBuilder sb = new StringBuilder("TrainInfo(operator=");
|
||||
sb.append(this.operator);
|
||||
sb.append(", commercialProduct=");
|
||||
sb.append(this.commercialProduct);
|
||||
sb.append(", commercialNumber=");
|
||||
sb.append(this.commercialNumber);
|
||||
sb.append(", originStation=");
|
||||
sb.append(this.originStation);
|
||||
sb.append(", destinationStation=");
|
||||
sb.append(this.destinationStation);
|
||||
sb.append(", date=");
|
||||
sb.append(this.date);
|
||||
sb.append(", launchingDate=");
|
||||
sb.append(this.launchingDate);
|
||||
sb.append(", observation=");
|
||||
return a.n(sb, this.observation, ')');
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user