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,104 @@
package F0;
import android.database.DataSetObservable;
import android.database.DataSetObserver;
import android.os.Parcelable;
import android.view.View;
import android.view.ViewGroup;
/* loaded from: classes.dex */
public abstract class a {
public static final int POSITION_NONE = -2;
public static final int POSITION_UNCHANGED = -1;
private final DataSetObservable mObservable = new DataSetObservable();
private DataSetObserver mViewPagerObserver;
@Deprecated
public void destroyItem(View view, int i, Object obj) {
throw new UnsupportedOperationException("Required method destroyItem was not overridden");
}
public abstract void destroyItem(ViewGroup viewGroup, int i, Object obj);
public void finishUpdate(ViewGroup viewGroup) {
finishUpdate((View) viewGroup);
}
public abstract int getCount();
public int getItemPosition(Object obj) {
return -1;
}
public CharSequence getPageTitle(int i) {
return null;
}
public float getPageWidth(int i) {
return 1.0f;
}
@Deprecated
public Object instantiateItem(View view, int i) {
throw new UnsupportedOperationException("Required method instantiateItem was not overridden");
}
public abstract Object instantiateItem(ViewGroup viewGroup, int i);
public abstract boolean isViewFromObject(View view, Object obj);
public void notifyDataSetChanged() {
synchronized (this) {
try {
DataSetObserver dataSetObserver = this.mViewPagerObserver;
if (dataSetObserver != null) {
dataSetObserver.onChanged();
}
} catch (Throwable th) {
throw th;
}
}
this.mObservable.notifyChanged();
}
public void registerDataSetObserver(DataSetObserver dataSetObserver) {
this.mObservable.registerObserver(dataSetObserver);
}
public void restoreState(Parcelable parcelable, ClassLoader classLoader) {
}
public Parcelable saveState() {
return null;
}
public void setPrimaryItem(ViewGroup viewGroup, int i, Object obj) {
setPrimaryItem((View) viewGroup, i, obj);
}
public void setViewPagerObserver(DataSetObserver dataSetObserver) {
synchronized (this) {
this.mViewPagerObserver = dataSetObserver;
}
}
public void startUpdate(ViewGroup viewGroup) {
startUpdate((View) viewGroup);
}
public void unregisterDataSetObserver(DataSetObserver dataSetObserver) {
this.mObservable.unregisterObserver(dataSetObserver);
}
@Deprecated
public void finishUpdate(View view) {
}
@Deprecated
public void setPrimaryItem(View view, int i, Object obj) {
}
@Deprecated
public void startUpdate(View view) {
}
}

View File

@@ -0,0 +1,22 @@
package F0;
import android.view.animation.Interpolator;
/* loaded from: classes.dex */
public final class b implements Interpolator {
/* renamed from: a, reason: collision with root package name */
public final /* synthetic */ int f515a;
@Override // android.animation.TimeInterpolator
public final float getInterpolation(float f2) {
switch (this.f515a) {
case 0:
float f4 = f2 - 1.0f;
return (f4 * f4 * f4 * f4 * f4) + 1.0f;
default:
float f5 = f2 - 1.0f;
return (f5 * f5 * f5 * f5 * f5) + 1.0f;
}
}
}

View File

