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:
130
apk_decompiled/sources/kotlin/ranges/UIntRange.java
Normal file
130
apk_decompiled/sources/kotlin/ranges/UIntRange.java
Normal file
@@ -0,0 +1,130 @@
|
||||
package kotlin.ranges;
|
||||
|
||||
import kotlin.Deprecated;
|
||||
import kotlin.ExperimentalStdlibApi;
|
||||
import kotlin.ExperimentalUnsignedTypes;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.SinceKotlin;
|
||||
import kotlin.UInt;
|
||||
import kotlin.WasExperimental;
|
||||
import kotlin.jvm.internal.DefaultConstructorMarker;
|
||||
|
||||
@SinceKotlin(version = "1.5")
|
||||
@Metadata(d1 = {"\u00006\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0002\b\u000b\n\u0002\u0010\u000b\n\u0002\b\u0005\n\u0002\u0010\u0000\n\u0000\n\u0002\u0010\b\n\u0002\b\u0002\n\u0002\u0010\u000e\n\u0002\b\u0002\b\u0007\u0018\u0000 \u001c2\u00020\u00012\b\u0012\u0004\u0012\u00020\u00030\u00022\b\u0012\u0004\u0012\u00020\u00030\u0004:\u0001\u001cB\u0015\u0012\u0006\u0010\u0005\u001a\u00020\u0003\u0012\u0006\u0010\u0006\u001a\u00020\u0003¢\u0006\u0002\u0010\u0007J\u0018\u0010\u000f\u001a\u00020\u00102\u0006\u0010\u0011\u001a\u00020\u0003H\u0096\u0002¢\u0006\u0004\b\u0012\u0010\u0013J\u0013\u0010\u0014\u001a\u00020\u00102\b\u0010\u0015\u001a\u0004\u0018\u00010\u0016H\u0096\u0002J\b\u0010\u0017\u001a\u00020\u0018H\u0016J\b\u0010\u0019\u001a\u00020\u0010H\u0016J\b\u0010\u001a\u001a\u00020\u001bH\u0016R\u001d\u0010\b\u001a\u00020\u00038VX\u0097\u0004ø\u0001\u0000¢\u0006\f\u0012\u0004\b\t\u0010\n\u001a\u0004\b\u000b\u0010\fR\u0017\u0010\u0006\u001a\u00020\u00038VX\u0096\u0004ø\u0001\u0000¢\u0006\u0006\u001a\u0004\b\r\u0010\fR\u0017\u0010\u0005\u001a\u00020\u00038VX\u0096\u0004ø\u0001\u0000¢\u0006\u0006\u001a\u0004\b\u000e\u0010\f\u0082\u0002\u0004\n\u0002\b!¨\u0006\u001d"}, d2 = {"Lkotlin/ranges/UIntRange;", "Lkotlin/ranges/UIntProgression;", "Lkotlin/ranges/ClosedRange;", "Lkotlin/UInt;", "Lkotlin/ranges/OpenEndRange;", "start", "endInclusive", "(IILkotlin/jvm/internal/DefaultConstructorMarker;)V", "endExclusive", "getEndExclusive-pVg5ArA$annotations", "()V", "getEndExclusive-pVg5ArA", "()I", "getEndInclusive-pVg5ArA", "getStart-pVg5ArA", "contains", "", "value", "contains-WZ4Q5Ns", "(I)Z", "equals", "other", "", "hashCode", "", "isEmpty", "toString", "", "Companion", "kotlin-stdlib"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
@WasExperimental(markerClass = {ExperimentalUnsignedTypes.class})
|
||||
/* loaded from: classes3.dex */
|
||||
public final class UIntRange extends UIntProgression implements ClosedRange<UInt>, OpenEndRange<UInt> {
|
||||
|
||||
/* renamed from: Companion, reason: from kotlin metadata */
|
||||
public static final Companion INSTANCE;
|
||||
private static final UIntRange EMPTY;
|
||||
|
||||
@Metadata(d1 = {"\u0000\u0014\n\u0002\u0018\u0002\n\u0002\u0010\u0000\n\u0002\b\u0002\n\u0002\u0018\u0002\n\u0002\b\u0003\b\u0086\u0003\u0018\u00002\u00020\u0001B\u0007\b\u0002¢\u0006\u0002\u0010\u0002R\u0011\u0010\u0003\u001a\u00020\u0004¢\u0006\b\n\u0000\u001a\u0004\b\u0005\u0010\u0006¨\u0006\u0007"}, d2 = {"Lkotlin/ranges/UIntRange$Companion;", "", "()V", "EMPTY", "Lkotlin/ranges/UIntRange;", "getEMPTY", "()Lkotlin/ranges/UIntRange;", "kotlin-stdlib"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
public static final class Companion {
|
||||
public /* synthetic */ Companion(DefaultConstructorMarker defaultConstructorMarker) {
|
||||
this();
|
||||
}
|
||||
|
||||
public final UIntRange getEMPTY() {
|
||||
return UIntRange.EMPTY;
|
||||
}
|
||||
|
||||
private Companion() {
|
||||
}
|
||||
}
|
||||
|
||||
static {
|
||||
DefaultConstructorMarker defaultConstructorMarker = null;
|
||||
INSTANCE = new Companion(defaultConstructorMarker);
|
||||
EMPTY = new UIntRange(-1, 0, defaultConstructorMarker);
|
||||
}
|
||||
|
||||
public /* synthetic */ UIntRange(int i, int i4, DefaultConstructorMarker defaultConstructorMarker) {
|
||||
this(i, i4);
|
||||
}
|
||||
|
||||
@Deprecated(message = "Can throw an exception when it's impossible to represent the value with UInt type, for example, when the range includes MAX_VALUE. It's recommended to use 'endInclusive' property that doesn't throw.")
|
||||
@SinceKotlin(version = "1.9")
|
||||
@WasExperimental(markerClass = {ExperimentalStdlibApi.class})
|
||||
/* renamed from: getEndExclusive-pVg5ArA$annotations, reason: not valid java name */
|
||||
public static /* synthetic */ void m1342getEndExclusivepVg5ArA$annotations() {
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.ClosedRange, kotlin.ranges.OpenEndRange
|
||||
public /* bridge */ /* synthetic */ boolean contains(Comparable comparable) {
|
||||
return m1343containsWZ4Q5Ns(((UInt) comparable).getData());
|
||||
}
|
||||
|
||||
/* renamed from: contains-WZ4Q5Ns, reason: not valid java name */
|
||||
public boolean m1343containsWZ4Q5Ns(int value) {
|
||||
return Integer.compareUnsigned(getFirst(), value) <= 0 && Integer.compareUnsigned(value, getLast()) <= 0;
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.UIntProgression
|
||||
public boolean equals(Object other) {
|
||||
if (!(other instanceof UIntRange)) {
|
||||
return false;
|
||||
}
|
||||
if (isEmpty() && ((UIntRange) other).isEmpty()) {
|
||||
return true;
|
||||
}
|
||||
UIntRange uIntRange = (UIntRange) other;
|
||||
return getFirst() == uIntRange.getFirst() && getLast() == uIntRange.getLast();
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.OpenEndRange
|
||||
public /* bridge */ /* synthetic */ UInt getEndExclusive() {
|
||||
return UInt.m205boximpl(m1344getEndExclusivepVg5ArA());
|
||||
}
|
||||
|
||||
/* renamed from: getEndExclusive-pVg5ArA, reason: not valid java name */
|
||||
public int m1344getEndExclusivepVg5ArA() {
|
||||
if (getLast() != -1) {
|
||||
return UInt.m211constructorimpl(getLast() + 1);
|
||||
}
|
||||
throw new IllegalStateException("Cannot return the exclusive upper bound of a range that includes MAX_VALUE.");
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.ClosedRange
|
||||
public /* bridge */ /* synthetic */ UInt getEndInclusive() {
|
||||
return UInt.m205boximpl(m1345getEndInclusivepVg5ArA());
|
||||
}
|
||||
|
||||
/* renamed from: getEndInclusive-pVg5ArA, reason: not valid java name */
|
||||
public int m1345getEndInclusivepVg5ArA() {
|
||||
return getLast();
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.ClosedRange, kotlin.ranges.OpenEndRange
|
||||
public /* bridge */ /* synthetic */ Comparable getStart() {
|
||||
return UInt.m205boximpl(m1346getStartpVg5ArA());
|
||||
}
|
||||
|
||||
/* renamed from: getStart-pVg5ArA, reason: not valid java name */
|
||||
public int m1346getStartpVg5ArA() {
|
||||
return getFirst();
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.UIntProgression
|
||||
public int hashCode() {
|
||||
if (isEmpty()) {
|
||||
return -1;
|
||||
}
|
||||
return getLast() + (getFirst() * 31);
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.UIntProgression, kotlin.ranges.ClosedRange, kotlin.ranges.OpenEndRange
|
||||
public boolean isEmpty() {
|
||||
return Integer.compareUnsigned(getFirst(), getLast()) > 0;
|
||||
}
|
||||
|
||||
@Override // kotlin.ranges.UIntProgression
|
||||
public String toString() {
|
||||
return ((Object) UInt.m257toStringimpl(getFirst())) + ".." + ((Object) UInt.m257toStringimpl(getLast()));
|
||||
}
|
||||
|
||||
private UIntRange(int i, int i4) {
|
||||
super(i, i4, 1, null);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user