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 Ac3Extractor implements Extractor {
private static final int AC3_SYNC_WORD = 2935;
public static final ExtractorsFactory FACTORY = Ac3Extractor$$ExternalSyntheticLambda0.INSTANCE;
private static final int MAX_SNIFF_BYTES = 8192;
private static final int MAX_SYNC_FRAME_SIZE = 2786;
private final Ac3Reader reader = new Ac3Reader();
private final ParsableByteArray sampleData = new ParsableByteArray((int) MAX_SYNC_FRAME_SIZE);
private boolean startedPacket;
public void release() {
}
static /* synthetic */ Extractor[] lambda$static$0() {
return new Extractor[]{new Ac3Extractor()};
}
/* JADX WARNING: Code restructure failed: missing block: B:7:0x0037, code lost:
r8.resetPeekPosition();
r4 = r4 + 1;
*/
/* JADX WARNING: Code restructure failed: missing block: B:8:0x0040, code lost:
if ((r4 - r3) < 8192) goto L_0x0043;
*/
/* JADX WARNING: Code restructure failed: missing block: B:9:0x0042, code lost:
return false;
*/
/* Code decompiled incorrectly, please refer to instructions dump. */
public boolean sniff(com.google.android.exoplayer2.extractor.ExtractorInput r8) throws java.io.IOException {
/*
r7 = 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()
r8.peekFully(r4, r2, r1)
r0.setPosition(r2)
int r4 = r0.readUnsignedInt24()
r5 = 4801587(0x494433, float:6.728456E-39)
if (r4 == r5) goto L_0x005f
r8.resetPeekPosition()
r8.advancePeekPosition(r3)
r4 = r3
L_0x0023:
r1 = 0
L_0x0024:
byte[] r5 = r0.getData()
r6 = 6
r8.peekFully(r5, r2, r6)
r0.setPosition(r2)
int r5 = r0.readUnsignedShort()
r6 = 2935(0xb77, float:4.113E-42)
if (r5 == r6) goto L_0x0047
r8.resetPeekPosition()
int r4 = r4 + 1
int r1 = r4 - r3
r5 = 8192(0x2000, float:1.14794E-41)
if (r1 < r5) goto L_0x0043
return r2
L_0x0043:
r8.advancePeekPosition(r4)
goto L_0x0023
L_0x0047:
r5 = 1
int r1 = r1 + r5
r6 = 4
if (r1 < r6) goto L_0x004d
return r5
L_0x004d:
byte[] r5 = r0.getData()
int r5 = com.google.android.exoplayer2.audio.Ac3Util.parseAc3SyncframeSize(r5)
r6 = -1
if (r5 != r6) goto L_0x0059
return r2
L_0x0059:
int r5 = r5 + -6
r8.advancePeekPosition(r5)
goto L_0x0024
L_0x005f:
r4 = 3
r0.skipBytes(r4)
int r4 = r0.readSynchSafeInt()
int r5 = r4 + 10
int r3 = r3 + r5
r8.advancePeekPosition(r4)
goto L_0x0009
*/
throw new UnsupportedOperationException("Method not decompiled: com.google.android.exoplayer2.extractor.ts.Ac3Extractor.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, MAX_SYNC_FRAME_SIZE);
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