CrackMe.apk
Download file
package com.google.android.exoplayer2.extractor.ts;
import com.google.android.exoplayer2.C;
import com.google.android.exoplayer2.extractor.Extractor;
import com.google.android.exoplayer2.extractor.ExtractorInput;
import com.google.android.exoplayer2.extractor.ExtractorOutput;
import com.google.android.exoplayer2.extractor.ExtractorsFactory;
import com.google.android.exoplayer2.extractor.PositionHolder;
import com.google.android.exoplayer2.extractor.SeekMap;
import com.google.android.exoplayer2.extractor.ts.TsPayloadReader;
import com.google.android.exoplayer2.util.ParsableByteArray;
import java.io.IOException;
public final class Ac4Extractor implements Extractor {
public static final ExtractorsFactory FACTORY = Ac4Extractor$$ExternalSyntheticLambda0.INSTANCE;
private static final int FRAME_HEADER_SIZE = 7;
private static final int MAX_SNIFF_BYTES = 8192;
private static final int READ_BUFFER_SIZE = 16384;
private final Ac4Reader reader = new Ac4Reader();
private final ParsableByteArray sampleData = new ParsableByteArray(16384);
private boolean startedPacket;
public void release() {
}
static /* synthetic */ Extractor[] lambda$static$0() {
return new Extractor[]{new Ac4Extractor()};
}
/* JADX WARNING: Code restructure failed: missing block: B:10:0x0046, code lost:
if ((r4 - r3) < 8192) goto L_0x0049;
*/
/* JADX WARNING: Code restructure failed: missing block: B:11:0x0048, code lost:
return false;
*/
/* JADX WARNING: Code restructure failed: missing block: B:9:0x003d, code lost:
r9.resetPeekPosition();
r4 = r4 + 1;
*/
/* Code decompiled incorrectly, please refer to instructions dump. */
public boolean sniff(com.google.android.exoplayer2.extractor.ExtractorInput r9) throws java.io.IOException {
/*
r8 = this;
com.google.android.exoplayer2.util.ParsableByteArray r0 = new com.google.android.exoplayer2.util.ParsableByteArray
r1 = 10
r0.<init>((int) r1)
r2 = 0
r3 = 0
L_0x0009:
byte[] r4 = r0.getData()
r9.peekFully(r4, r2, r1)
r0.setPosition(r2)
int r4 = r0.readUnsignedInt24()
r5 = 4801587(0x494433, float:6.728456E-39)
if (r4 == r5) goto L_0x0065
r9.resetPeekPosition()
r9.advancePeekPosition(r3)
r4 = r3
L_0x0023:
r1 = 0
L_0x0024:
byte[] r5 = r0.getData()
r6 = 7
r9.peekFully(r5, r2, r6)
r0.setPosition(r2)
int r5 = r0.readUnsignedShort()
r6 = 44096(0xac40, float:6.1792E-41)
if (r5 == r6) goto L_0x004d
r6 = 44097(0xac41, float:6.1793E-41)
if (r5 == r6) goto L_0x004d
r9.resetPeekPosition()
int r4 = r4 + 1
int r1 = r4 - r3
r5 = 8192(0x2000, float:1.14794E-41)
if (r1 < r5) goto L_0x0049
return r2
L_0x0049:
r9.advancePeekPosition(r4)
goto L_0x0023
L_0x004d:
r6 = 1
int r1 = r1 + r6
r7 = 4
if (r1 < r7) goto L_0x0053
return r6
L_0x0053:
byte[] r6 = r0.getData()
int r5 = com.google.android.exoplayer2.audio.Ac4Util.parseAc4SyncframeSize(r6, r5)
r6 = -1
if (r5 != r6) goto L_0x005f
return r2
L_0x005f:
int r5 = r5 + -7
r9.advancePeekPosition(r5)
goto L_0x0024
L_0x0065:
r4 = 3
r0.skipBytes(r4)
int r4 = r0.readSynchSafeInt()
int r5 = r4 + 10
int r3 = r3 + r5
r9.advancePeekPosition(r4)
goto L_0x0009
*/
throw new UnsupportedOperationException("Method not decompiled: com.google.android.exoplayer2.extractor.ts.Ac4Extractor.sniff(com.google.android.exoplayer2.extractor.ExtractorInput):boolean");
}
public void init(ExtractorOutput extractorOutput) {
this.reader.createTracks(extractorOutput, new TsPayloadReader.TrackIdGenerator(0, 1));
extractorOutput.endTracks();
extractorOutput.seekMap(new SeekMap.Unseekable(C.TIME_UNSET));
}
public void seek(long j, long j2) {
this.startedPacket = false;
this.reader.seek();
}
public int read(ExtractorInput extractorInput, PositionHolder positionHolder) throws IOException {
int read = extractorInput.read(this.sampleData.getData(), 0, 16384);
if (read == -1) {
return -1;
}
this.sampleData.setPosition(0);
this.sampleData.setLimit(read);
if (!this.startedPacket) {
this.reader.packetStarted(0, 4);
this.startedPacket = true;
}
this.reader.consume(this.sampleData);
return 0;
}
}
Download file