@@ -0,0 +1,67 @@
package F0;
import android.database.Cursor;
import androidx.room.p;
import androidx.room.u;
import java.util.Set;
import kotlin.Unit;
import kotlin.collections.SetsKt;
import kotlin.io.CloseableKt;
import w0.InterfaceC0649e;
/* loaded from: classes.dex */
public final class c implements Runnable {
/* renamed from: a, reason: collision with root package name */
public final /* synthetic */ int f516a;
/* renamed from: b, reason: collision with root package name */
public final Object f517b;
public /* synthetic */ c(Object obj, int i) {
this.f516a = i;
this.f517b = obj;
}
public Set a() {
p pVar = (p) this.f517b;
Set createSetBuilder = SetsKt.createSetBuilder();
Cursor query$default = u.query$default(pVar.f3992a, new F.i("SELECT * FROM room_table_modification_log WHERE invalidated = 1;"), null, 2, null);
while (query$default.moveToNext()) {
try {
createSetBuilder.add(Integer.valueOf(query$default.getInt(0)));
} finally {
}
}
Unit unit = Unit.INSTANCE;
CloseableKt.closeFinally(query$default, null);
Set build = SetsKt.build(createSetBuilder);
if (build.isEmpty()) {
return build;
}
if (((p) this.f517b).h == null) {
throw new IllegalStateException("Required value was null.");
}
InterfaceC0649e interfaceC0649e = ((p) this.f517b).h;
if (interfaceC0649e == null) {
throw new IllegalArgumentException("Required value was null.");
}
interfaceC0649e.o();
return build;
}
/* JADX WARN: Removed duplicated region for block: B:69:0x0108 */
/* JADX WARN: Removed duplicated region for block: B:71:? A[RETURN, SYNTHETIC] */
@Override // java.lang.Runnable
/*
Code decompiled incorrectly, please refer to instructions dump.
To view partially-correct add '--show-bad-code' argument
*/
public final void run() {
/*
Method dump skipped, instructions count: 730
To view this dump add '--comments-level debug' option
*/
throw new UnsupportedOperationException("Method not decompiled: F0.c.run():void");
}
}

View File

@@ -0,0 +1,9 @@
package F0;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@Retention(RetentionPolicy.RUNTIME)
/* loaded from: classes.dex */
public @interface d {
}

View File

@@ -0,0 +1,20 @@
package F0;
/* loaded from: classes.dex */
public final class e {
/* renamed from: a, reason: collision with root package name */
public Object f518a;
/* renamed from: b, reason: collision with root package name */
public int f519b;
/* renamed from: c, reason: collision with root package name */
public boolean f520c;
/* renamed from: d, reason: collision with root package name */
public float f521d;
/* renamed from: e, reason: collision with root package name */
public float f522e;
}

View File

@@ -0,0 +1,19 @@
package F0;
import android.view.ViewGroup;
/* loaded from: classes.dex */
public final class f extends ViewGroup.LayoutParams {
/* renamed from: a, reason: collision with root package name */
public boolean f523a;
/* renamed from: b, reason: collision with root package name */
public int f524b;
/* renamed from: c, reason: collision with root package name */
public float f525c;
/* renamed from: d, reason: collision with root package name */
public boolean f526d;
}

View File

