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,247 @@
|
||||
package androidx.appcompat.widget;
|
||||
|
||||
import O.X;
|
||||
import android.content.Context;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.LinearLayout;
|
||||
import com.adif.elcanomovil.R;
|
||||
import java.util.WeakHashMap;
|
||||
import m.C0483q0;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public class AlertDialogLayout extends LinearLayoutCompat {
|
||||
public AlertDialogLayout(Context context, AttributeSet attributeSet) {
|
||||
super(context, attributeSet);
|
||||
}
|
||||
|
||||
public static int j(View view) {
|
||||
WeakHashMap weakHashMap = X.f1226a;
|
||||
int minimumHeight = view.getMinimumHeight();
|
||||
if (minimumHeight > 0) {
|
||||
return minimumHeight;
|
||||
}
|
||||
if (view instanceof ViewGroup) {
|
||||
ViewGroup viewGroup = (ViewGroup) view;
|
||||
if (viewGroup.getChildCount() == 1) {
|
||||
return j(viewGroup.getChildAt(0));
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* JADX WARN: Removed duplicated region for block: B:25:0x009e */
|
||||
@Override // androidx.appcompat.widget.LinearLayoutCompat, android.view.ViewGroup, android.view.View
|
||||
/*
|
||||
Code decompiled incorrectly, please refer to instructions dump.
|
||||
To view partially-correct add '--show-bad-code' argument
|
||||
*/
|
||||
public final void onLayout(boolean r10, int r11, int r12, int r13, int r14) {
|
||||
/*
|
||||
r9 = this;
|
||||
int r10 = r9.getPaddingLeft()
|
||||
int r13 = r13 - r11
|
||||
int r11 = r9.getPaddingRight()
|
||||
int r11 = r13 - r11
|
||||
int r13 = r13 - r10
|
||||
int r0 = r9.getPaddingRight()
|
||||
int r13 = r13 - r0
|
||||
int r0 = r9.getMeasuredHeight()
|
||||
int r1 = r9.getChildCount()
|
||||
int r2 = r9.getGravity()
|
||||
r3 = r2 & 112(0x70, float:1.57E-43)
|
||||
r4 = 8388615(0x800007, float:1.1754953E-38)
|
||||
r2 = r2 & r4
|
||||
r4 = 16
|
||||
if (r3 == r4) goto L39
|
||||
r4 = 80
|
||||
if (r3 == r4) goto L30
|
||||
int r12 = r9.getPaddingTop()
|
||||
goto L43
|
||||
L30:
|
||||
int r3 = r9.getPaddingTop()
|
||||
int r3 = r3 + r14
|
||||
int r3 = r3 - r12
|
||||
int r12 = r3 - r0
|
||||
goto L43
|
||||
L39:
|
||||
int r3 = r9.getPaddingTop()
|
||||
int r14 = r14 - r12
|
||||
int r14 = r14 - r0
|
||||
int r14 = r14 / 2
|
||||
int r12 = r14 + r3
|
||||
L43:
|
||||
android.graphics.drawable.Drawable r14 = r9.getDividerDrawable()
|
||||
r0 = 0
|
||||
if (r14 != 0) goto L4c
|
||||
r14 = r0
|
||||
goto L50
|
||||
L4c:
|
||||
int r14 = r14.getIntrinsicHeight()
|
||||
L50:
|
||||
if (r0 >= r1) goto Lb0
|
||||
android.view.View r3 = r9.getChildAt(r0)
|
||||
if (r3 == 0) goto Lad
|
||||
int r4 = r3.getVisibility()
|
||||
r5 = 8
|
||||
if (r4 == r5) goto Lad
|
||||
int r4 = r3.getMeasuredWidth()
|
||||
int r5 = r3.getMeasuredHeight()
|
||||
android.view.ViewGroup$LayoutParams r6 = r3.getLayoutParams()
|
||||
m.q0 r6 = (m.C0483q0) r6
|
||||
int r7 = r6.gravity
|
||||
if (r7 >= 0) goto L73
|
||||
r7 = r2
|
||||
L73:
|
||||
int r8 = r9.getLayoutDirection()
|
||||
int r7 = android.view.Gravity.getAbsoluteGravity(r7, r8)
|
||||
r7 = r7 & 7
|
||||
r8 = 1
|
||||
if (r7 == r8) goto L8d
|
||||
r8 = 5
|
||||
if (r7 == r8) goto L87
|
||||
int r7 = r6.leftMargin
|
||||
int r7 = r7 + r10
|
||||
goto L98
|
||||
L87:
|
||||
int r7 = r11 - r4
|
||||
int r8 = r6.rightMargin
|
||||
L8b:
|
||||
int r7 = r7 - r8
|
||||
goto L98
|
||||
L8d:
|
||||
int r7 = r13 - r4
|
||||
int r7 = r7 / 2
|
||||
int r7 = r7 + r10
|
||||
int r8 = r6.leftMargin
|
||||
int r7 = r7 + r8
|
||||
int r8 = r6.rightMargin
|
||||
goto L8b
|
||||
L98:
|
||||
boolean r8 = r9.i(r0)
|
||||
if (r8 == 0) goto L9f
|
||||
int r12 = r12 + r14
|
||||
L9f:
|
||||
int r8 = r6.topMargin
|
||||
int r12 = r12 + r8
|
||||
int r4 = r4 + r7
|
||||
int r8 = r12 + r5
|
||||
r3.layout(r7, r12, r4, r8)
|
||||
int r3 = r6.bottomMargin
|
||||
int r5 = r5 + r3
|
||||
int r5 = r5 + r12
|
||||
r12 = r5
|
||||
Lad:
|
||||
int r0 = r0 + 1
|
||||
goto L50
|
||||
Lb0:
|
||||
return
|
||||
*/
|
||||
throw new UnsupportedOperationException("Method not decompiled: androidx.appcompat.widget.AlertDialogLayout.onLayout(boolean, int, int, int, int):void");
|
||||
}
|
||||
|
||||
@Override // androidx.appcompat.widget.LinearLayoutCompat, android.view.View
|
||||
public final void onMeasure(int i, int i4) {
|
||||
int i5;
|
||||
int i6;
|
||||
int i7;
|
||||
int i8;
|
||||
AlertDialogLayout alertDialogLayout = this;
|
||||
int childCount = alertDialogLayout.getChildCount();
|
||||
View view = null;
|
||||
View view2 = null;
|
||||
View view3 = null;
|
||||
for (int i9 = 0; i9 < childCount; i9++) {
|
||||
View childAt = alertDialogLayout.getChildAt(i9);
|
||||
if (childAt.getVisibility() != 8) {
|
||||
int id = childAt.getId();
|
||||
if (id == R.id.topPanel) {
|
||||
view = childAt;
|
||||
} else if (id == R.id.buttonPanel) {
|
||||
view2 = childAt;
|
||||
} else {
|
||||
if ((id != R.id.contentPanel && id != R.id.customPanel) || view3 != null) {
|
||||
super.onMeasure(i, i4);
|
||||
return;
|
||||
}
|
||||
view3 = childAt;
|
||||
}
|
||||
}
|
||||
}
|
||||
int mode = View.MeasureSpec.getMode(i4);
|
||||
int size = View.MeasureSpec.getSize(i4);
|
||||
int mode2 = View.MeasureSpec.getMode(i);
|
||||
int paddingBottom = alertDialogLayout.getPaddingBottom() + alertDialogLayout.getPaddingTop();
|
||||
if (view != null) {
|
||||
view.measure(i, 0);
|
||||
paddingBottom += view.getMeasuredHeight();
|
||||
i5 = View.combineMeasuredStates(0, view.getMeasuredState());
|
||||
} else {
|
||||
i5 = 0;
|
||||
}
|
||||
if (view2 != null) {
|
||||
view2.measure(i, 0);
|
||||
i6 = j(view2);
|
||||
i7 = view2.getMeasuredHeight() - i6;
|
||||
paddingBottom += i6;
|
||||
i5 = View.combineMeasuredStates(i5, view2.getMeasuredState());
|
||||
} else {
|
||||
i6 = 0;
|
||||
i7 = 0;
|
||||
}
|
||||
if (view3 != null) {
|
||||
view3.measure(i, mode == 0 ? 0 : View.MeasureSpec.makeMeasureSpec(Math.max(0, size - paddingBottom), mode));
|
||||
i8 = view3.getMeasuredHeight();
|
||||
paddingBottom += i8;
|
||||
i5 = View.combineMeasuredStates(i5, view3.getMeasuredState());
|
||||
} else {
|
||||
i8 = 0;
|
||||
}
|
||||
int i10 = size - paddingBottom;
|
||||
if (view2 != null) {
|
||||
int i11 = paddingBottom - i6;
|
||||
int min = Math.min(i10, i7);
|
||||
if (min > 0) {
|
||||
i10 -= min;
|
||||
i6 += min;
|
||||
}
|
||||
view2.measure(i, View.MeasureSpec.makeMeasureSpec(i6, 1073741824));
|
||||
paddingBottom = i11 + view2.getMeasuredHeight();
|
||||
i5 = View.combineMeasuredStates(i5, view2.getMeasuredState());
|
||||
}
|
||||
if (view3 != null && i10 > 0) {
|
||||
view3.measure(i, View.MeasureSpec.makeMeasureSpec(i8 + i10, mode));
|
||||
paddingBottom = (paddingBottom - i8) + view3.getMeasuredHeight();
|
||||
i5 = View.combineMeasuredStates(i5, view3.getMeasuredState());
|
||||
}
|
||||
int i12 = 0;
|
||||
for (int i13 = 0; i13 < childCount; i13++) {
|
||||
View childAt2 = alertDialogLayout.getChildAt(i13);
|
||||
if (childAt2.getVisibility() != 8) {
|
||||
i12 = Math.max(i12, childAt2.getMeasuredWidth());
|
||||
}
|
||||
}
|
||||
int i14 = i4;
|
||||
alertDialogLayout.setMeasuredDimension(View.resolveSizeAndState(alertDialogLayout.getPaddingRight() + alertDialogLayout.getPaddingLeft() + i12, i, i5), View.resolveSizeAndState(paddingBottom, i14, 0));
|
||||
if (mode2 != 1073741824) {
|
||||
int makeMeasureSpec = View.MeasureSpec.makeMeasureSpec(alertDialogLayout.getMeasuredWidth(), 1073741824);
|
||||
int i15 = 0;
|
||||
while (i15 < childCount) {
|
||||
View childAt3 = alertDialogLayout.getChildAt(i15);
|
||||
if (childAt3.getVisibility() != 8) {
|
||||
C0483q0 c0483q0 = (C0483q0) childAt3.getLayoutParams();
|
||||
if (((LinearLayout.LayoutParams) c0483q0).width == -1) {
|
||||
int i16 = ((LinearLayout.LayoutParams) c0483q0).height;
|
||||
((LinearLayout.LayoutParams) c0483q0).height = childAt3.getMeasuredHeight();
|
||||
alertDialogLayout.measureChildWithMargins(childAt3, makeMeasureSpec, 0, i14, 0);
|
||||
((LinearLayout.LayoutParams) c0483q0).height = i16;
|
||||
}
|
||||
}
|
||||
i15++;
|
||||
alertDialogLayout = this;
|
||||
i14 = i4;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user