CrackMe.apk

Download file
    package com.facebook.soloader;

import android.content.Context;
import com.facebook.soloader.UnpackingSoSource;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

public final class ExoSoSource extends UnpackingSoSource {
    public ExoSoSource(Context context, String str) {
        super(context, str);
    }

    /* access modifiers changed from: protected */
    public UnpackingSoSource.Unpacker makeUnpacker(byte b) throws IOException {
        return new ExoUnpacker(this, this);
    }

    private final class ExoUnpacker extends UnpackingSoSource.Unpacker {
        /* access modifiers changed from: private */
        public final FileDso[] mDsos;
        final /* synthetic */ ExoSoSource this$0;

        /* JADX WARNING: Code restructure failed: missing block: B:30:?, code lost:
            r8.close();
         */
        /* JADX WARNING: Code restructure failed: missing block: B:31:0x00e8, code lost:
            r10.close();
         */
        /* Code decompiled incorrectly, please refer to instructions dump. */
        ExoUnpacker(com.facebook.soloader.ExoSoSource r18, com.facebook.soloader.UnpackingSoSource r19) throws java.io.IOException {
            /*
                r17 = this;
                r1 = r17
                r0 = r18
                r1.this$0 = r0
                r17.<init>()
                android.content.Context r0 = r0.mContext
                java.io.File r2 = new java.io.File
                java.lang.StringBuilder r3 = new java.lang.StringBuilder
                r3.<init>()
                java.lang.String r4 = "/data/local/tmp/exopackage/"
                r3.append(r4)
                java.lang.String r0 = r0.getPackageName()
                r3.append(r0)
                java.lang.String r0 = "/native-libs/"
                r3.append(r0)
                java.lang.String r0 = r3.toString()
                r2.<init>(r0)
                java.util.ArrayList r0 = new java.util.ArrayList
                r0.<init>()
                java.util.LinkedHashSet r3 = new java.util.LinkedHashSet
                r3.<init>()
                java.lang.String[] r4 = com.facebook.soloader.SysUtil.getSupportedAbis()
                int r5 = r4.length
                r6 = 0
                r7 = 0
            L_0x003b:
                if (r7 >= r5) goto L_0x0108
                r8 = r4[r7]
                java.io.File r9 = new java.io.File
                r9.<init>(r2, r8)
                boolean r10 = r9.isDirectory()
                if (r10 != 0) goto L_0x004c
                goto L_0x00eb
            L_0x004c:
                r3.add(r8)
                java.io.File r8 = new java.io.File
                java.lang.String r10 = "metadata.txt"
                r8.<init>(r9, r10)
                boolean r10 = r8.isFile()
                if (r10 != 0) goto L_0x005e
                goto L_0x00eb
            L_0x005e:
                java.io.FileReader r10 = new java.io.FileReader
                r10.<init>(r8)
                java.io.BufferedReader r8 = new java.io.BufferedReader     // Catch:{ all -> 0x00fc }
                r8.<init>(r10)     // Catch:{ all -> 0x00fc }
            L_0x0068:
                java.lang.String r11 = r8.readLine()     // Catch:{ all -> 0x00f0 }
                if (r11 == 0) goto L_0x00e5
                int r12 = r11.length()     // Catch:{ all -> 0x00f0 }
                if (r12 != 0) goto L_0x0075
                goto L_0x0068
            L_0x0075:
                r12 = 32
                int r12 = r11.indexOf(r12)     // Catch:{ all -> 0x00f0 }
                r13 = -1
                if (r12 == r13) goto L_0x00c9
                java.lang.StringBuilder r13 = new java.lang.StringBuilder     // Catch:{ all -> 0x00f0 }
                r13.<init>()     // Catch:{ all -> 0x00f0 }
                java.lang.String r14 = r11.substring(r6, r12)     // Catch:{ all -> 0x00f0 }
                r13.append(r14)     // Catch:{ all -> 0x00f0 }
                java.lang.String r14 = ".so"
                r13.append(r14)     // Catch:{ all -> 0x00f0 }
                java.lang.String r13 = r13.toString()     // Catch:{ all -> 0x00f0 }
                int r14 = r0.size()     // Catch:{ all -> 0x00f0 }
                r15 = 0
            L_0x0098:
                if (r15 >= r14) goto L_0x00b0
                java.lang.Object r16 = r0.get(r15)     // Catch:{ all -> 0x00f0 }
                r6 = r16
                com.facebook.soloader.ExoSoSource$FileDso r6 = (com.facebook.soloader.ExoSoSource.FileDso) r6     // Catch:{ all -> 0x00f0 }
                java.lang.String r6 = r6.name     // Catch:{ all -> 0x00f0 }
                boolean r6 = r6.equals(r13)     // Catch:{ all -> 0x00f0 }
                if (r6 == 0) goto L_0x00ac
                r6 = 1
                goto L_0x00b1
            L_0x00ac:
                int r15 = r15 + 1
                r6 = 0
                goto L_0x0098
            L_0x00b0:
                r6 = 0
            L_0x00b1:
                if (r6 == 0) goto L_0x00b5
            L_0x00b3:
                r6 = 0
                goto L_0x0068
            L_0x00b5:
                int r12 = r12 + 1
                java.lang.String r6 = r11.substring(r12)     // Catch:{ all -> 0x00f0 }
                com.facebook.soloader.ExoSoSource$FileDso r11 = new com.facebook.soloader.ExoSoSource$FileDso     // Catch:{ all -> 0x00f0 }
                java.io.File r12 = new java.io.File     // Catch:{ all -> 0x00f0 }
                r12.<init>(r9, r6)     // Catch:{ all -> 0x00f0 }
                r11.<init>(r13, r6, r12)     // Catch:{ all -> 0x00f0 }
                r0.add(r11)     // Catch:{ all -> 0x00f0 }
                goto L_0x00b3
            L_0x00c9:
                java.lang.RuntimeException r0 = new java.lang.RuntimeException     // Catch:{ all -> 0x00f0 }
                java.lang.StringBuilder r2 = new java.lang.StringBuilder     // Catch:{ all -> 0x00f0 }
                r2.<init>()     // Catch:{ all -> 0x00f0 }
                java.lang.String r3 = "illegal line in exopackage metadata: ["
                r2.append(r3)     // Catch:{ all -> 0x00f0 }
                r2.append(r11)     // Catch:{ all -> 0x00f0 }
                java.lang.String r3 = "]"
                r2.append(r3)     // Catch:{ all -> 0x00f0 }
                java.lang.String r2 = r2.toString()     // Catch:{ all -> 0x00f0 }
                r0.<init>(r2)     // Catch:{ all -> 0x00f0 }
                throw r0     // Catch:{ all -> 0x00f0 }
            L_0x00e5:
                r8.close()     // Catch:{ all -> 0x00fc }
                r10.close()
            L_0x00eb:
                int r7 = r7 + 1
                r6 = 0
                goto L_0x003b
            L_0x00f0:
                r0 = move-exception
                r2 = r0
                r8.close()     // Catch:{ all -> 0x00f6 }
                goto L_0x00fb
            L_0x00f6:
                r0 = move-exception
                r3 = r0
                r2.addSuppressed(r3)     // Catch:{ all -> 0x00fc }
            L_0x00fb:
                throw r2     // Catch:{ all -> 0x00fc }
            L_0x00fc:
                r0 = move-exception
                r2 = r0
                r10.close()     // Catch:{ all -> 0x0102 }
                goto L_0x0107
            L_0x0102:
                r0 = move-exception
                r3 = r0
                r2.addSuppressed(r3)
            L_0x0107:
                throw r2
            L_0x0108:
                int r2 = r3.size()
                java.lang.String[] r2 = new java.lang.String[r2]
                java.lang.Object[] r2 = r3.toArray(r2)
                java.lang.String[] r2 = (java.lang.String[]) r2
                r3 = r19
                r3.setSoSourceAbis(r2)
                int r2 = r0.size()
                com.facebook.soloader.ExoSoSource$FileDso[] r2 = new com.facebook.soloader.ExoSoSource.FileDso[r2]
                java.lang.Object[] r0 = r0.toArray(r2)
                com.facebook.soloader.ExoSoSource$FileDso[] r0 = (com.facebook.soloader.ExoSoSource.FileDso[]) r0
                r1.mDsos = r0
                return
            */
            throw new UnsupportedOperationException("Method not decompiled: com.facebook.soloader.ExoSoSource.ExoUnpacker.<init>(com.facebook.soloader.ExoSoSource, com.facebook.soloader.UnpackingSoSource):void");
        }