@@ -0,0 +1,215 @@
package F0;
import G2.m;
import O.C0056b;
import P.k;
import android.os.Bundle;
import android.view.View;
import android.view.accessibility.AccessibilityNodeInfo;
import androidx.viewpager.widget.ViewPager;
import com.adif.elcanomovil.R;
import com.google.android.material.button.MaterialButton;
import com.google.android.material.button.MaterialButtonToggleGroup;
import com.google.android.material.internal.CheckableImageButton;
import com.google.android.material.internal.NavigationMenuItemView;
import kotlin.io.ConstantsKt;
/* loaded from: classes.dex */
public final class g extends C0056b {
/* renamed from: d, reason: collision with root package name */
public final /* synthetic */ int f527d;
/* renamed from: e, reason: collision with root package name */
public final /* synthetic */ Object f528e;
public /* synthetic */ g(Object obj, int i) {
this.f527d = i;
this.f528e = obj;
}
/* JADX WARN: Code restructure failed: missing block: B:11:0x002f, code lost:
if (r2.getCount() > 1) goto L14;
*/
@Override // O.C0056b
/*
Code decompiled incorrectly, please refer to instructions dump.
To view partially-correct add '--show-bad-code' argument
*/
public void c(android.view.View r2, android.view.accessibility.AccessibilityEvent r3) {
/*
r1 = this;
int r0 = r1.f527d
switch(r0) {
case 0: goto L16;
case 5: goto L9;
default: goto L5;
}
L5:
super.c(r2, r3)
return
L9:
super.c(r2, r3)
java.lang.Object r1 = r1.f528e
com.google.android.material.internal.CheckableImageButton r1 = (com.google.android.material.internal.CheckableImageButton) r1
boolean r1 = r1.f5718d
r3.setChecked(r1)
return
L16:
super.c(r2, r3)
java.lang.Class<androidx.viewpager.widget.ViewPager> r2 = androidx.viewpager.widget.ViewPager.class
java.lang.String r2 = r2.getName()
r3.setClassName(r2)
java.lang.Object r1 = r1.f528e
androidx.viewpager.widget.ViewPager r1 = (androidx.viewpager.widget.ViewPager) r1
F0.a r2 = r1.f4049e
if (r2 == 0) goto L32
int r2 = r2.getCount()
r0 = 1
if (r2 <= r0) goto L32
goto L33
L32:
r0 = 0
L33:
r3.setScrollable(r0)
int r2 = r3.getEventType()
r0 = 4096(0x1000, float:5.74E-42)
if (r2 != r0) goto L53
F0.a r2 = r1.f4049e
if (r2 == 0) goto L53
int r2 = r2.getCount()
r3.setItemCount(r2)
int r2 = r1.f4050f
r3.setFromIndex(r2)
int r1 = r1.f4050f
r3.setToIndex(r1)
L53:
return
*/
throw new UnsupportedOperationException("Method not decompiled: F0.g.c(android.view.View, android.view.accessibility.AccessibilityEvent):void");
}
@Override // O.C0056b
public final void d(View view, k kVar) {
int i = -1;
boolean z3 = false;
Object obj = this.f528e;
View.AccessibilityDelegate accessibilityDelegate = this.f1232a;
switch (this.f527d) {
case 0:
accessibilityDelegate.onInitializeAccessibilityNodeInfo(view, kVar.f1341a);
kVar.h(ViewPager.class.getName());
ViewPager viewPager = (ViewPager) obj;
a aVar = viewPager.f4049e;
if (aVar != null && aVar.getCount() > 1) {
z3 = true;
}
kVar.j(z3);
if (viewPager.canScrollHorizontally(1)) {
kVar.a(ConstantsKt.DEFAULT_BLOCK_SIZE);
}
if (viewPager.canScrollHorizontally(-1)) {
kVar.a(8192);
return;
}
return;
case 1:
AccessibilityNodeInfo accessibilityNodeInfo = kVar.f1341a;
accessibilityDelegate.onInitializeAccessibilityNodeInfo(view, accessibilityNodeInfo);
kVar.a(1048576);
accessibilityNodeInfo.setDismissable(true);
return;
case 2:
AccessibilityNodeInfo accessibilityNodeInfo2 = kVar.f1341a;
accessibilityDelegate.onInitializeAccessibilityNodeInfo(view, accessibilityNodeInfo2);
com.google.android.material.datepicker.k kVar2 = (com.google.android.material.datepicker.k) obj;
accessibilityNodeInfo2.setHintText(kVar2.f5666l.getVisibility() == 0 ? kVar2.getString(R.string.mtrl_picker_toggle_to_year_selection) : kVar2.getString(R.string.mtrl_picker_toggle_to_day_selection));
return;
case 3:
AccessibilityNodeInfo accessibilityNodeInfo3 = kVar.f1341a;
accessibilityDelegate.onInitializeAccessibilityNodeInfo(view, accessibilityNodeInfo3);
if (!((o2.e) obj).f8094j) {
accessibilityNodeInfo3.setDismissable(false);
return;
} else {
kVar.a(1048576);
accessibilityNodeInfo3.setDismissable(true);
return;
}
case 4:
accessibilityDelegate.onInitializeAccessibilityNodeInfo(view, kVar.f1341a);
int i4 = MaterialButtonToggleGroup.f5602k;
MaterialButtonToggleGroup materialButtonToggleGroup = (MaterialButtonToggleGroup) obj;
if (view instanceof MaterialButton) {
int i5 = 0;
int i6 = 0;
while (true) {
if (i5 < materialButtonToggleGroup.getChildCount()) {
if (materialButtonToggleGroup.getChildAt(i5) == view) {
i = i6;
} else {
if ((materialButtonToggleGroup.getChildAt(i5) instanceof MaterialButton) && materialButtonToggleGroup.c(i5)) {
i6++;
}
i5++;
}
}
}
}
kVar.i(P.j.a(((MaterialButton) view).f5600o, 0, 1, i, 1));
return;
case 5:
AccessibilityNodeInfo accessibilityNodeInfo4 = kVar.f1341a;
accessibilityDelegate.onInitializeAccessibilityNodeInfo(view, accessibilityNodeInfo4);
CheckableImageButton checkableImageButton = (CheckableImageButton) obj;
accessibilityNodeInfo4.setCheckable(checkableImageButton.f5719e);
accessibilityNodeInfo4.setChecked(checkableImageButton.f5718d);
return;
default:
AccessibilityNodeInfo accessibilityNodeInfo5 = kVar.f1341a;
accessibilityDelegate.onInitializeAccessibilityNodeInfo(view, accessibilityNodeInfo5);
accessibilityNodeInfo5.setCheckable(((NavigationMenuItemView) obj).f5730x);
return;
}
}
@Override // O.C0056b
public boolean g(View view, int i, Bundle bundle) {
switch (this.f527d) {
case 0:
if (super.g(view, i, bundle)) {
return true;
}
ViewPager viewPager = (ViewPager) this.f528e;
if (i != 4096) {
if (i == 8192 && viewPager.canScrollHorizontally(-1)) {
viewPager.setCurrentItem(viewPager.f4050f - 1);
return true;
}
} else if (viewPager.canScrollHorizontally(1)) {
viewPager.setCurrentItem(viewPager.f4050f + 1);
return true;
}
return false;
case 1:
if (i != 1048576) {
return super.g(view, i, bundle);
}
((m) ((G2.k) this.f528e)).a(3);
return true;
case 2:
default:
return super.g(view, i, bundle);
case 3:
if (i == 1048576) {
o2.e eVar = (o2.e) this.f528e;
if (eVar.f8094j) {
eVar.cancel();
return true;
}
}
return super.g(view, i, bundle);
}
}
}

