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:
45
apk_decompiled/sources/u0/AbstractC0631a.java
Normal file
45
apk_decompiled/sources/u0/AbstractC0631a.java
Normal file
@@ -0,0 +1,45 @@
|
||||
package u0;
|
||||
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
import kotlin.text.StringsKt__StringsKt;
|
||||
|
||||
/* renamed from: u0.a, reason: case insensitive filesystem */
|
||||
/* loaded from: classes.dex */
|
||||
public abstract class AbstractC0631a {
|
||||
public static boolean a(String current, String str) {
|
||||
CharSequence trim;
|
||||
Intrinsics.checkNotNullParameter(current, "current");
|
||||
if (Intrinsics.areEqual(current, str)) {
|
||||
return true;
|
||||
}
|
||||
if (current.length() != 0) {
|
||||
int i = 0;
|
||||
int i4 = 0;
|
||||
int i5 = 0;
|
||||
while (true) {
|
||||
if (i < current.length()) {
|
||||
char charAt = current.charAt(i);
|
||||
int i6 = i5 + 1;
|
||||
if (i5 == 0 && charAt != '(') {
|
||||
break;
|
||||
}
|
||||
if (charAt != '(') {
|
||||
if (charAt == ')' && i4 - 1 == 0 && i5 != current.length() - 1) {
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
i4++;
|
||||
}
|
||||
i++;
|
||||
i5 = i6;
|
||||
} else if (i4 == 0) {
|
||||
String substring = current.substring(1, current.length() - 1);
|
||||
Intrinsics.checkNotNullExpressionValue(substring, "this as java.lang.String…ing(startIndex, endIndex)");
|
||||
trim = StringsKt__StringsKt.trim((CharSequence) substring);
|
||||
return Intrinsics.areEqual(trim.toString(), str);
|
||||
}
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
149
apk_decompiled/sources/u0/C0632b.java
Normal file
149
apk_decompiled/sources/u0/C0632b.java
Normal file
@@ -0,0 +1,149 @@
|
||||
package u0;
|
||||
|
||||
import C.w;
|
||||
import java.util.Locale;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
import kotlin.text.StringsKt__StringsKt;
|
||||
|
||||
/* renamed from: u0.b, reason: case insensitive filesystem */
|
||||
/* loaded from: classes.dex */
|
||||
public final class C0632b {
|
||||
|
||||
/* renamed from: a, reason: collision with root package name */
|
||||
public final String f8594a;
|
||||
|
||||
/* renamed from: b, reason: collision with root package name */
|
||||
public final String f8595b;
|
||||
|
||||
/* renamed from: c, reason: collision with root package name */
|
||||
public final boolean f8596c;
|
||||
|
||||
/* renamed from: d, reason: collision with root package name */
|
||||
public final int f8597d;
|
||||
|
||||
/* renamed from: e, reason: collision with root package name */
|
||||
public final String f8598e;
|
||||
|
||||
/* renamed from: f, reason: collision with root package name */
|
||||
public final int f8599f;
|
||||
|
||||
/* renamed from: g, reason: collision with root package name */
|
||||
public final int f8600g;
|
||||
|
||||
public C0632b(String name, String type, boolean z3, int i, String str, int i4) {
|
||||
boolean contains$default;
|
||||
boolean contains$default2;
|
||||
boolean contains$default3;
|
||||
boolean contains$default4;
|
||||
boolean contains$default5;
|
||||
boolean contains$default6;
|
||||
boolean contains$default7;
|
||||
boolean contains$default8;
|
||||
Intrinsics.checkNotNullParameter(name, "name");
|
||||
Intrinsics.checkNotNullParameter(type, "type");
|
||||
this.f8594a = name;
|
||||
this.f8595b = type;
|
||||
this.f8596c = z3;
|
||||
this.f8597d = i;
|
||||
this.f8598e = str;
|
||||
this.f8599f = i4;
|
||||
int i5 = 5;
|
||||
if (type != null) {
|
||||
Locale US = Locale.US;
|
||||
Intrinsics.checkNotNullExpressionValue(US, "US");
|
||||
String upperCase = type.toUpperCase(US);
|
||||
Intrinsics.checkNotNullExpressionValue(upperCase, "this as java.lang.String).toUpperCase(locale)");
|
||||
contains$default = StringsKt__StringsKt.contains$default(upperCase, (CharSequence) "INT", false, 2, (Object) null);
|
||||
if (contains$default) {
|
||||
i5 = 3;
|
||||
} else {
|
||||
contains$default2 = StringsKt__StringsKt.contains$default(upperCase, (CharSequence) "CHAR", false, 2, (Object) null);
|
||||
if (!contains$default2) {
|
||||
contains$default3 = StringsKt__StringsKt.contains$default(upperCase, (CharSequence) "CLOB", false, 2, (Object) null);
|
||||
if (!contains$default3) {
|
||||
contains$default4 = StringsKt__StringsKt.contains$default(upperCase, (CharSequence) "TEXT", false, 2, (Object) null);
|
||||
if (!contains$default4) {
|
||||
contains$default5 = StringsKt__StringsKt.contains$default(upperCase, (CharSequence) "BLOB", false, 2, (Object) null);
|
||||
if (!contains$default5) {
|
||||
contains$default6 = StringsKt__StringsKt.contains$default(upperCase, (CharSequence) "REAL", false, 2, (Object) null);
|
||||
if (!contains$default6) {
|
||||
contains$default7 = StringsKt__StringsKt.contains$default(upperCase, (CharSequence) "FLOA", false, 2, (Object) null);
|
||||
if (!contains$default7) {
|
||||
contains$default8 = StringsKt__StringsKt.contains$default(upperCase, (CharSequence) "DOUB", false, 2, (Object) null);
|
||||
if (!contains$default8) {
|
||||
i5 = 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
i5 = 4;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
i5 = 2;
|
||||
}
|
||||
}
|
||||
this.f8600g = i5;
|
||||
}
|
||||
|
||||
public final boolean equals(Object obj) {
|
||||
if (this != obj) {
|
||||
if (!(obj instanceof C0632b)) {
|
||||
return false;
|
||||
}
|
||||
C0632b c0632b = (C0632b) obj;
|
||||
if (this.f8597d != c0632b.f8597d) {
|
||||
return false;
|
||||
}
|
||||
if (!Intrinsics.areEqual(this.f8594a, c0632b.f8594a) || this.f8596c != c0632b.f8596c) {
|
||||
return false;
|
||||
}
|
||||
int i = c0632b.f8599f;
|
||||
String str = c0632b.f8598e;
|
||||
String str2 = this.f8598e;
|
||||
int i4 = this.f8599f;
|
||||
if (i4 == 1 && i == 2 && str2 != null && !AbstractC0631a.a(str2, str)) {
|
||||
return false;
|
||||
}
|
||||
if (i4 == 2 && i == 1 && str != null && !AbstractC0631a.a(str, str2)) {
|
||||
return false;
|
||||
}
|
||||
if (i4 != 0 && i4 == i) {
|
||||
if (str2 != null) {
|
||||
if (!AbstractC0631a.a(str2, str)) {
|
||||
return false;
|
||||
}
|
||||
} else if (str != null) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (this.f8600g != c0632b.f8600g) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public final int hashCode() {
|
||||
return (((((this.f8594a.hashCode() * 31) + this.f8600g) * 31) + (this.f8596c ? 1231 : 1237)) * 31) + this.f8597d;
|
||||
}
|
||||
|
||||
public final String toString() {
|
||||
StringBuilder sb = new StringBuilder("Column{name='");
|
||||
sb.append(this.f8594a);
|
||||
sb.append("', type='");
|
||||
sb.append(this.f8595b);
|
||||
sb.append("', affinity='");
|
||||
sb.append(this.f8600g);
|
||||
sb.append("', notNull=");
|
||||
sb.append(this.f8596c);
|
||||
sb.append(", primaryKeyPosition=");
|
||||
sb.append(this.f8597d);
|
||||
sb.append(", defaultValue='");
|
||||
String str = this.f8598e;
|
||||
if (str == null) {
|
||||
str = "undefined";
|
||||
}
|
||||
return w.r(sb, str, "'}");
|
||||
}
|
||||
}
|
||||
67
apk_decompiled/sources/u0/c.java
Normal file
67
apk_decompiled/sources/u0/c.java
Normal file
@@ -0,0 +1,67 @@
|
||||
package u0;
|
||||
|
||||
import java.util.List;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public final class c {
|
||||
|
||||
/* renamed from: a, reason: collision with root package name */
|
||||
public final String f8601a;
|
||||
|
||||
/* renamed from: b, reason: collision with root package name */
|
||||
public final String f8602b;
|
||||
|
||||
/* renamed from: c, reason: collision with root package name */
|
||||
public final String f8603c;
|
||||
|
||||
/* renamed from: d, reason: collision with root package name */
|
||||
public final List f8604d;
|
||||
|
||||
/* renamed from: e, reason: collision with root package name */
|
||||
public final List f8605e;
|
||||
|
||||
public c(String referenceTable, String onDelete, String onUpdate, List columnNames, List referenceColumnNames) {
|
||||
Intrinsics.checkNotNullParameter(referenceTable, "referenceTable");
|
||||
Intrinsics.checkNotNullParameter(onDelete, "onDelete");
|
||||
Intrinsics.checkNotNullParameter(onUpdate, "onUpdate");
|
||||
Intrinsics.checkNotNullParameter(columnNames, "columnNames");
|
||||
Intrinsics.checkNotNullParameter(referenceColumnNames, "referenceColumnNames");
|
||||
this.f8601a = referenceTable;
|
||||
this.f8602b = onDelete;
|
||||
this.f8603c = onUpdate;
|
||||
this.f8604d = columnNames;
|
||||
this.f8605e = referenceColumnNames;
|
||||
}
|
||||
|
||||
public final boolean equals(Object obj) {
|
||||
if (this == obj) {
|
||||
return true;
|
||||
}
|
||||
if (!(obj instanceof c)) {
|
||||
return false;
|
||||
}
|
||||
c cVar = (c) obj;
|
||||
if (Intrinsics.areEqual(this.f8601a, cVar.f8601a) && Intrinsics.areEqual(this.f8602b, cVar.f8602b) && Intrinsics.areEqual(this.f8603c, cVar.f8603c) && Intrinsics.areEqual(this.f8604d, cVar.f8604d)) {
|
||||
return Intrinsics.areEqual(this.f8605e, cVar.f8605e);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
public final int hashCode() {
|
||||
return this.f8605e.hashCode() + ((this.f8604d.hashCode() + com.google.android.gms.measurement.internal.a.d(this.f8603c, com.google.android.gms.measurement.internal.a.d(this.f8602b, this.f8601a.hashCode() * 31, 31), 31)) * 31);
|
||||
}
|
||||
|
||||
public final String toString() {
|
||||
StringBuilder sb = new StringBuilder("ForeignKey{referenceTable='");
|
||||
sb.append(this.f8601a);
|
||||
sb.append("', onDelete='");
|
||||
sb.append(this.f8602b);
|
||||
sb.append(" +', onUpdate='");
|
||||
sb.append(this.f8603c);
|
||||
sb.append("', columnNames=");
|
||||
sb.append(this.f8604d);
|
||||
sb.append(", referenceColumnNames=");
|
||||
return com.google.android.gms.measurement.internal.a.o(sb, this.f8605e, '}');
|
||||
}
|
||||
}
|
||||
36
apk_decompiled/sources/u0/d.java
Normal file
36
apk_decompiled/sources/u0/d.java
Normal file
@@ -0,0 +1,36 @@
|
||||
package u0;
|
||||
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public final class d implements Comparable {
|
||||
|
||||
/* renamed from: a, reason: collision with root package name */
|
||||
public final int f8606a;
|
||||
|
||||
/* renamed from: b, reason: collision with root package name */
|
||||
public final int f8607b;
|
||||
|
||||
/* renamed from: c, reason: collision with root package name */
|
||||
public final String f8608c;
|
||||
|
||||
/* renamed from: d, reason: collision with root package name */
|
||||
public final String f8609d;
|
||||
|
||||
public d(String from, int i, int i4, String to) {
|
||||
Intrinsics.checkNotNullParameter(from, "from");
|
||||
Intrinsics.checkNotNullParameter(to, "to");
|
||||
this.f8606a = i;
|
||||
this.f8607b = i4;
|
||||
this.f8608c = from;
|
||||
this.f8609d = to;
|
||||
}
|
||||
|
||||
@Override // java.lang.Comparable
|
||||
public final int compareTo(Object obj) {
|
||||
d other = (d) obj;
|
||||
Intrinsics.checkNotNullParameter(other, "other");
|
||||
int i = this.f8606a - other.f8606a;
|
||||
return i == 0 ? this.f8607b - other.f8607b : i;
|
||||
}
|
||||
}
|
||||
79
apk_decompiled/sources/u0/e.java
Normal file
79
apk_decompiled/sources/u0/e.java
Normal file
@@ -0,0 +1,79 @@
|
||||
package u0;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
import kotlin.text.StringsKt__StringsJVMKt;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public final class e {
|
||||
|
||||
/* renamed from: a, reason: collision with root package name */
|
||||
public final String f8610a;
|
||||
|
||||
/* renamed from: b, reason: collision with root package name */
|
||||
public final boolean f8611b;
|
||||
|
||||
/* renamed from: c, reason: collision with root package name */
|
||||
public final List f8612c;
|
||||
|
||||
/* renamed from: d, reason: collision with root package name */
|
||||
public final List f8613d;
|
||||
|
||||
/* JADX WARN: Multi-variable type inference failed */
|
||||
/* JADX WARN: Type inference failed for: r5v1, types: [java.util.Collection] */
|
||||
/* JADX WARN: Type inference failed for: r5v2 */
|
||||
/* JADX WARN: Type inference failed for: r5v4, types: [java.util.ArrayList] */
|
||||
public e(String name, boolean z3, List columns, List orders) {
|
||||
Intrinsics.checkNotNullParameter(name, "name");
|
||||
Intrinsics.checkNotNullParameter(columns, "columns");
|
||||
Intrinsics.checkNotNullParameter(orders, "orders");
|
||||
this.f8610a = name;
|
||||
this.f8611b = z3;
|
||||
this.f8612c = columns;
|
||||
this.f8613d = orders;
|
||||
List list = orders;
|
||||
if (list.isEmpty()) {
|
||||
int size = columns.size();
|
||||
list = new ArrayList(size);
|
||||
for (int i = 0; i < size; i++) {
|
||||
list.add("ASC");
|
||||
}
|
||||
}
|
||||
this.f8613d = (List) list;
|
||||
}
|
||||
|
||||
public final boolean equals(Object obj) {
|
||||
boolean startsWith$default;
|
||||
boolean startsWith$default2;
|
||||
if (this == obj) {
|
||||
return true;
|
||||
}
|
||||
if (!(obj instanceof e)) {
|
||||
return false;
|
||||
}
|
||||
e eVar = (e) obj;
|
||||
if (this.f8611b != eVar.f8611b || !Intrinsics.areEqual(this.f8612c, eVar.f8612c) || !Intrinsics.areEqual(this.f8613d, eVar.f8613d)) {
|
||||
return false;
|
||||
}
|
||||
String str = this.f8610a;
|
||||
startsWith$default = StringsKt__StringsJVMKt.startsWith$default(str, "index_", false, 2, null);
|
||||
String str2 = eVar.f8610a;
|
||||
if (!startsWith$default) {
|
||||
return Intrinsics.areEqual(str, str2);
|
||||
}
|
||||
startsWith$default2 = StringsKt__StringsJVMKt.startsWith$default(str2, "index_", false, 2, null);
|
||||
return startsWith$default2;
|
||||
}
|
||||
|
||||
public final int hashCode() {
|
||||
boolean startsWith$default;
|
||||
String str = this.f8610a;
|
||||
startsWith$default = StringsKt__StringsJVMKt.startsWith$default(str, "index_", false, 2, null);
|
||||
return this.f8613d.hashCode() + ((this.f8612c.hashCode() + ((((startsWith$default ? -1184239155 : str.hashCode()) * 31) + (this.f8611b ? 1 : 0)) * 31)) * 31);
|
||||
}
|
||||
|
||||
public final String toString() {
|
||||
return "Index{name='" + this.f8610a + "', unique=" + this.f8611b + ", columns=" + this.f8612c + ", orders=" + this.f8613d + "'}";
|
||||
}
|
||||
}
|
||||
80
apk_decompiled/sources/u0/f.java
Normal file
80
apk_decompiled/sources/u0/f.java
Normal file
@@ -0,0 +1,80 @@
|
||||
package u0;
|
||||
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
|
||||
/* loaded from: classes.dex */
|
||||
public final class f {
|
||||
|
||||
/* renamed from: a, reason: collision with root package name */
|
||||
public final String f8614a;
|
||||
|
||||
/* renamed from: b, reason: collision with root package name */
|
||||
public final Map f8615b;
|
||||
|
||||
/* renamed from: c, reason: collision with root package name */
|
||||
public final Set f8616c;
|
||||
|
||||
/* renamed from: d, reason: collision with root package name */
|
||||
public final Set f8617d;
|
||||
|
||||
public f(String name, Map columns, Set foreignKeys, Set set) {
|
||||
Intrinsics.checkNotNullParameter(name, "name");
|
||||
Intrinsics.checkNotNullParameter(columns, "columns");
|
||||
Intrinsics.checkNotNullParameter(foreignKeys, "foreignKeys");
|
||||
this.f8614a = name;
|
||||
this.f8615b = columns;
|
||||
this.f8616c = foreignKeys;
|
||||
this.f8617d = set;
|
||||
}
|
||||
|
||||
/* JADX WARN: Code restructure failed: missing block: B:69:0x01f4, code lost:
|
||||
|
||||
r0 = kotlin.collections.SetsKt.build(r9);
|
||||
*/
|
||||
/* JADX WARN: Code restructure failed: missing block: B:70:0x01f8, code lost:
|
||||
|
||||
kotlin.io.CloseableKt.closeFinally(r3, null);
|
||||
r9 = r0;
|
||||
*/
|
||||
/* JADX WARN: Finally extract failed */
|
||||
/*
|
||||
Code decompiled incorrectly, please refer to instructions dump.
|
||||
To view partially-correct add '--show-bad-code' argument
|
||||
*/
|
||||
public static final u0.f a(x0.c r26, java.lang.String r27) {
|
||||
/*
|
||||
Method dump skipped, instructions count: 538
|
||||
To view this dump add '--comments-level debug' option
|
||||
*/
|
||||
throw new UnsupportedOperationException("Method not decompiled: u0.f.a(x0.c, java.lang.String):u0.f");
|
||||
}
|
||||
|
||||
public final boolean equals(Object obj) {
|
||||
Set set;
|
||||
if (this == obj) {
|
||||
return true;
|
||||
}
|
||||
if (!(obj instanceof f)) {
|
||||
return false;
|
||||
}
|
||||
f fVar = (f) obj;
|
||||
if (!Intrinsics.areEqual(this.f8614a, fVar.f8614a) || !Intrinsics.areEqual(this.f8615b, fVar.f8615b) || !Intrinsics.areEqual(this.f8616c, fVar.f8616c)) {
|
||||
return false;
|
||||
}
|
||||
Set set2 = this.f8617d;
|
||||
if (set2 == null || (set = fVar.f8617d) == null) {
|
||||
return true;
|
||||
}
|
||||
return Intrinsics.areEqual(set2, set);
|
||||
}
|
||||
|
||||
public final int hashCode() {
|
||||
return this.f8616c.hashCode() + ((this.f8615b.hashCode() + (this.f8614a.hashCode() * 31)) * 31);
|
||||
}
|
||||
|
||||
public final String toString() {
|
||||
return "TableInfo{name='" + this.f8614a + "', columns=" + this.f8615b + ", foreignKeys=" + this.f8616c + ", indices=" + this.f8617d + '}';
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user