        public UnpackingSoSource.DsoManifest getDsoManifest() throws IOException {
            return new UnpackingSoSource.DsoManifest(this.mDsos);
        }

        public UnpackingSoSource.InputDsoIterator openDsoIterator() throws IOException {
            return new FileBackedInputDsoIterator();
        }

        private final class FileBackedInputDsoIterator extends UnpackingSoSource.InputDsoIterator {
            private int mCurrentDso;

            private FileBackedInputDsoIterator() {
            }

            public boolean hasNext() {
                return this.mCurrentDso < ExoUnpacker.this.mDsos.length;
            }

            public UnpackingSoSource.InputDso next() throws IOException {
                FileDso[] access$100 = ExoUnpacker.this.mDsos;
                int i = this.mCurrentDso;
                this.mCurrentDso = i + 1;
                FileDso fileDso = access$100[i];
                FileInputStream fileInputStream = new FileInputStream(fileDso.backingFile);
                try {
                    return new UnpackingSoSource.InputDsoStream(fileDso, fileInputStream);
                } catch (Throwable th) {
                    fileInputStream.close();
                    throw th;
                }
            }
        }
    }

    private static final class FileDso extends UnpackingSoSource.Dso {
        final File backingFile;

        FileDso(String str, String str2, File file) {
            super(str, str2);
            this.backingFile = file;
        }
    }
}
    
Download file