| Code with Finding: |
/*
* Decompiled with CFR 0_128.
*
* Could not load the following classes:
* android.os.Build
* android.os.Build$VERSION
* android.os.Process
*/
package com;
import android.os.Build;
import android.os.Process;
import java.io.ByteArrayOutputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
public final class a {
private static final byte[] a;
public static int b;
private static final String[] z;
/*
* Enabled aggressive block sorting
*/
static {
String[] arrstring = new String[16];
String string = "\u0014a3\u0003\u0006aP\u001bMQ%\\\u001bI\u001e/Z\u0001\u000eM4E\u0005AL5P\u0011";
int n = -1;
String[] arrstring2 = arrstring;
int n2 = 0;
block23 : do {
char[] arrc = string.toCharArray();
int n3 = arrc.length;
int n4 = 0;
do {
int n5;
if (n3 <= n4) {
String string2 = new String(arrc).intern();
switch (n) {
default: {
arrstring2[n2] = string2;
string = "\u0014a3\u0003\u0006";
n2 = 1;
arrstring2 = arrstring;
n = 0;
continue block23;
}
case 0: {
arrstring2[n2] = string2;
string = "\u0007T\u001cB[%\u0015\u0001A\u001e&P\u001bKL A\u0010\u000eM$P\u0011";
n2 = 2;
arrstring2 = arrstring;
n = 1;
continue block23;
}
case 1: {
arrstring2[n2] = string2;
string = "\u0012p'g\r";
n2 = 3;
arrstring2 = arrstring;
n = 2;
continue block23;
}
case 2: {
arrstring2[n2] = string2;
string = "\u0012}4\u001fn\u0013{2\u000eP.AUOH \\\u0019O\\-P";
n2 = 4;
arrstring2 = arrstring;
n = 3;
continue block23;
}
case 3: {
arrstring2[n2] = string2;
n2 = 5;
arrstring2 = arrstring;
string = "\u0012}4\u001fn\u0013{2";
n = 4;
continue block23;
}
case 4: {
arrstring2[n2] = string2;
n2 = 6;
string = "\u0012P\u0016[L$g\u0014@Z.X[}v\u0000\u0004%|p\u0006";
n = 5;
arrstring2 = arrstring;
continue block23;
}
case 5: {
arrstring2[n2] = string2;
n2 = 7;
string = "\u0012P\u0016[L$g\u0014@Z.X[I[5|\u001b]J [\u0016K\u0016cf=o\u000f\u0011g;i\u001ch\u0015\u0017O]*P\u0011\u000e\\8\u0015\u0002\\Q/RU~L.C\u001cJ[3\u000fU";
n = 6;
arrstring2 = arrstring;
continue block23;
}
case 6: {
arrstring2[n2] = string2;
n2 = 8;
string = "/P\u0002\u000em$V\u0000\\[\u0013T\u001bJQ,\u001d\\\u000e\\ V\u001eKZaW\f\u000eI3Z\u001bI\u001e\u0011G\u001aXW%P\u0007\u0014\u001e";
n = 7;
arrstring2 = arrstring;
continue block23;
}
case 7: {
arrstring2[n2] = string2;
n2 = 9;
string = "\u0014[\u0010VN$V\u0001KZa[\u0000C\\$GUAXaW\fZ[2\u0015\u0007K_%\u0015\u0013\\Q,\u00159GP4MU~l\u000frO\u000e";
n = 8;
arrstring2 = arrstring;
continue block23;
}
case 8: {
arrstring2[n2] = string2;
n2 = 10;
string = "\u0013t;ja2P\u0010J";
n = 9;
arrstring2 = arrstring;
continue block23;
}
case 9: {
arrstring2[n2] = string2;
n2 = 11;
string = ".G\u0012\u0000_1T\u0016F[o]\u0014\\S.[\f\u0000F/P\u0001\u0000N3Z\u0003GZ$G[DM2P[`_5\\\u0003K}3L\u0005ZQ";
n = 10;
arrstring2 = arrstring;
continue block23;
}
case 10: {
arrstring2[n2] = string2;
n2 = 12;
string = "\u0007T\u001cB[%\u0015\u0001A\u001e2P\u0010J\u001e\u000eE\u0010@m\u0012yU~l\u000fr";
n = 11;
arrstring2 = arrstring;
continue block23;
}
case 11: {
arrstring2[n2] = string2;
n2 = 13;
string = "nQ\u0010X\u00114G\u0014@Z.X";
n = 12;
arrstring2 = arrstring;
continue block23;
}
case 12: {
arrstring2[n2] = string2;
n2 = 14;
string = ".G\u0012\u0000_1T\u0016F[o]\u0014\\S.[\f\u0000F/P\u0001\u0000N3Z\u0003GZ$G[DM2P[`_5\\\u0003K}3L\u0005ZQ";
n = 13;
arrstring2 = arrstring;
continue block23;
}
case 13: {
arrstring2[n2] = string2;
n2 = 15;
string = "\u0013t;ja-Z\u0014Ja'\\\u0019K";
n = 14;
arrstring2 = arrstring;
continue block23;
}
case 14:
}
arrstring2[n2] = string2;
z = arrstring;
a = a.c();
return;
}
char c = arrc[n4];
switch (n4 % 5) {
default: {
n5 = 62;
break;
}
case 0: {
n5 = 65;
break;
}
case 1: {
n5 = 53;
break;
}
case 2: {
n5 = 117;
break;
}
case 3: {
n5 = 46;
}
}
arrc[n4] = (char)(n5 ^ c);
++n4;
} while (true);
break;
} while (true);
}
public static void a() {
a.f();
a.g();
}
private static String b() {
try {
String string = (String)Build.class.getField(z[3]).get(null);
return string;
}
catch (Exception exception) {
return null;
}
}
/*
* Loose catch block
* Enabled aggressive block sorting
* Enabled unnecessary exception pruning
* Enabled aggressive exception aggregation
* Lifted jumps to return sites
*/
private static byte[] c() {
String string;
StringBuilder stringBuilder = new StringBuilder();
String string2 = Build.FINGERPRINT;
if (string2 != null) {
stringBuilder.append(string2);
}
if ((string = a.b()) != null) {
stringBuilder.append(string);
}
try {
return stringBuilder.toString().getBytes(z[1]);
}
catch (UnsupportedEncodingException unsupportedEncodingException) {
throw new RuntimeException(z[0]);
}
catch (UnsupportedEncodingException unsupportedEncodingException) {
throw unsupportedEncodingException;
}
catch (UnsupportedEncodingException unsupportedEncodingException) {
throw unsupportedEncodingException;
}
}
static byte[] d() {
return a.e();
}
private static byte[] e() {
try {
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
DataOutputStream dataOutputStream = new DataOutputStream(byteArrayOutputStream);
dataOutputStream.writeLong(System.currentTimeMillis());
dataOutputStream.writeLong(System.nanoTime());
dataOutputStream.writeInt(Process.myPid());
dataOutputStream.writeInt(Process.myUid());
dataOutputStream.write(a);
dataOutputStream.close();
byte[] arrby = byteArrayOutputStream.toByteArray();
return arrby;
}
catch (IOException iOException) {
throw new SecurityException(z[2], iOException);
}
}
/*
* Loose catch block
* Enabled aggressive block sorting
* Enabled unnecessary exception pruning
* Enabled aggressive exception aggregation
* Lifted jumps to return sites
*/
private static void f() {
if (Build.VERSION.SDK_INT < 16) return;
int n2 = Build.VERSION.SDK_INT;
if (n2 > 18) {
return;
}
Method method = Class.forName(z[11]).getMethod(z[10], byte[].class);
Object[] arrobject = new Object[]{a.e()};
method.invoke(null, arrobject);
Class class_ = Class.forName(z[14]);
String string = z[15];
Class[] arrclass = new Class[]{String.class, Long.TYPE};
Method method2 = class_.getMethod(string, arrclass);
Object[] arrobject2 = new Object[]{z[13], 1024};
int n = (Integer)method2.invoke(null, arrobject2);
if (n == 1024) return;
{
catch (Exception exception) {
throw new SecurityException(z[12], exception);
}
}
throw new IOException(z[9] + n);
}
/*
* Exception decompiling
*/
private static void g() {
// This method has failed to decompile. When submitting a bug report, please provide this stack trace, and (if you hold appropriate legal rights) the relevant class file.
// org.benf.cfr.reader.util.ConfusedCFRException: Started 2 blocks at once
// org.benf.cfr.reader.bytecode.analysis.opgraph.Op04StructuredStatement.getStartingBlocks(Op04StructuredStatement.java:395)
// org.benf.cfr.reader.bytecode.analysis.opgraph.Op04StructuredStatement.buildNestedBlocks(Op04StructuredStatement.java:473)
// org.benf.cfr.reader.bytecode.analysis.opgraph.Op03SimpleStatement.createInitialStructuredBlock(Op03SimpleStatement.java:2880)
// org.benf.cfr.reader.bytecode.CodeAnalyser.getAnalysisInner(CodeAnalyser.java:816)
// org.benf.cfr.reader.bytecode.CodeAnalyser.getAnalysisOrWrapFail(CodeAnalyser.java:196)
// org.benf.cfr.reader.bytecode.CodeAnalyser.getAnalysis(CodeAnalyser.java:141)
// org.benf.cfr.reader.entities.attributes.AttributeCode.analyse(AttributeCode.java:95)
// org.benf.cfr.reader.entities.Method.analyse(Method.java:370)
// org.benf.cfr.reader.entities.ClassFile.analyseMid(ClassFile.java:852)
// org.benf.cfr.reader.entities.ClassFile.analyseTop(ClassFile.java:753)
// org.benf.cfr.reader.Main.doClass(Main.java:46)
// org.benf.cfr.reader.Main.main(Main.java:190)
// ReviewPreparator.unZipIt(ReviewPreparator.java:54)
// PrepareAndSendToReview$.$anonfun$prepareAndSendToReview$4(PrepareAndSendToReview.scala:37)
// scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:234)
// scala.collection.immutable.HashSet$HashSet1.foreach(HashSet.scala:320)
// scala.collection.immutable.HashSet$HashTrieSet.foreach(HashSet.scala:976)
// scala.collection.TraversableLike.map(TraversableLike.scala:234)
// scala.collection.TraversableLike.map$(TraversableLike.scala:227)
// scala.collection.AbstractSet.scala$collection$SetLike$$super$map(Set.scala:47)
// scala.collection.SetLike.map(SetLike.scala:101)
// scala.collection.SetLike.map$(SetLike.scala:101)
// scala.collection.AbstractSet.map(Set.scala:47)
// PrepareAndSendToReview$.prepareAndSendToReview(PrepareAndSendToReview.scala:35)
// PrepareAndSendToReview$.main(PrepareAndSendToReview.scala:12)
// PrepareAndSendToReview.main(PrepareAndSendToReview.scala)
throw new IllegalStateException("Decompilation failed");
}
}
|