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:
163
apk_decompiled/sources/kotlin/text/Regex$splitToSequence$1.java
Normal file
163
apk_decompiled/sources/kotlin/text/Regex$splitToSequence$1.java
Normal file
@@ -0,0 +1,163 @@
|
||||
package kotlin.text;
|
||||
|
||||
import kotlin.Metadata;
|
||||
import kotlin.Unit;
|
||||
import kotlin.coroutines.Continuation;
|
||||
import kotlin.coroutines.jvm.internal.DebugMetadata;
|
||||
import kotlin.coroutines.jvm.internal.RestrictedSuspendLambda;
|
||||
import kotlin.jvm.functions.Function2;
|
||||
import kotlin.sequences.SequenceScope;
|
||||
|
||||
@Metadata(d1 = {"\u0000\u000e\n\u0000\n\u0002\u0010\u0002\n\u0002\u0018\u0002\n\u0002\u0010\u000e\u0010\u0000\u001a\u00020\u0001*\b\u0012\u0004\u0012\u00020\u00030\u0002H\u008a@"}, d2 = {"<anonymous>", "", "Lkotlin/sequences/SequenceScope;", ""}, k = 3, mv = {1, 9, 0}, xi = 48)
|
||||
@DebugMetadata(c = "kotlin.text.Regex$splitToSequence$1", f = "Regex.kt", i = {1, 1, 1}, l = {275, 283, 287}, m = "invokeSuspend", n = {"$this$sequence", "matcher", "splitCount"}, s = {"L$0", "L$1", "I$0"})
|
||||
/* loaded from: classes3.dex */
|
||||
public final class Regex$splitToSequence$1 extends RestrictedSuspendLambda implements Function2<SequenceScope<? super String>, Continuation<? super Unit>, Object> {
|
||||
final /* synthetic */ CharSequence $input;
|
||||
final /* synthetic */ int $limit;
|
||||
int I$0;
|
||||
private /* synthetic */ Object L$0;
|
||||
Object L$1;
|
||||
int label;
|
||||
final /* synthetic */ Regex this$0;
|
||||
|
||||
/* JADX WARN: 'super' call moved to the top of the method (can break code semantics) */
|
||||
public Regex$splitToSequence$1(Regex regex, CharSequence charSequence, int i, Continuation<? super Regex$splitToSequence$1> continuation) {
|
||||
super(2, continuation);
|
||||
this.this$0 = regex;
|
||||
this.$input = charSequence;
|
||||
this.$limit = i;
|
||||
}
|
||||
|
||||
@Override // kotlin.coroutines.jvm.internal.BaseContinuationImpl
|
||||
public final Continuation<Unit> create(Object obj, Continuation<?> continuation) {
|
||||
Regex$splitToSequence$1 regex$splitToSequence$1 = new Regex$splitToSequence$1(this.this$0, this.$input, this.$limit, continuation);
|
||||
regex$splitToSequence$1.L$0 = obj;
|
||||
return regex$splitToSequence$1;
|
||||
}
|
||||
|
||||
/* JADX WARN: Code restructure failed: missing block: B:18:0x006e, code lost:
|
||||
|
||||
if (r6.yield(r5, r9) != r0) goto L21;
|
||||
*/
|
||||
/* JADX WARN: Code restructure failed: missing block: B:19:0x00ae, code lost:
|
||||
|
||||
return r0;
|
||||
*/
|
||||
/* JADX WARN: Code restructure failed: missing block: B:21:0x009a, code lost:
|
||||
|
||||
if (r6.yield(r10, r9) == r0) goto L32;
|
||||
*/
|
||||
/* JADX WARN: Code restructure failed: missing block: B:31:0x00ac, code lost:
|
||||
|
||||
if (r10.yield(r1, r9) == r0) goto L32;
|
||||
*/
|
||||
/* JADX WARN: Unsupported multi-entry loop pattern (BACK_EDGE: B:18:0x006e -> B:13:0x0071). Please report as a decompilation issue!!! */
|
||||
@Override // kotlin.coroutines.jvm.internal.BaseContinuationImpl
|
||||
/*
|
||||
Code decompiled incorrectly, please refer to instructions dump.
|
||||
To view partially-correct add '--show-bad-code' argument
|
||||
*/
|
||||
public final java.lang.Object invokeSuspend(java.lang.Object r10) {
|
||||
/*
|
||||
r9 = this;
|
||||
java.lang.Object r0 = kotlin.coroutines.intrinsics.IntrinsicsKt.getCOROUTINE_SUSPENDED()
|
||||
int r1 = r9.label
|
||||
r2 = 3
|
||||
r3 = 2
|
||||
r4 = 1
|
||||
if (r1 == 0) goto L32
|
||||
if (r1 == r4) goto L2d
|
||||
if (r1 == r3) goto L1e
|
||||
if (r1 != r2) goto L16
|
||||
kotlin.ResultKt.throwOnFailure(r10)
|
||||
goto L9d
|
||||
L16:
|
||||
java.lang.IllegalStateException r9 = new java.lang.IllegalStateException
|
||||
java.lang.String r10 = "call to 'resume' before 'invoke' with coroutine"
|
||||
r9.<init>(r10)
|
||||
throw r9
|
||||
L1e:
|
||||
int r1 = r9.I$0
|
||||
java.lang.Object r5 = r9.L$1
|
||||
java.util.regex.Matcher r5 = (java.util.regex.Matcher) r5
|
||||
java.lang.Object r6 = r9.L$0
|
||||
kotlin.sequences.SequenceScope r6 = (kotlin.sequences.SequenceScope) r6
|
||||
kotlin.ResultKt.throwOnFailure(r10)
|
||||
r10 = r5
|
||||
goto L71
|
||||
L2d:
|
||||
kotlin.ResultKt.throwOnFailure(r10)
|
||||
goto Laf
|
||||
L32:
|
||||
kotlin.ResultKt.throwOnFailure(r10)
|
||||
java.lang.Object r10 = r9.L$0
|
||||
kotlin.sequences.SequenceScope r10 = (kotlin.sequences.SequenceScope) r10
|
||||
kotlin.text.Regex r1 = r9.this$0
|
||||
java.util.regex.Pattern r1 = kotlin.text.Regex.access$getNativePattern$p(r1)
|
||||
java.lang.CharSequence r5 = r9.$input
|
||||
java.util.regex.Matcher r1 = r1.matcher(r5)
|
||||
int r5 = r9.$limit
|
||||
if (r5 == r4) goto La0
|
||||
boolean r5 = r1.find()
|
||||
if (r5 != 0) goto L50
|
||||
goto La0
|
||||
L50:
|
||||
r5 = 0
|
||||
r6 = r10
|
||||
r10 = r1
|
||||
r1 = r5
|
||||
L54:
|
||||
java.lang.CharSequence r7 = r9.$input
|
||||
int r8 = r10.start()
|
||||
java.lang.CharSequence r5 = r7.subSequence(r5, r8)
|
||||
java.lang.String r5 = r5.toString()
|
||||
r9.L$0 = r6
|
||||
r9.L$1 = r10
|
||||
r9.I$0 = r1
|
||||
r9.label = r3
|
||||
java.lang.Object r5 = r6.yield(r5, r9)
|
||||
if (r5 != r0) goto L71
|
||||
goto Lae
|
||||
L71:
|
||||
int r5 = r10.end()
|
||||
int r1 = r1 + r4
|
||||
int r7 = r9.$limit
|
||||
int r7 = r7 - r4
|
||||
if (r1 == r7) goto L81
|
||||
boolean r7 = r10.find()
|
||||
if (r7 != 0) goto L54
|
||||
L81:
|
||||
java.lang.CharSequence r10 = r9.$input
|
||||
int r1 = r10.length()
|
||||
java.lang.CharSequence r10 = r10.subSequence(r5, r1)
|
||||
java.lang.String r10 = r10.toString()
|
||||
r1 = 0
|
||||
r9.L$0 = r1
|
||||
r9.L$1 = r1
|
||||
r9.label = r2
|
||||
java.lang.Object r9 = r6.yield(r10, r9)
|
||||
if (r9 != r0) goto L9d
|
||||
goto Lae
|
||||
L9d:
|
||||
kotlin.Unit r9 = kotlin.Unit.INSTANCE
|
||||
return r9
|
||||
La0:
|
||||
java.lang.CharSequence r1 = r9.$input
|
||||
java.lang.String r1 = r1.toString()
|
||||
r9.label = r4
|
||||
java.lang.Object r9 = r10.yield(r1, r9)
|
||||
if (r9 != r0) goto Laf
|
||||
Lae:
|
||||
return r0
|
||||
Laf:
|
||||
kotlin.Unit r9 = kotlin.Unit.INSTANCE
|
||||
return r9
|
||||
*/
|
||||
throw new UnsupportedOperationException("Method not decompiled: kotlin.text.Regex$splitToSequence$1.invokeSuspend(java.lang.Object):java.lang.Object");
|
||||
}
|
||||
|
||||
@Override // kotlin.jvm.functions.Function2
|
||||
public final Object invoke(SequenceScope<? super String> sequenceScope, Continuation<? super Unit> continuation) {
|
||||
return ((Regex$splitToSequence$1) create(sequenceScope, continuation)).invokeSuspend(Unit.INSTANCE);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user