View File

@@ -0,0 +1,10 @@
package F0;
/* loaded from: classes.dex */
public interface h {
void a(int i);
void b(int i);
void c(int i, float f2);
}

View File

@@ -0,0 +1,55 @@
package F0;
import android.database.DataSetObserver;
import androidx.viewpager.widget.ViewPager;
import com.google.android.material.tabs.TabLayout;
import m.C0496x0;
/* loaded from: classes.dex */
public final class i extends DataSetObserver {
/* renamed from: a, reason: collision with root package name */
public final /* synthetic */ int f529a;
/* renamed from: b, reason: collision with root package name */
public final /* synthetic */ Object f530b;
public /* synthetic */ i(Object obj, int i) {
this.f529a = i;
this.f530b = obj;
}
@Override // android.database.DataSetObserver
public final void onChanged() {
switch (this.f529a) {
case 0:
((ViewPager) this.f530b).e();
return;
case 1:
((TabLayout) this.f530b).i();
return;
default:
C0496x0 c0496x0 = (C0496x0) this.f530b;
if (c0496x0.f7782z.isShowing()) {
c0496x0.c();
return;
}
return;
}
}
@Override // android.database.DataSetObserver
public final void onInvalidated() {
switch (this.f529a) {
case 0:
((ViewPager) this.f530b).e();
return;
case 1:
((TabLayout) this.f530b).i();
return;
default:
((C0496x0) this.f530b).dismiss();
return;
}
}
}

View File

@@ -0,0 +1,40 @@
package F0;
import android.os.Parcel;
import android.os.Parcelable;
/* loaded from: classes.dex */
public final class j extends W.b {
public static final Parcelable.Creator<j> CREATOR = new A.g(1);
/* renamed from: c, reason: collision with root package name */
public int f531c;
/* renamed from: d, reason: collision with root package name */
public Parcelable f532d;
/* renamed from: e, reason: collision with root package name */
public final ClassLoader f533e;
public j(Parcel parcel, ClassLoader classLoader) {
super(parcel, classLoader);
classLoader = classLoader == null ? j.class.getClassLoader() : classLoader;
this.f531c = parcel.readInt();
this.f532d = parcel.readParcelable(classLoader);
this.f533e = classLoader;
}
public final String toString() {
StringBuilder sb = new StringBuilder("FragmentPager.SavedState{");
sb.append(Integer.toHexString(System.identityHashCode(this)));
sb.append(" position=");
return com.google.android.gms.measurement.internal.a.m(sb, this.f531c, "}");
}
@Override // W.b, android.os.Parcelable
public final void writeToParcel(Parcel parcel, int i) {
super.writeToParcel(parcel, i);
parcel.writeInt(this.f531c);
parcel.writeParcelable(this.f532d, i);
}
}