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:
126
apk_decompiled/sources/kotlin/text/MatcherMatchResult.java
Normal file
126
apk_decompiled/sources/kotlin/text/MatcherMatchResult.java
Normal file
@@ -0,0 +1,126 @@
|
||||
package kotlin.text;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.regex.Matcher;
|
||||
import kotlin.Metadata;
|
||||
import kotlin.collections.AbstractList;
|
||||
import kotlin.jvm.internal.Intrinsics;
|
||||
import kotlin.ranges.IntRange;
|
||||
import kotlin.text.MatchResult;
|
||||
|
||||
@Metadata(d1 = {"\u0000<\n\u0002\u0018\u0002\n\u0002\u0018\u0002\n\u0000\n\u0002\u0018\u0002\n\u0000\n\u0002\u0010\r\n\u0002\b\u0002\n\u0002\u0010 \n\u0002\u0010\u000e\n\u0002\b\u0004\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\u0003\n\u0002\u0018\u0002\n\u0002\b\u0007\b\u0002\u0018\u00002\u00020\u0001B\u0015\u0012\u0006\u0010\u0002\u001a\u00020\u0003\u0012\u0006\u0010\u0004\u001a\u00020\u0005¢\u0006\u0002\u0010\u0006J\n\u0010\u001c\u001a\u0004\u0018\u00010\u0001H\u0016R\u001a\u0010\u0007\u001a\b\u0012\u0004\u0012\u00020\t0\b8VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b\n\u0010\u000bR\u0016\u0010\f\u001a\n\u0012\u0004\u0012\u00020\t\u0018\u00010\bX\u0082\u000e¢\u0006\u0002\n\u0000R\u0014\u0010\r\u001a\u00020\u000eX\u0096\u0004¢\u0006\b\n\u0000\u001a\u0004\b\u000f\u0010\u0010R\u000e\u0010\u0004\u001a\u00020\u0005X\u0082\u0004¢\u0006\u0002\n\u0000R\u0014\u0010\u0011\u001a\u00020\u00128BX\u0082\u0004¢\u0006\u0006\u001a\u0004\b\u0013\u0010\u0014R\u000e\u0010\u0002\u001a\u00020\u0003X\u0082\u0004¢\u0006\u0002\n\u0000R\u0014\u0010\u0015\u001a\u00020\u00168VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b\u0017\u0010\u0018R\u0014\u0010\u0019\u001a\u00020\t8VX\u0096\u0004¢\u0006\u0006\u001a\u0004\b\u001a\u0010\u001b¨\u0006\u001d"}, d2 = {"Lkotlin/text/MatcherMatchResult;", "Lkotlin/text/MatchResult;", "matcher", "Ljava/util/regex/Matcher;", "input", "", "(Ljava/util/regex/Matcher;Ljava/lang/CharSequence;)V", "groupValues", "", "", "getGroupValues", "()Ljava/util/List;", "groupValues_", "groups", "Lkotlin/text/MatchGroupCollection;", "getGroups", "()Lkotlin/text/MatchGroupCollection;", "matchResult", "Ljava/util/regex/MatchResult;", "getMatchResult", "()Ljava/util/regex/MatchResult;", "range", "Lkotlin/ranges/IntRange;", "getRange", "()Lkotlin/ranges/IntRange;", "value", "getValue", "()Ljava/lang/String;", "next", "kotlin-stdlib"}, k = 1, mv = {1, 9, 0}, xi = 48)
|
||||
/* loaded from: classes3.dex */
|
||||
final class MatcherMatchResult implements MatchResult {
|
||||
private List<String> groupValues_;
|
||||
private final MatchGroupCollection groups;
|
||||
private final CharSequence input;
|
||||
private final Matcher matcher;
|
||||
|
||||
public MatcherMatchResult(Matcher matcher, CharSequence input) {
|
||||
Intrinsics.checkNotNullParameter(matcher, "matcher");
|
||||
Intrinsics.checkNotNullParameter(input, "input");
|
||||
this.matcher = matcher;
|
||||
this.input = input;
|
||||
this.groups = new MatcherMatchResult$groups$1(this);
|
||||
}
|
||||
|
||||
/* JADX INFO: Access modifiers changed from: private */
|
||||
public final java.util.regex.MatchResult getMatchResult() {
|
||||
return this.matcher;
|
||||
}
|
||||
|
||||
@Override // kotlin.text.MatchResult
|
||||
public MatchResult.Destructured getDestructured() {
|
||||
return MatchResult.DefaultImpls.getDestructured(this);
|
||||
}
|
||||
|
||||
@Override // kotlin.text.MatchResult
|
||||
public List<String> getGroupValues() {
|
||||
if (this.groupValues_ == null) {
|
||||
this.groupValues_ = new AbstractList<String>() { // from class: kotlin.text.MatcherMatchResult$groupValues$1
|
||||
@Override // kotlin.collections.AbstractCollection, java.util.Collection
|
||||
public final /* bridge */ boolean contains(Object obj) {
|
||||
if (obj instanceof String) {
|
||||
return contains((String) obj);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override // kotlin.collections.AbstractList, kotlin.collections.AbstractCollection
|
||||
/* renamed from: getSize */
|
||||
public int get_size() {
|
||||
java.util.regex.MatchResult matchResult;
|
||||
matchResult = MatcherMatchResult.this.getMatchResult();
|
||||
return matchResult.groupCount() + 1;
|
||||
}
|
||||
|
||||
@Override // kotlin.collections.AbstractList, java.util.List
|
||||
public final /* bridge */ int indexOf(Object obj) {
|
||||
if (obj instanceof String) {
|
||||
return indexOf((String) obj);
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
@Override // kotlin.collections.AbstractList, java.util.List
|
||||
public final /* bridge */ int lastIndexOf(Object obj) {
|
||||
if (obj instanceof String) {
|
||||
return lastIndexOf((String) obj);
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
public /* bridge */ boolean contains(String str) {
|
||||
return super.contains((MatcherMatchResult$groupValues$1) str);
|
||||
}
|
||||
|
||||
@Override // kotlin.collections.AbstractList, java.util.List
|
||||
public String get(int index) {
|
||||
java.util.regex.MatchResult matchResult;
|
||||
matchResult = MatcherMatchResult.this.getMatchResult();
|
||||
String group = matchResult.group(index);
|
||||
return group == null ? "" : group;
|
||||
}
|
||||
|
||||
public /* bridge */ int indexOf(String str) {
|
||||
return super.indexOf((MatcherMatchResult$groupValues$1) str);
|
||||
}
|
||||
|
||||
public /* bridge */ int lastIndexOf(String str) {
|
||||
return super.lastIndexOf((MatcherMatchResult$groupValues$1) str);
|
||||
}
|
||||
};
|
||||
}
|
||||
List<String> list = this.groupValues_;
|
||||
Intrinsics.checkNotNull(list);
|
||||
return list;
|
||||
}
|
||||
|
||||
@Override // kotlin.text.MatchResult
|
||||
public MatchGroupCollection getGroups() {
|
||||
return this.groups;
|
||||
}
|
||||
|
||||
@Override // kotlin.text.MatchResult
|
||||
public IntRange getRange() {
|
||||
return RegexKt.access$range(getMatchResult());
|
||||
}
|
||||
|
||||
@Override // kotlin.text.MatchResult
|
||||
public String getValue() {
|
||||
String group = getMatchResult().group();
|
||||
Intrinsics.checkNotNullExpressionValue(group, "group(...)");
|
||||
return group;
|
||||
}
|
||||
|
||||
@Override // kotlin.text.MatchResult
|
||||
public MatchResult next() {
|
||||
int end = getMatchResult().end() + (getMatchResult().end() == getMatchResult().start() ? 1 : 0);
|
||||
if (end > this.input.length()) {
|
||||
return null;
|
||||
}
|
||||
Matcher matcher = this.matcher.pattern().matcher(this.input);
|
||||
Intrinsics.checkNotNullExpressionValue(matcher, "matcher(...)");
|
||||
return RegexKt.access$findNext(matcher, end, this.input);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user