CrackMe.apk

Download file
    package com.facebook.soloader;

import java.io.Closeable;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.channels.FileLock;
import javax.annotation.Nullable;

public final class FileLocker implements Closeable {
    @Nullable
    private FileLock mLock;
    private FileOutputStream mLockFileOutputStream;

    public static FileLocker lock(File file) throws IOException {
        return new FileLocker(file, false);
    }

    @Nullable
    public static FileLocker tryLock(File file) throws IOException {
        FileLocker fileLocker = new FileLocker(file, true);
        if (fileLocker.mLock != null) {
            return fileLocker;
        }
        fileLocker.close();
        return null;
    }

    private void init(File file, boolean z) throws IOException {
        FileLock fileLock;
        FileOutputStream fileOutputStream = new FileOutputStream(file);
        this.mLockFileOutputStream = fileOutputStream;
        if (z) {
            try {
                fileLock = fileOutputStream.getChannel().tryLock();
            } catch (IOException unused) {
                fileLock = null;
            }
        } else {
            try {
                fileLock = fileOutputStream.getChannel().lock();
            } catch (Throwable th) {
                this.mLockFileOutputStream.close();
                throw th;
            }
        }
        if (fileLock == null) {
            this.mLockFileOutputStream.close();
        }
        this.mLock = fileLock;
    }

    private FileLocker(File file, boolean z) throws IOException {
        init(file, z);
    }

    public void close() throws IOException {
        try {
            FileLock fileLock = this.mLock;
            if (fileLock != null) {
                fileLock.release();
            }
        } finally {
            this.mLockFileOutputStream.close();
        }
    }
}
    
Download file