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,264 @@
package C;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.content.pm.PackageManager;
import android.os.Bundle;
import android.util.Log;
import g.AbstractActivityC0364k;
/* renamed from: C.h, reason: case insensitive filesystem */
/* loaded from: classes.dex */
public abstract class AbstractC0044h {
/* renamed from: a, reason: collision with root package name */
public static final Object f235a = new Object();
public static Intent a(Context context, ComponentName componentName) {
String c4 = c(context, componentName);
if (c4 == null) {
return null;
}
ComponentName componentName2 = new ComponentName(componentName.getPackageName(), c4);
return c(context, componentName2) == null ? Intent.makeMainActivity(componentName2) : new Intent().setComponent(componentName2);
}
public static Intent b(AbstractActivityC0364k abstractActivityC0364k) {
Intent parentActivityIntent = abstractActivityC0364k.getParentActivityIntent();
if (parentActivityIntent != null) {
return parentActivityIntent;
}
try {
String c4 = c(abstractActivityC0364k, abstractActivityC0364k.getComponentName());
if (c4 == null) {
return null;
}
ComponentName componentName = new ComponentName(abstractActivityC0364k, c4);
try {
return c(abstractActivityC0364k, componentName) == null ? Intent.makeMainActivity(componentName) : new Intent().setComponent(componentName);
} catch (PackageManager.NameNotFoundException unused) {
Log.e("NavUtils", "getParentActivityIntent: bad parentActivityName '" + c4 + "' in manifest");
return null;
}
} catch (PackageManager.NameNotFoundException e4) {
throw new IllegalArgumentException(e4);
}
}
public static String c(Context context, ComponentName componentName) {
String string;
ActivityInfo activityInfo = context.getPackageManager().getActivityInfo(componentName, 269222528);
String str = activityInfo.parentActivityName;
if (str != null) {
return str;
}
Bundle bundle = activityInfo.metaData;
if (bundle == null || (string = bundle.getString("android.support.PARENT_ACTIVITY")) == null) {
return null;
}
if (string.charAt(0) != '.') {
return string;
}
return context.getPackageName() + string;
}
/* JADX WARN: Code restructure failed: missing block: B:16:0x003c, code lost:
if (r5 != null) goto L40;
*/
/* JADX WARN: Code restructure failed: missing block: B:18:?, code lost:
return;
*/
/* JADX WARN: Code restructure failed: missing block: B:20:0x003e, code lost:
r5.close();
*/
/* JADX WARN: Code restructure failed: missing block: B:33:0x004c, code lost:
if (r5 == null) goto L24;
*/
/*
Code decompiled incorrectly, please refer to instructions dump.
To view partially-correct add '--show-bad-code' argument
*/
public static void d(android.content.Context r5, java.lang.String r6) {
/*
java.lang.Object r0 = C.AbstractC0044h.f235a
monitor-enter(r0)
java.lang.String r1 = ""
boolean r1 = r6.equals(r1) // Catch: java.lang.Throwable -> L12
if (r1 == 0) goto L14
java.lang.String r6 = "androidx.appcompat.app.AppCompatDelegate.application_locales_record_file"
r5.deleteFile(r6) // Catch: java.lang.Throwable -> L12
monitor-exit(r0) // Catch: java.lang.Throwable -> L12
return
L12:
r5 = move-exception
goto L60
L14:
java.lang.String r1 = "androidx.appcompat.app.AppCompatDelegate.application_locales_record_file"
r2 = 0
java.io.FileOutputStream r5 = r5.openFileOutput(r1, r2) // Catch: java.lang.Throwable -> L12 java.io.FileNotFoundException -> L57
org.xmlpull.v1.XmlSerializer r1 = android.util.Xml.newSerializer() // Catch: java.lang.Throwable -> L12
r2 = 0
r1.setOutput(r5, r2) // Catch: java.lang.Throwable -> L42 java.lang.Exception -> L44
java.lang.String r3 = "UTF-8"
java.lang.Boolean r4 = java.lang.Boolean.TRUE // Catch: java.lang.Throwable -> L42 java.lang.Exception -> L44
r1.startDocument(r3, r4) // Catch: java.lang.Throwable -> L42 java.lang.Exception -> L44
java.lang.String r3 = "locales"
r1.startTag(r2, r3) // Catch: java.lang.Throwable -> L42 java.lang.Exception -> L44
java.lang.String r3 = "application_locales"
r1.attribute(r2, r3, r6) // Catch: java.lang.Throwable -> L42 java.lang.Exception -> L44
java.lang.String r6 = "locales"
r1.endTag(r2, r6) // Catch: java.lang.Throwable -> L42 java.lang.Exception -> L44
r1.endDocument() // Catch: java.lang.Throwable -> L42 java.lang.Exception -> L44
if (r5 == 0) goto L4f
L3e:
r5.close() // Catch: java.lang.Throwable -> L12 java.io.IOException -> L4f
goto L4f
L42:
r6 = move-exception
goto L51
L44:
r6 = move-exception
java.lang.String r1 = "AppLocalesStorageHelper"
java.lang.String r2 = "Storing App Locales : Failed to persist app-locales in storage "
android.util.Log.w(r1, r2, r6) // Catch: java.lang.Throwable -> L42
if (r5 == 0) goto L4f
goto L3e
L4f:
monitor-exit(r0) // Catch: java.lang.Throwable -> L12
goto L5f
L51:
if (r5 == 0) goto L56
r5.close() // Catch: java.lang.Throwable -> L12 java.io.IOException -> L56
L56:
throw r6 // Catch: java.lang.Throwable -> L12
L57:
java.lang.String r5 = "AppLocalesStorageHelper"
java.lang.String r6 = "Storing App Locales : FileNotFoundException: Cannot open file androidx.appcompat.app.AppCompatDelegate.application_locales_record_file for writing "
android.util.Log.w(r5, r6) // Catch: java.lang.Throwable -> L12
monitor-exit(r0) // Catch: java.lang.Throwable -> L12
L5f:
return
L60:
monitor-exit(r0) // Catch: java.lang.Throwable -> L12
throw r5
*/
throw new UnsupportedOperationException("Method not decompiled: C.AbstractC0044h.d(android.content.Context, java.lang.String):void");
}
/* JADX WARN: Code restructure failed: missing block: B:16:0x0044, code lost:
if (r2 != null) goto L48;
*/
/* JADX WARN: Code restructure failed: missing block: B:18:0x005a, code lost:
if (r1.isEmpty() == false) goto L33;
*/
/* JADX WARN: Code restructure failed: missing block: B:23:0x005d, code lost:
r8.deleteFile("androidx.appcompat.app.AppCompatDelegate.application_locales_record_file");
*/
/* JADX WARN: Code restructure failed: missing block: B:25:0x0046, code lost:
r2.close();
*/
/* JADX WARN: Code restructure failed: missing block: B:31:0x002e, code lost:
if (r5 != 4) goto L57;
*/
/* JADX WARN: Code restructure failed: missing block: B:34:0x003b, code lost:
if (r3.getName().equals("locales") == false) goto L62;
*/
/* JADX WARN: Code restructure failed: missing block: B:36:0x003d, code lost:
r1 = r3.getAttributeValue(null, "application_locales");
*/
/* JADX WARN: Code restructure failed: missing block: B:54:0x0053, code lost:
if (r2 == null) goto L31;
*/
/*
Code decompiled incorrectly, please refer to instructions dump.
To view partially-correct add '--show-bad-code' argument
*/
public static java.lang.String e(android.content.Context r8) {
/*
java.lang.Object r0 = C.AbstractC0044h.f235a
monitor-enter(r0)
java.lang.String r1 = ""
java.lang.String r2 = "androidx.appcompat.app.AppCompatDelegate.application_locales_record_file"
java.io.FileInputStream r2 = r8.openFileInput(r2) // Catch: java.lang.Throwable -> L4a java.io.FileNotFoundException -> L6a
org.xmlpull.v1.XmlPullParser r3 = android.util.Xml.newPullParser() // Catch: java.lang.Throwable -> L29 java.lang.Throwable -> L4c
java.lang.String r4 = "UTF-8"
r3.setInput(r2, r4) // Catch: java.lang.Throwable -> L29 java.lang.Throwable -> L4c
int r4 = r3.getDepth() // Catch: java.lang.Throwable -> L29 java.lang.Throwable -> L4c
L18:
int r5 = r3.next() // Catch: java.lang.Throwable -> L29 java.lang.Throwable -> L4c
r6 = 1
if (r5 == r6) goto L44
r6 = 3
if (r5 != r6) goto L2b
int r7 = r3.getDepth() // Catch: java.lang.Throwable -> L29 java.lang.Throwable -> L4c
if (r7 <= r4) goto L44
goto L2b
L29:
r8 = move-exception
goto L64
L2b:
if (r5 == r6) goto L18
r6 = 4
if (r5 != r6) goto L31
goto L18
L31:
java.lang.String r5 = r3.getName() // Catch: java.lang.Throwable -> L29 java.lang.Throwable -> L4c
java.lang.String r6 = "locales"
boolean r5 = r5.equals(r6) // Catch: java.lang.Throwable -> L29 java.lang.Throwable -> L4c
if (r5 == 0) goto L18
java.lang.String r4 = "application_locales"
r5 = 0
java.lang.String r1 = r3.getAttributeValue(r5, r4) // Catch: java.lang.Throwable -> L29 java.lang.Throwable -> L4c
L44:
if (r2 == 0) goto L56
L46:
r2.close() // Catch: java.lang.Throwable -> L4a java.io.IOException -> L56
goto L56
L4a:
r8 = move-exception
goto L6c
L4c:
java.lang.String r3 = "AppLocalesStorageHelper"
java.lang.String r4 = "Reading app Locales : Unable to parse through file :androidx.appcompat.app.AppCompatDelegate.application_locales_record_file"
android.util.Log.w(r3, r4) // Catch: java.lang.Throwable -> L29
if (r2 == 0) goto L56
goto L46
L56:
boolean r2 = r1.isEmpty() // Catch: java.lang.Throwable -> L4a
if (r2 != 0) goto L5d
goto L62
L5d:
java.lang.String r2 = "androidx.appcompat.app.AppCompatDelegate.application_locales_record_file"
r8.deleteFile(r2) // Catch: java.lang.Throwable -> L4a
L62:
monitor-exit(r0) // Catch: java.lang.Throwable -> L4a
return r1
L64:
if (r2 == 0) goto L69
r2.close() // Catch: java.lang.Throwable -> L4a java.io.IOException -> L69
L69:
throw r8 // Catch: java.lang.Throwable -> L4a
L6a:
monitor-exit(r0) // Catch: java.lang.Throwable -> L4a
return r1
L6c:
monitor-exit(r0) // Catch: java.lang.Throwable -> L4a
throw r8
*/
throw new UnsupportedOperationException("Method not decompiled: C.AbstractC0044h.e(android.content.Context):java.lang.String");
}
}