CrackMe.apk
Download file
package com.facebook.imagepipeline.platform;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import com.facebook.common.internal.Preconditions;
import com.facebook.common.memory.PooledByteBuffer;
import com.facebook.common.references.CloseableReference;
import com.facebook.imagepipeline.memory.FlexByteArrayPool;
import com.facebook.imagepipeline.nativecode.DalvikPurgeableDecoder;
public class KitKatPurgeableDecoder extends DalvikPurgeableDecoder {
private final FlexByteArrayPool mFlexByteArrayPool;
public KitKatPurgeableDecoder(FlexByteArrayPool flexByteArrayPool) {
this.mFlexByteArrayPool = flexByteArrayPool;
}
/* access modifiers changed from: protected */
public Bitmap decodeByteArrayAsPurgeable(CloseableReference<PooledByteBuffer> closeableReference, BitmapFactory.Options options) {
PooledByteBuffer pooledByteBuffer = closeableReference.get();
int size = pooledByteBuffer.size();
CloseableReference<byte[]> closeableReference2 = this.mFlexByteArrayPool.get(size);
try {
byte[] bArr = closeableReference2.get();
pooledByteBuffer.read(0, bArr, 0, size);
return (Bitmap) Preconditions.checkNotNull(BitmapFactory.decodeByteArray(bArr, 0, size, options), "BitmapFactory returned null");
} finally {
CloseableReference.closeSafely((CloseableReference<?>) closeableReference2);
}
}
/* access modifiers changed from: protected */
public Bitmap decodeJPEGByteArrayAsPurgeable(CloseableReference<PooledByteBuffer> closeableReference, int i, BitmapFactory.Options options) {
byte[] bArr = endsWithEOI(closeableReference, i) ? null : EOI;
PooledByteBuffer pooledByteBuffer = closeableReference.get();
Preconditions.checkArgument(Boolean.valueOf(i <= pooledByteBuffer.size()));
int i2 = i + 2;
CloseableReference<byte[]> closeableReference2 = this.mFlexByteArrayPool.get(i2);
try {
byte[] bArr2 = closeableReference2.get();
pooledByteBuffer.read(0, bArr2, 0, i);
if (bArr != null) {
putEOI(bArr2, i);
i = i2;
}
return (Bitmap) Preconditions.checkNotNull(BitmapFactory.decodeByteArray(bArr2, 0, i, options), "BitmapFactory returned null");
} finally {
CloseableReference.closeSafely((CloseableReference<?>) closeableReference2);
}
}
private static void putEOI(byte[] bArr, int i) {
bArr[i] = -1;
bArr[i + 1] = -39;
}
}
Download file