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:
101
apk_decompiled/sources/kotlin/KotlinVersion.java
Normal file
101
apk_decompiled/sources/kotlin/KotlinVersion.java
Normal file
@@ -0,0 +1,101 @@
|
||||
package kotlin;
|
||||
|
||||
import kotlin.jvm.JvmField;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
import kotlin.ranges.IntRange;
|
||||
|
||||
@SinceKotlin(version = "1.1")
|
||||
@Metadata(d1 = {"\u0000&\n\u0002\u0018\u0002\n\u0002\u0010\u000f\n\u0000\n\u0002\u0010\b\n\u0002\b\f\n\u0002\u0010\u000b\n\u0002\u0010\u0000\n\u0002\b\u0003\n\u0002\u0010\u000e\n\u0002\b\u0003\b\u0007\u0018\u0000 \u00172\b\u0012\u0004\u0012\u00020\u00000\u0001:\u0001\u0017B\u0017\b\u0016\u0012\u0006\u0010\u0002\u001a\u00020\u0003\u0012\u0006\u0010\u0004\u001a\u00020\u0003¢\u0006\u0002\u0010\u0005B\u001d\u0012\u0006\u0010\u0002\u001a\u00020\u0003\u0012\u0006\u0010\u0004\u001a\u00020\u0003\u0012\u0006\u0010\u0006\u001a\u00020\u0003¢\u0006\u0002\u0010\u0007J\u0011\u0010\r\u001a\u00020\u00032\u0006\u0010\u000e\u001a\u00020\u0000H\u0096\u0002J\u0013\u0010\u000f\u001a\u00020\u00102\b\u0010\u000e\u001a\u0004\u0018\u00010\u0011H\u0096\u0002J\b\u0010\u0012\u001a\u00020\u0003H\u0016J\u0016\u0010\u0013\u001a\u00020\u00102\u0006\u0010\u0002\u001a\u00020\u00032\u0006\u0010\u0004\u001a\u00020\u0003J\u001e\u0010\u0013\u001a\u00020\u00102\u0006\u0010\u0002\u001a\u00020\u00032\u0006\u0010\u0004\u001a\u00020\u00032\u0006\u0010\u0006\u001a\u00020\u0003J\b\u0010\u0014\u001a\u00020\u0015H\u0016J \u0010\u0016\u001a\u00020\u00032\u0006\u0010\u0002\u001a\u00020\u00032\u0006\u0010\u0004\u001a\u00020\u00032\u0006\u0010\u0006\u001a\u00020\u0003H\u0002R\u0011\u0010\u0002\u001a\u00020\u0003¢\u0006\b\n\u0000\u001a\u0004\b\b\u0010\tR\u0011\u0010\u0004\u001a\u00020\u0003¢\u0006\b\n\u0000\u001a\u0004\b\n\u0010\tR\u0011\u0010\u0006\u001a\u00020\u0003¢\u0006\b\n\u0000\u001a\u0004\b\u000b\u0010\tR\u000e\u0010\f\u001a\u00020\u0003X\u0082\u0004¢\u0006\u0002\n\u0000¨\u0006\u0018"}, d2 = {"Lkotlin/KotlinVersion;", "", "major", "", "minor", "(II)V", "patch", "(III)V", "getMajor", "()I", "getMinor", "getPatch", "version", "compareTo", "other", "equals", "", "", "hashCode", "isAtLeast", "toString", "", "versionOf", "Companion", "kotlin-stdlib"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public final class KotlinVersion implements Comparable<KotlinVersion> {
|
||||
public static final int MAX_COMPONENT_VALUE = 255;
|
||||
private final int major;
|
||||
private final int minor;
|
||||
private final int patch;
|
||||
private final int version;
|
||||
|
||||
@JvmField
|
||||
public static final KotlinVersion CURRENT = KotlinVersionCurrentValue.get();
|
||||
|
||||
public KotlinVersion(int i, int i4, int i5) {
|
||||
this.major = i;
|
||||
this.minor = i4;
|
||||
this.patch = i5;
|
||||
this.version = versionOf(i, i4, i5);
|
||||
}
|
||||
|
||||
private final int versionOf(int major, int minor, int patch) {
|
||||
if (new IntRange(0, MAX_COMPONENT_VALUE).contains(major) && new IntRange(0, MAX_COMPONENT_VALUE).contains(minor) && new IntRange(0, MAX_COMPONENT_VALUE).contains(patch)) {
|
||||
return (major << 16) + (minor << 8) + patch;
|
||||
}
|
||||
throw new IllegalArgumentException(("Version components are out of range: " + major + '.' + minor + '.' + patch).toString());
|
||||
}
|
||||
|
||||
public boolean equals(Object other) {
|
||||
if (this == other) {
|
||||
return true;
|
||||
}
|
||||
KotlinVersion kotlinVersion = other instanceof KotlinVersion ? (KotlinVersion) other : null;
|
||||
return kotlinVersion != null && this.version == kotlinVersion.version;
|
||||
}
|
||||
|
||||
public final int getMajor() {
|
||||
return this.major;
|
||||
}
|
||||
|
||||
public final int getMinor() {
|
||||
return this.minor;
|
||||
}
|
||||
|
||||
public final int getPatch() {
|
||||
return this.patch;
|
||||
}
|
||||
|
||||
/* renamed from: hashCode, reason: from getter */
|
||||
public int getVersion() {
|
||||
return this.version;
|
||||
}
|
||||
|
||||
public final boolean isAtLeast(int major, int minor) {
|
||||
int i = this.major;
|
||||
if (i <= major) {
|
||||
return i == major && this.minor >= minor;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.append(this.major);
|
||||
sb.append('.');
|
||||
sb.append(this.minor);
|
||||
sb.append('.');
|
||||
sb.append(this.patch);
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
@Override // java.lang.Comparable
|
||||
public int compareTo(KotlinVersion other) {
|
||||
Intrinsics.checkNotNullParameter(other, "other");
|
||||
return this.version - other.version;
|
||||
}
|
||||
|
||||
public final boolean isAtLeast(int major, int minor, int patch) {
|
||||
int i = this.major;
|
||||
if (i > major) {
|
||||
return true;
|
||||
}
|
||||
if (i != major) {
|
||||
return false;
|
||||
}
|
||||
int i4 = this.minor;
|
||||
if (i4 <= minor) {
|
||||
return i4 == minor && this.patch >= patch;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public KotlinVersion(int i, int i4) {
|
||||
this(i, i4, 0);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user