IDEA-149077 Default decompiler is chosen for several classes instead of Fernflower - tests
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2000-2016 JetBrains s.r.o.
|
||||
* Copyright 2000-2017 JetBrains s.r.o.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -58,14 +58,24 @@ public class BulkDecompilationTest {
|
||||
|
||||
@Test
|
||||
public void testJar() {
|
||||
doTestJar("bulk");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testObfuscated() {
|
||||
doTestJar("obfuscated");
|
||||
}
|
||||
|
||||
private void doTestJar(String name) {
|
||||
ConsoleDecompiler decompiler = fixture.getDecompiler();
|
||||
decompiler.addSpace(new File(fixture.getTestDataDir(), "bulk.jar"), true);
|
||||
String jarName = name + ".jar";
|
||||
decompiler.addSpace(new File(fixture.getTestDataDir(), jarName), true);
|
||||
decompiler.decompileContext();
|
||||
|
||||
File unpacked = new File(fixture.getTempDir(), "unpacked");
|
||||
unpack(new File(fixture.getTargetDir(), "bulk.jar"), unpacked);
|
||||
unpack(new File(fixture.getTargetDir(), jarName), unpacked);
|
||||
|
||||
assertFilesEqual(new File(fixture.getTestDataDir(), "bulk"), unpacked);
|
||||
assertFilesEqual(new File(fixture.getTestDataDir(), name), unpacked);
|
||||
}
|
||||
|
||||
private static void unpack(File archive, File targetDir) {
|
||||
|
||||
BIN
testData/obfuscated.jar
Normal file
BIN
testData/obfuscated.jar
Normal file
Binary file not shown.
39
testData/obfuscated/a.java
Normal file
39
testData/obfuscated/a.java
Normal file
@@ -0,0 +1,39 @@
|
||||
import java.util.Date;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
public interface a<K, V> {
|
||||
String a();
|
||||
|
||||
int b();
|
||||
|
||||
int c();
|
||||
|
||||
long d();
|
||||
|
||||
List<Long> e();
|
||||
|
||||
Long f();
|
||||
|
||||
List<Long> g();
|
||||
|
||||
Date h();
|
||||
|
||||
void i();
|
||||
|
||||
void j();
|
||||
|
||||
V a(K var1);
|
||||
|
||||
V a(K var1, f<K, V> var2);
|
||||
|
||||
void a(K var1, V var2);
|
||||
|
||||
void b(K var1);
|
||||
|
||||
boolean c(K var1);
|
||||
|
||||
Iterator<K> k();
|
||||
|
||||
List<b<K, V>> l();
|
||||
}
|
||||
18
testData/obfuscated/a0.java
Normal file
18
testData/obfuscated/a0.java
Normal file
@@ -0,0 +1,18 @@
|
||||
import java.util.List;
|
||||
import javax.xml.xpath.XPathExpressionException;
|
||||
|
||||
public interface a0 {
|
||||
a0 a(String var1) throws XPathExpressionException;
|
||||
|
||||
List<a0> b(String var1) throws XPathExpressionException;
|
||||
|
||||
a0[] c(String var1) throws XPathExpressionException;
|
||||
|
||||
String d(String var1) throws XPathExpressionException;
|
||||
|
||||
o e(String var1) throws XPathExpressionException;
|
||||
|
||||
boolean f(String var1) throws XPathExpressionException;
|
||||
|
||||
String a();
|
||||
}
|
||||
91
testData/obfuscated/a1.java
Normal file
91
testData/obfuscated/a1.java
Normal file
@@ -0,0 +1,91 @@
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import javax.xml.xpath.XPathConstants;
|
||||
import javax.xml.xpath.XPathExpressionException;
|
||||
import javax.xml.xpath.XPathFactory;
|
||||
import org.w3c.dom.Node;
|
||||
import org.w3c.dom.NodeList;
|
||||
|
||||
public class a1 implements a0 {
|
||||
private Node a;
|
||||
private static final XPathFactory b = XPathFactory.newInstance();
|
||||
|
||||
public a1(Node var1) {
|
||||
this.a = var1;
|
||||
}
|
||||
|
||||
public a0 a(String var1) throws XPathExpressionException {
|
||||
Node var2 = (Node)b.newXPath().compile(var1).evaluate(this.a, XPathConstants.NODE);
|
||||
|
||||
try {
|
||||
if (var2 == null) {
|
||||
return null;
|
||||
}
|
||||
} catch (XPathExpressionException var3) {
|
||||
throw var3;
|
||||
}
|
||||
|
||||
return new a1(var2);
|
||||
}
|
||||
|
||||
public List<a0> b(String var1) throws XPathExpressionException {
|
||||
int var5 = bc.e;
|
||||
NodeList var2 = (NodeList)b.newXPath().compile(var1).evaluate(this.a, XPathConstants.NODESET);
|
||||
ArrayList var3 = new ArrayList(var2.getLength());
|
||||
int var4 = 0;
|
||||
|
||||
ArrayList var10000;
|
||||
while(true) {
|
||||
if (var4 < var2.getLength()) {
|
||||
try {
|
||||
var10000 = var3;
|
||||
if (var5 != 0) {
|
||||
break;
|
||||
}
|
||||
|
||||
var3.add(new a1(var2.item(var4)));
|
||||
++var4;
|
||||
if (var5 == 0) {
|
||||
continue;
|
||||
}
|
||||
} catch (XPathExpressionException var7) {
|
||||
throw var7;
|
||||
}
|
||||
|
||||
int var6 = ap.c;
|
||||
++var6;
|
||||
ap.c = var6;
|
||||
}
|
||||
|
||||
var10000 = var3;
|
||||
break;
|
||||
}
|
||||
|
||||
return var10000;
|
||||
}
|
||||
|
||||
public a0[] c(String var1) throws XPathExpressionException {
|
||||
List var2 = this.b(var1);
|
||||
return (a0[])var2.toArray(new a0[var2.size()]);
|
||||
}
|
||||
|
||||
public String d(String param1) throws XPathExpressionException {
|
||||
// $FF: Couldn't be decompiled
|
||||
}
|
||||
|
||||
public boolean f(String param1) throws XPathExpressionException {
|
||||
// $FF: Couldn't be decompiled
|
||||
}
|
||||
|
||||
public String a() {
|
||||
return this.a.getNodeName();
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return this.a();
|
||||
}
|
||||
|
||||
public o e(String var1) throws XPathExpressionException {
|
||||
return o.b((Object)this.d(var1));
|
||||
}
|
||||
}
|
||||
93
testData/obfuscated/a2.java
Normal file
93
testData/obfuscated/a2.java
Normal file
@@ -0,0 +1,93 @@
|
||||
import java.io.File;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.IOException;
|
||||
import java.net.URL;
|
||||
import org.xml.sax.EntityResolver;
|
||||
import org.xml.sax.InputSource;
|
||||
import org.xml.sax.SAXException;
|
||||
|
||||
class a2 implements EntityResolver {
|
||||
final bc a;
|
||||
private static final String b;
|
||||
|
||||
a2(bc var1) {
|
||||
this.a = var1;
|
||||
}
|
||||
|
||||
public InputSource resolveEntity(String var1, String var2) throws SAXException, IOException {
|
||||
URL var3 = new URL(var2);
|
||||
if (b.equals(var3.getProtocol())) {
|
||||
File var4 = new File(var3.getFile());
|
||||
|
||||
try {
|
||||
if (var4.exists()) {
|
||||
return new InputSource(new FileInputStream(var4));
|
||||
}
|
||||
} catch (SAXException var5) {
|
||||
throw var5;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
static {
|
||||
char[] var10000 = "\u001d2\u00049".toCharArray();
|
||||
int var10002 = var10000.length;
|
||||
int var1 = 0;
|
||||
char[] var10001 = var10000;
|
||||
int var2 = var10002;
|
||||
int var10003;
|
||||
char[] var4;
|
||||
if (var10002 <= 1) {
|
||||
var4 = var10000;
|
||||
var10003 = var1;
|
||||
} else {
|
||||
var10001 = var10000;
|
||||
var2 = var10002;
|
||||
if (var10002 <= var1) {
|
||||
b = (new String(var10000)).intern();
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10000;
|
||||
var10003 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
char var10004 = var4[var10003];
|
||||
byte var10005;
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10005 = 123;
|
||||
break;
|
||||
case 1:
|
||||
var10005 = 91;
|
||||
break;
|
||||
case 2:
|
||||
var10005 = 104;
|
||||
break;
|
||||
case 3:
|
||||
var10005 = 92;
|
||||
break;
|
||||
default:
|
||||
var10005 = 15;
|
||||
}
|
||||
|
||||
var4[var10003] = (char)(var10004 ^ var10005);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10003 = var2;
|
||||
var4 = var10001;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
b = (new String(var10001)).intern();
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10001;
|
||||
var10003 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
2068
testData/obfuscated/a3.java
Normal file
2068
testData/obfuscated/a3.java
Normal file
File diff suppressed because it is too large
Load Diff
164
testData/obfuscated/a4.java
Normal file
164
testData/obfuscated/a4.java
Normal file
@@ -0,0 +1,164 @@
|
||||
import java.text.DateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.logging.Level;
|
||||
|
||||
@aa(
|
||||
a = {ac.class}
|
||||
)
|
||||
public class a4 implements ac {
|
||||
private static boolean a;
|
||||
private static y<ad> b;
|
||||
private static final String[] c;
|
||||
|
||||
public static void main(String[] var0) throws Exception {
|
||||
t.a.setLevel(Level.FINE);
|
||||
t.a();
|
||||
a = true;
|
||||
|
||||
while(true) {
|
||||
Thread.sleep(10000L);
|
||||
System.out.println(c[1] + ((ad)b.a()).a());
|
||||
}
|
||||
}
|
||||
|
||||
public void a() throws Exception {
|
||||
try {
|
||||
if (a) {
|
||||
System.out.println(c[0] + DateFormat.getTimeInstance().format(new Date()));
|
||||
}
|
||||
|
||||
} catch (Exception var1) {
|
||||
throw var1;
|
||||
}
|
||||
}
|
||||
|
||||
static {
|
||||
String[] var10000;
|
||||
int var1;
|
||||
int var2;
|
||||
char[] var10003;
|
||||
char[] var10004;
|
||||
char[] var4;
|
||||
int var10005;
|
||||
int var10006;
|
||||
char var10007;
|
||||
byte var10008;
|
||||
label51: {
|
||||
var10000 = new String[2];
|
||||
var10003 = "f\u0019\u0016n-[\u001c\u0016n0AKS".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
break label51;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 50;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 113;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 115;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 78;
|
||||
break;
|
||||
default:
|
||||
var10008 = 89;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
break;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var10000[0] = (new String(var10004)).intern();
|
||||
var10003 = "~\u0010\u0000:y[\u001f\u0005!:S\u0005\u001a!7\bQ".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
var10000[1] = (new String(var10003)).intern();
|
||||
c = var10000;
|
||||
a = false;
|
||||
b = y.a(ad.class);
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 50;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 113;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 115;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 78;
|
||||
break;
|
||||
default:
|
||||
var10008 = 89;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
var10000[1] = (new String(var10004)).intern();
|
||||
c = var10000;
|
||||
a = false;
|
||||
b = y.a(ad.class);
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
921
testData/obfuscated/a5.java
Normal file
921
testData/obfuscated/a5.java
Normal file
@@ -0,0 +1,921 @@
|
||||
import java.text.DecimalFormat;
|
||||
import java.util.Iterator;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
public class a5 {
|
||||
private static y<ai> a;
|
||||
private static final String[] b;
|
||||
|
||||
public static void main(String[] var0) throws Exception {
|
||||
t.a();
|
||||
|
||||
while(true) {
|
||||
System.out.println(b[1]);
|
||||
Thread.sleep(TimeUnit.MILLISECONDS.convert(60L, TimeUnit.SECONDS));
|
||||
a();
|
||||
System.out.println(b[0]);
|
||||
}
|
||||
}
|
||||
|
||||
private static void a() {
|
||||
boolean var2 = a7.b;
|
||||
Iterator var0 = ((ai)a.a()).a().iterator();
|
||||
|
||||
while(var0.hasNext()) {
|
||||
al var1 = (al)var0.next();
|
||||
System.out.println(var1.a().a() + b[3] + var1.a().b() + "\n" + DecimalFormat.getNumberInstance().format(var1.d()) + " " + var1.a().c() + b[4] + DecimalFormat.getNumberInstance().format(var1.e()) + " " + var1.a().c() + b[2] + DecimalFormat.getNumberInstance().format(var1.f()) + " " + var1.a().c() + "\n");
|
||||
if (var2) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static {
|
||||
String[] var10000 = new String[5];
|
||||
char[] var10003 = "`\u001dY>>`\u001dY>>`\u001dY>>`\u001dY>>`\u001dY>>`\u001dY>>`\u001dY>".toCharArray();
|
||||
int var10005 = var10003.length;
|
||||
int var1 = 0;
|
||||
char[] var10004 = var10003;
|
||||
int var2 = var10005;
|
||||
char[] var4;
|
||||
int var10006;
|
||||
char var10007;
|
||||
byte var10008;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
var10007 = var10003[var1];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 77;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 48;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 116;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 19;
|
||||
break;
|
||||
default:
|
||||
var10008 = 19;
|
||||
}
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
label316: {
|
||||
var10000[0] = (new String(var10003)).intern();
|
||||
var10003 = "\u001aQ\u001dgz#WT|}(\u0010\u0019z}8D\u0011==c".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
break label316;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 77;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 48;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 116;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 19;
|
||||
break;
|
||||
default:
|
||||
var10008 = 19;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
break;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var10000[1] = (new String(var10004)).intern();
|
||||
var10003 = "a\u00105etm\u0002@{)m".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
var10007 = var10003[var1];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 77;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 48;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 116;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 19;
|
||||
break;
|
||||
default:
|
||||
var10008 = 19;
|
||||
}
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
label384: {
|
||||
var10000[2] = (new String(var10003)).intern();
|
||||
var10003 = "m\u001dT".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
break label384;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 77;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 48;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 116;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 19;
|
||||
break;
|
||||
default:
|
||||
var10008 = 19;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
break;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var10000[3] = (new String(var10004)).intern();
|
||||
var10003 = "a\u00105etc\u0010G#~$^N3".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
var10000[4] = (new String(var10003)).intern();
|
||||
b = var10000;
|
||||
a = y.a(ai.class);
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 77;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 48;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 116;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 19;
|
||||
break;
|
||||
default:
|
||||
var10008 = 19;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
var10000[4] = (new String(var10004)).intern();
|
||||
b = var10000;
|
||||
a = y.a(ai.class);
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
var10007 = var10003[var1];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 77;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 48;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 116;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 19;
|
||||
break;
|
||||
default:
|
||||
var10008 = 19;
|
||||
}
|
||||
}
|
||||
|
||||
while(true) {
|
||||
while(true) {
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
var10007 = var10004[var2];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 77;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 48;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 116;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 19;
|
||||
break;
|
||||
default:
|
||||
var10008 = 19;
|
||||
}
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
label492: {
|
||||
var10000[2] = (new String(var10004)).intern();
|
||||
var10003 = "m\u001dT".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
break label492;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 77;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 48;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 116;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 19;
|
||||
break;
|
||||
default:
|
||||
var10008 = 19;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
break;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var10000[3] = (new String(var10004)).intern();
|
||||
var10003 = "a\u00105etc\u0010G#~$^N3".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
var10000[4] = (new String(var10003)).intern();
|
||||
b = var10000;
|
||||
a = y.a(ai.class);
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 77;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 48;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 116;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 19;
|
||||
break;
|
||||
default:
|
||||
var10008 = 19;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
var10000[4] = (new String(var10004)).intern();
|
||||
b = var10000;
|
||||
a = y.a(ai.class);
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
var10007 = var10004[var1];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 77;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 48;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 116;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 19;
|
||||
break;
|
||||
default:
|
||||
var10008 = 19;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
var10007 = var10003[var1];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 77;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 48;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 116;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 19;
|
||||
break;
|
||||
default:
|
||||
var10008 = 19;
|
||||
}
|
||||
}
|
||||
|
||||
while(true) {
|
||||
while(true) {
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
var10007 = var10004[var2];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 77;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 48;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 116;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 19;
|
||||
break;
|
||||
default:
|
||||
var10008 = 19;
|
||||
}
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
label129: {
|
||||
var10000[0] = (new String(var10004)).intern();
|
||||
var10003 = "\u001aQ\u001dgz#WT|}(\u0010\u0019z}8D\u0011==c".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
break label129;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 77;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 48;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 116;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 19;
|
||||
break;
|
||||
default:
|
||||
var10008 = 19;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
break;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var10000[1] = (new String(var10004)).intern();
|
||||
var10003 = "a\u00105etm\u0002@{)m".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
var10007 = var10003[var1];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 77;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 48;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 116;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 19;
|
||||
break;
|
||||
default:
|
||||
var10008 = 19;
|
||||
}
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
label173: {
|
||||
var10000[2] = (new String(var10003)).intern();
|
||||
var10003 = "m\u001dT".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
break label173;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 77;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 48;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 116;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 19;
|
||||
break;
|
||||
default:
|
||||
var10008 = 19;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
break;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var10000[3] = (new String(var10004)).intern();
|
||||
var10003 = "a\u00105etc\u0010G#~$^N3".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
var10000[4] = (new String(var10003)).intern();
|
||||
b = var10000;
|
||||
a = y.a(ai.class);
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 77;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 48;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 116;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 19;
|
||||
break;
|
||||
default:
|
||||
var10008 = 19;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
var10000[4] = (new String(var10004)).intern();
|
||||
b = var10000;
|
||||
a = y.a(ai.class);
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
var10007 = var10003[var1];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 77;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 48;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 116;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 19;
|
||||
break;
|
||||
default:
|
||||
var10008 = 19;
|
||||
}
|
||||
}
|
||||
|
||||
while(true) {
|
||||
while(true) {
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
var10007 = var10004[var2];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 77;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 48;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 116;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 19;
|
||||
break;
|
||||
default:
|
||||
var10008 = 19;
|
||||
}
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
label93: {
|
||||
var10000[2] = (new String(var10004)).intern();
|
||||
var10003 = "m\u001dT".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
break label93;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 77;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 48;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 116;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 19;
|
||||
break;
|
||||
default:
|
||||
var10008 = 19;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
break;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var10000[3] = (new String(var10004)).intern();
|
||||
var10003 = "a\u00105etc\u0010G#~$^N3".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
var10000[4] = (new String(var10003)).intern();
|
||||
b = var10000;
|
||||
a = y.a(ai.class);
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 77;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 48;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 116;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 19;
|
||||
break;
|
||||
default:
|
||||
var10008 = 19;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
var10000[4] = (new String(var10004)).intern();
|
||||
b = var10000;
|
||||
a = y.a(ai.class);
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
var10007 = var10004[var1];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 77;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 48;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 116;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 19;
|
||||
break;
|
||||
default:
|
||||
var10008 = 19;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
var10007 = var10004[var1];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 77;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 48;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 116;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 19;
|
||||
break;
|
||||
default:
|
||||
var10008 = 19;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
5
testData/obfuscated/a6.java
Normal file
5
testData/obfuscated/a6.java
Normal file
@@ -0,0 +1,5 @@
|
||||
public class a6 {
|
||||
public static void main(String[] param0) throws Exception {
|
||||
// $FF: Couldn't be decompiled
|
||||
}
|
||||
}
|
||||
139
testData/obfuscated/a7.java
Normal file
139
testData/obfuscated/a7.java
Normal file
@@ -0,0 +1,139 @@
|
||||
import java.io.FileInputStream;
|
||||
import java.io.InputStream;
|
||||
|
||||
public class a7 {
|
||||
public static boolean b;
|
||||
private static final String[] a;
|
||||
|
||||
public static void main(String[] var0) throws Exception {
|
||||
bc var1 = new bc();
|
||||
var1.a(a[0], new a8());
|
||||
var1.a((InputStream)(new FileInputStream(a[1])));
|
||||
}
|
||||
|
||||
static {
|
||||
String[] var10000;
|
||||
int var1;
|
||||
int var2;
|
||||
char[] var10003;
|
||||
char[] var10004;
|
||||
char[] var4;
|
||||
int var10005;
|
||||
int var10006;
|
||||
char var10007;
|
||||
byte var10008;
|
||||
label51: {
|
||||
var10000 = new String[2];
|
||||
var10003 = "Z7wN".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
break label51;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 52;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 88;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 19;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 43;
|
||||
break;
|
||||
default:
|
||||
var10008 = 10;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
break;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var10000[0] = (new String(var10004)).intern();
|
||||
var10003 = "G*p\u0004oL9~[fQ+<_oG,=SgX".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
var10000[1] = (new String(var10003)).intern();
|
||||
a = var10000;
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 52;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 88;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 19;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 43;
|
||||
break;
|
||||
default:
|
||||
var10008 = 10;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
var10000[1] = (new String(var10004)).intern();
|
||||
a = var10000;
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
405
testData/obfuscated/a8.java
Normal file
405
testData/obfuscated/a8.java
Normal file
@@ -0,0 +1,405 @@
|
||||
final class a8 implements ay {
|
||||
private static final String[] a;
|
||||
|
||||
public void a(a0 param1) {
|
||||
// $FF: Couldn't be decompiled
|
||||
}
|
||||
|
||||
static {
|
||||
String[] var10000;
|
||||
int var1;
|
||||
int var2;
|
||||
char[] var10003;
|
||||
char[] var10004;
|
||||
char[] var4;
|
||||
int var10005;
|
||||
int var10006;
|
||||
char var10007;
|
||||
byte var10008;
|
||||
label115: {
|
||||
var10000 = new String[4];
|
||||
var10003 = "(\u000f7O".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
break label115;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 70;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 110;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 90;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 42;
|
||||
break;
|
||||
default:
|
||||
var10008 = 64;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
break;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var10000[0] = (new String(var10004)).intern();
|
||||
var10003 = "4\u000b)E54\r?Yo4\u000b)E54\r?q\u00002\u0017*O}a\u001a?Y4a3".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
var10007 = var10003[var1];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 70;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 110;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 90;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 42;
|
||||
break;
|
||||
default:
|
||||
var10008 = 64;
|
||||
}
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
label158: {
|
||||
var10000[1] = (new String(var10003)).intern();
|
||||
var10003 = "6\u001c3I%".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
break label158;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 70;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 110;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 90;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 42;
|
||||
break;
|
||||
default:
|
||||
var10008 = 64;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
break;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var10000[2] = (new String(var10004)).intern();
|
||||
var10003 = "4\u000b)E54\r?Yo4\u000b)E54\r?q\u00002\u0017*O}a\u001a?Y4a3".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
var10000[3] = (new String(var10003)).intern();
|
||||
a = var10000;
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 70;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 110;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 90;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 42;
|
||||
break;
|
||||
default:
|
||||
var10008 = 64;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
var10000[3] = (new String(var10004)).intern();
|
||||
a = var10000;
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
var10007 = var10003[var1];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 70;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 110;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 90;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 42;
|
||||
break;
|
||||
default:
|
||||
var10008 = 64;
|
||||
}
|
||||
}
|
||||
|
||||
while(true) {
|
||||
while(true) {
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
var10007 = var10004[var2];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 70;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 110;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 90;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 42;
|
||||
break;
|
||||
default:
|
||||
var10008 = 64;
|
||||
}
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
label79: {
|
||||
var10000[1] = (new String(var10004)).intern();
|
||||
var10003 = "6\u001c3I%".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
break label79;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 70;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 110;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 90;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 42;
|
||||
break;
|
||||
default:
|
||||
var10008 = 64;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
break;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var10000[2] = (new String(var10004)).intern();
|
||||
var10003 = "4\u000b)E54\r?Yo4\u000b)E54\r?q\u00002\u0017*O}a\u001a?Y4a3".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
var10000[3] = (new String(var10003)).intern();
|
||||
a = var10000;
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 70;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 110;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 90;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 42;
|
||||
break;
|
||||
default:
|
||||
var10008 = 64;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
var10000[3] = (new String(var10004)).intern();
|
||||
a = var10000;
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
var10007 = var10004[var1];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 70;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 110;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 90;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 42;
|
||||
break;
|
||||
default:
|
||||
var10008 = 64;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
15
testData/obfuscated/a9.java
Normal file
15
testData/obfuscated/a9.java
Normal file
@@ -0,0 +1,15 @@
|
||||
public class a9 extends RuntimeException {
|
||||
private static final long serialVersionUID = 1180433275280350911L;
|
||||
|
||||
public a9(String var1, Throwable var2) {
|
||||
super(var1, var2);
|
||||
}
|
||||
|
||||
public a9(Throwable var1) {
|
||||
super(var1);
|
||||
}
|
||||
|
||||
public a9(String var1) {
|
||||
super(var1);
|
||||
}
|
||||
}
|
||||
8
testData/obfuscated/a_.java
Normal file
8
testData/obfuscated/a_.java
Normal file
@@ -0,0 +1,8 @@
|
||||
class a_ extends RuntimeException {
|
||||
private static final long serialVersionUID = -7454219131982518216L;
|
||||
final bc a;
|
||||
|
||||
a_(bc var1) {
|
||||
this.a = var1;
|
||||
}
|
||||
}
|
||||
10
testData/obfuscated/aa.java
Normal file
10
testData/obfuscated/aa.java
Normal file
@@ -0,0 +1,10 @@
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.annotation.Target;
|
||||
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Target({ElementType.TYPE})
|
||||
public @interface aa {
|
||||
Class<?>[] a();
|
||||
}
|
||||
43
testData/obfuscated/ab.java
Normal file
43
testData/obfuscated/ab.java
Normal file
@@ -0,0 +1,43 @@
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
public class ab implements u {
|
||||
private List<Object> a = new ArrayList();
|
||||
|
||||
public void a(Class<?> param1) throws Exception {
|
||||
// $FF: Couldn't be decompiled
|
||||
}
|
||||
|
||||
public void a() throws Exception {
|
||||
int var3 = y.d;
|
||||
Iterator var1 = this.a.iterator();
|
||||
|
||||
while(true) {
|
||||
if (var1.hasNext()) {
|
||||
Object var2 = var1.next();
|
||||
|
||||
try {
|
||||
v.a(var2);
|
||||
if (var3 != 0) {
|
||||
break;
|
||||
}
|
||||
|
||||
if (var3 == 0) {
|
||||
continue;
|
||||
}
|
||||
} catch (Exception var5) {
|
||||
throw var5;
|
||||
}
|
||||
|
||||
int var4 = ap.c;
|
||||
++var4;
|
||||
ap.c = var4;
|
||||
}
|
||||
|
||||
this.a.clear();
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
3
testData/obfuscated/ac.java
Normal file
3
testData/obfuscated/ac.java
Normal file
@@ -0,0 +1,3 @@
|
||||
public interface ac {
|
||||
void a() throws Exception;
|
||||
}
|
||||
3
testData/obfuscated/ad.java
Normal file
3
testData/obfuscated/ad.java
Normal file
@@ -0,0 +1,3 @@
|
||||
public interface ad {
|
||||
String a();
|
||||
}
|
||||
51
testData/obfuscated/ae.java
Normal file
51
testData/obfuscated/ae.java
Normal file
@@ -0,0 +1,51 @@
|
||||
import java.text.DateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Timer;
|
||||
import java.util.concurrent.locks.ReentrantLock;
|
||||
|
||||
@aa(
|
||||
a = {ad.class}
|
||||
)
|
||||
public class ae implements ad {
|
||||
@x(
|
||||
a = ac.class
|
||||
)
|
||||
private List<ac> a;
|
||||
private long b = 0L;
|
||||
private Timer c;
|
||||
private ReentrantLock d = new ReentrantLock();
|
||||
public static boolean e;
|
||||
|
||||
public ae() {
|
||||
this.a();
|
||||
}
|
||||
|
||||
public void a() {
|
||||
// $FF: Couldn't be decompiled
|
||||
}
|
||||
|
||||
public void b() {
|
||||
// $FF: Couldn't be decompiled
|
||||
}
|
||||
|
||||
public String a() {
|
||||
try {
|
||||
if (this.b == 0L) {
|
||||
return "-";
|
||||
}
|
||||
} catch (a_ var1) {
|
||||
throw var1;
|
||||
}
|
||||
|
||||
return DateFormat.getDateTimeInstance().format(new Date(this.b));
|
||||
}
|
||||
|
||||
static List a(ae var0) {
|
||||
return var0.a;
|
||||
}
|
||||
|
||||
static long a(ae var0, long var1) {
|
||||
return var0.b = var1;
|
||||
}
|
||||
}
|
||||
3
testData/obfuscated/af.java
Normal file
3
testData/obfuscated/af.java
Normal file
@@ -0,0 +1,3 @@
|
||||
// $FF: synthetic class
|
||||
class af {
|
||||
}
|
||||
32
testData/obfuscated/ag.java
Normal file
32
testData/obfuscated/ag.java
Normal file
@@ -0,0 +1,32 @@
|
||||
public class ag {
|
||||
private long a = 0L;
|
||||
private long[] b = new long[100];
|
||||
private int c = 0;
|
||||
private int d = 0;
|
||||
|
||||
public void a(long param1) {
|
||||
// $FF: Couldn't be decompiled
|
||||
}
|
||||
|
||||
public double a() {
|
||||
try {
|
||||
if (this.d == 0) {
|
||||
return 0.0D;
|
||||
}
|
||||
} catch (a_ var4) {
|
||||
throw var4;
|
||||
}
|
||||
|
||||
double var1 = 0.0D;
|
||||
|
||||
for(int var3 = 0; var3 <= this.d; ++var3) {
|
||||
var1 += (double)this.b[var3];
|
||||
}
|
||||
|
||||
return var1 / (double)this.d;
|
||||
}
|
||||
|
||||
public long b() {
|
||||
return this.a;
|
||||
}
|
||||
}
|
||||
28
testData/obfuscated/ah.java
Normal file
28
testData/obfuscated/ah.java
Normal file
@@ -0,0 +1,28 @@
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
public class ah {
|
||||
private volatile long a = -1L;
|
||||
private volatile long b = 0L;
|
||||
|
||||
public void a() {
|
||||
// $FF: Couldn't be decompiled
|
||||
}
|
||||
|
||||
public double a(TimeUnit var1) {
|
||||
return (double)(this.b / this.b(var1));
|
||||
}
|
||||
|
||||
public long b() {
|
||||
return this.b;
|
||||
}
|
||||
|
||||
public long b(TimeUnit var1) {
|
||||
long var2 = System.currentTimeMillis() - this.a;
|
||||
return TimeUnit.MILLISECONDS.convert(var2, var1);
|
||||
}
|
||||
|
||||
public void c() {
|
||||
this.a = System.currentTimeMillis();
|
||||
this.b = 0L;
|
||||
}
|
||||
}
|
||||
39
testData/obfuscated/ai.java
Normal file
39
testData/obfuscated/ai.java
Normal file
@@ -0,0 +1,39 @@
|
||||
import java.util.Collection;
|
||||
import java.util.Collections;
|
||||
import java.util.Iterator;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@aa(
|
||||
a = {ac.class, ai.class}
|
||||
)
|
||||
public class ai implements ac {
|
||||
@x(
|
||||
a = am.class
|
||||
)
|
||||
private List<am> a;
|
||||
private static Map<ak, al> b = Collections.synchronizedMap(new LinkedHashMap());
|
||||
|
||||
public void a() throws Exception {
|
||||
boolean var3 = an.k;
|
||||
Iterator var1 = this.a.iterator();
|
||||
|
||||
while(var1.hasNext()) {
|
||||
am var2 = (am)var1.next();
|
||||
var2.a(new j(this));
|
||||
if (var3) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public Collection<al> a() {
|
||||
return b.values();
|
||||
}
|
||||
|
||||
static Map b() {
|
||||
return b;
|
||||
}
|
||||
}
|
||||
8595
testData/obfuscated/aj.java
Normal file
8595
testData/obfuscated/aj.java
Normal file
File diff suppressed because it is too large
Load Diff
11
testData/obfuscated/ak.java
Normal file
11
testData/obfuscated/ak.java
Normal file
@@ -0,0 +1,11 @@
|
||||
public interface ak {
|
||||
String a();
|
||||
|
||||
String b();
|
||||
|
||||
String c();
|
||||
|
||||
double d();
|
||||
|
||||
Double e();
|
||||
}
|
||||
459
testData/obfuscated/al.java
Normal file
459
testData/obfuscated/al.java
Normal file
@@ -0,0 +1,459 @@
|
||||
import java.text.DecimalFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
public class al implements Comparable<al> {
|
||||
private final ak a;
|
||||
private final List<n<Date, Double>> b = new ArrayList();
|
||||
private final List<n<Date, Double>> c = new ArrayList();
|
||||
private double d = 0.0D;
|
||||
private double e = 0.0D;
|
||||
private double f = 0.0D;
|
||||
private static final String[] g;
|
||||
|
||||
public al(ak var1) {
|
||||
this.a = var1;
|
||||
}
|
||||
|
||||
protected static long a(Date param0, Date param1, TimeUnit param2) {
|
||||
// $FF: Couldn't be decompiled
|
||||
}
|
||||
|
||||
protected static <T> T a(List<T> param0) {
|
||||
// $FF: Couldn't be decompiled
|
||||
}
|
||||
|
||||
protected static <T> T b(List<T> param0) {
|
||||
// $FF: Couldn't be decompiled
|
||||
}
|
||||
|
||||
public void a(double param1) {
|
||||
// $FF: Couldn't be decompiled
|
||||
}
|
||||
|
||||
public ak a() {
|
||||
return this.a;
|
||||
}
|
||||
|
||||
public List<n<Date, Double>> b() {
|
||||
return this.b;
|
||||
}
|
||||
|
||||
public List<n<Date, Double>> c() {
|
||||
return this.c;
|
||||
}
|
||||
|
||||
public double d() {
|
||||
return this.d;
|
||||
}
|
||||
|
||||
public double e() {
|
||||
try {
|
||||
if (this.b.isEmpty()) {
|
||||
return 0.0D;
|
||||
}
|
||||
} catch (a_ var1) {
|
||||
throw var1;
|
||||
}
|
||||
|
||||
return this.e / (double)this.b.size();
|
||||
}
|
||||
|
||||
public double f() {
|
||||
try {
|
||||
if (this.c.isEmpty()) {
|
||||
return 0.0D;
|
||||
}
|
||||
} catch (a_ var1) {
|
||||
throw var1;
|
||||
}
|
||||
|
||||
return this.f / (double)this.c.size();
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
StringBuilder var1 = new StringBuilder(this.a.a());
|
||||
|
||||
try {
|
||||
var1.append(g[2]);
|
||||
var1.append(this.a.b());
|
||||
if (this.a.c() != null) {
|
||||
var1.append(g[1]);
|
||||
var1.append(this.a.c());
|
||||
var1.append("]");
|
||||
}
|
||||
} catch (a_ var2) {
|
||||
throw var2;
|
||||
}
|
||||
|
||||
var1.append(g[0]);
|
||||
var1.append(DecimalFormat.getNumberInstance().format(this.d()));
|
||||
var1.append(" ");
|
||||
var1.append(DecimalFormat.getNumberInstance().format(this.e()));
|
||||
var1.append(" ");
|
||||
var1.append(DecimalFormat.getNumberInstance().format(this.f()));
|
||||
return var1.toString();
|
||||
}
|
||||
|
||||
protected static boolean a(Object param0, Object param1) {
|
||||
// $FF: Couldn't be decompiled
|
||||
}
|
||||
|
||||
public int a(al var1) {
|
||||
try {
|
||||
if (var1 == null) {
|
||||
return 1;
|
||||
}
|
||||
} catch (a_ var2) {
|
||||
throw var2;
|
||||
}
|
||||
|
||||
try {
|
||||
if (a(this.a().a(), var1.a().a())) {
|
||||
return this.a().b().compareTo(var1.a().b());
|
||||
}
|
||||
} catch (a_ var3) {
|
||||
throw var3;
|
||||
}
|
||||
|
||||
return this.a().a().compareTo(var1.a().a());
|
||||
}
|
||||
|
||||
static {
|
||||
String[] var10000 = new String[3];
|
||||
char[] var10003 = "\u0007Y".toCharArray();
|
||||
int var10005 = var10003.length;
|
||||
int var1 = 0;
|
||||
char[] var10004 = var10003;
|
||||
int var2 = var10005;
|
||||
char[] var4;
|
||||
int var10006;
|
||||
char var10007;
|
||||
byte var10008;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
var10007 = var10003[var1];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 61;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 121;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 103;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 113;
|
||||
break;
|
||||
default:
|
||||
var10008 = 123;
|
||||
}
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
label127: {
|
||||
var10000[0] = (new String(var10003)).intern();
|
||||
var10003 = "\u001d\"".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
break label127;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 61;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 121;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 103;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 113;
|
||||
break;
|
||||
default:
|
||||
var10008 = 123;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
break;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var10000[1] = (new String(var10004)).intern();
|
||||
var10003 = "\u001dTG".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
var10000[2] = (new String(var10003)).intern();
|
||||
g = var10000;
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 61;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 121;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 103;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 113;
|
||||
break;
|
||||
default:
|
||||
var10008 = 123;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
var10000[2] = (new String(var10004)).intern();
|
||||
g = var10000;
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
var10007 = var10003[var1];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 61;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 121;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 103;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 113;
|
||||
break;
|
||||
default:
|
||||
var10008 = 123;
|
||||
}
|
||||
}
|
||||
|
||||
while(true) {
|
||||
while(true) {
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
var10007 = var10004[var2];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 61;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 121;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 103;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 113;
|
||||
break;
|
||||
default:
|
||||
var10008 = 123;
|
||||
}
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
label65: {
|
||||
var10000[0] = (new String(var10004)).intern();
|
||||
var10003 = "\u001d\"".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
break label65;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 61;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 121;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 103;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 113;
|
||||
break;
|
||||
default:
|
||||
var10008 = 123;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
break;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var10000[1] = (new String(var10004)).intern();
|
||||
var10003 = "\u001dTG".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
var10000[2] = (new String(var10003)).intern();
|
||||
g = var10000;
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 61;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 121;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 103;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 113;
|
||||
break;
|
||||
default:
|
||||
var10008 = 123;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
var10000[2] = (new String(var10004)).intern();
|
||||
g = var10000;
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
var10007 = var10004[var1];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 61;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 121;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 103;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 113;
|
||||
break;
|
||||
default:
|
||||
var10008 = 123;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
3
testData/obfuscated/am.java
Normal file
3
testData/obfuscated/am.java
Normal file
@@ -0,0 +1,3 @@
|
||||
public interface am {
|
||||
void a(k<ak> var1);
|
||||
}
|
||||
1057
testData/obfuscated/an.java
Normal file
1057
testData/obfuscated/an.java
Normal file
File diff suppressed because it is too large
Load Diff
25
testData/obfuscated/ao.java
Normal file
25
testData/obfuscated/ao.java
Normal file
@@ -0,0 +1,25 @@
|
||||
import java.lang.Thread.State;
|
||||
|
||||
public class ao implements Comparable<ao> {
|
||||
protected String a;
|
||||
protected State b;
|
||||
protected double c;
|
||||
protected long d;
|
||||
protected long e;
|
||||
|
||||
public String a() {
|
||||
return this.a;
|
||||
}
|
||||
|
||||
public State b() {
|
||||
return this.b;
|
||||
}
|
||||
|
||||
public double c() {
|
||||
return this.c;
|
||||
}
|
||||
|
||||
public int a(ao param1) {
|
||||
// $FF: Couldn't be decompiled
|
||||
}
|
||||
}
|
||||
91
testData/obfuscated/ap.java
Normal file
91
testData/obfuscated/ap.java
Normal file
@@ -0,0 +1,91 @@
|
||||
public abstract class ap implements ak {
|
||||
private final String a;
|
||||
private final String b;
|
||||
public static int c;
|
||||
private static final String d;
|
||||
|
||||
public ap(String var1, String var2) {
|
||||
this.b = var1;
|
||||
this.a = var2;
|
||||
}
|
||||
|
||||
public String b() {
|
||||
return this.a;
|
||||
}
|
||||
|
||||
public String a() {
|
||||
return this.b;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
return (this.b + this.a).hashCode();
|
||||
}
|
||||
|
||||
public boolean equals(Object param1) {
|
||||
// $FF: Couldn't be decompiled
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return this.b + d + this.a;
|
||||
}
|
||||
|
||||
static {
|
||||
char[] var10000 = "K\u000eX".toCharArray();
|
||||
int var10002 = var10000.length;
|
||||
int var1 = 0;
|
||||
char[] var10001 = var10000;
|
||||
int var2 = var10002;
|
||||
int var10003;
|
||||
char[] var4;
|
||||
if (var10002 <= 1) {
|
||||
var4 = var10000;
|
||||
var10003 = var1;
|
||||
} else {
|
||||
var10001 = var10000;
|
||||
var2 = var10002;
|
||||
if (var10002 <= var1) {
|
||||
d = (new String(var10000)).intern();
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10000;
|
||||
var10003 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
char var10004 = var4[var10003];
|
||||
byte var10005;
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10005 = 107;
|
||||
break;
|
||||
case 1:
|
||||
var10005 = 35;
|
||||
break;
|
||||
case 2:
|
||||
var10005 = 120;
|
||||
break;
|
||||
case 3:
|
||||
var10005 = 65;
|
||||
break;
|
||||
default:
|
||||
var10005 = 23;
|
||||
}
|
||||
|
||||
var4[var10003] = (char)(var10004 ^ var10005);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10003 = var2;
|
||||
var4 = var10001;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
d = (new String(var10001)).intern();
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10001;
|
||||
var10003 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
29
testData/obfuscated/aq.java
Normal file
29
testData/obfuscated/aq.java
Normal file
@@ -0,0 +1,29 @@
|
||||
public class aq extends ap {
|
||||
private volatile long d;
|
||||
private volatile long e;
|
||||
private final String f;
|
||||
private static final long g = 4611686018427387903L;
|
||||
private final Double h;
|
||||
|
||||
public aq(String var1, String var2, String var3, Double var4) {
|
||||
super(var1, var2);
|
||||
this.f = var3;
|
||||
this.h = var4;
|
||||
}
|
||||
|
||||
public String c() {
|
||||
return this.f;
|
||||
}
|
||||
|
||||
public void a(long param1) {
|
||||
// $FF: Couldn't be decompiled
|
||||
}
|
||||
|
||||
public double d() {
|
||||
// $FF: Couldn't be decompiled
|
||||
}
|
||||
|
||||
public Double e() {
|
||||
return this.h;
|
||||
}
|
||||
}
|
||||
22
testData/obfuscated/ar.java
Normal file
22
testData/obfuscated/ar.java
Normal file
@@ -0,0 +1,22 @@
|
||||
public class ar extends ap {
|
||||
private final String d;
|
||||
private final double e;
|
||||
|
||||
public ar(String var1, String var2, String var3, double var4) {
|
||||
super(var1, var2);
|
||||
this.d = var3;
|
||||
this.e = var4;
|
||||
}
|
||||
|
||||
public String c() {
|
||||
return this.d;
|
||||
}
|
||||
|
||||
public double d() {
|
||||
return this.e;
|
||||
}
|
||||
|
||||
public Double e() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
49
testData/obfuscated/as.java
Normal file
49
testData/obfuscated/as.java
Normal file
@@ -0,0 +1,49 @@
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
public class as extends ap {
|
||||
private volatile long d = 0L;
|
||||
private volatile long e;
|
||||
private final TimeUnit f;
|
||||
private final Double g;
|
||||
private String h;
|
||||
private double i;
|
||||
|
||||
public as(String var1, String var2, TimeUnit var3, Double var4, String var5) {
|
||||
super(var1, var2);
|
||||
this.f = var3;
|
||||
this.h = var5;
|
||||
this.g = var4;
|
||||
this.e = System.currentTimeMillis();
|
||||
}
|
||||
|
||||
public String c() {
|
||||
return this.h;
|
||||
}
|
||||
|
||||
public void a() {
|
||||
// $FF: Couldn't be decompiled
|
||||
}
|
||||
|
||||
public void a(long var1) {
|
||||
try {
|
||||
if (9223372036854775797L - var1 > this.d) {
|
||||
this.d += var1;
|
||||
}
|
||||
|
||||
} catch (a_ var3) {
|
||||
throw var3;
|
||||
}
|
||||
}
|
||||
|
||||
public double d() {
|
||||
// $FF: Couldn't be decompiled
|
||||
}
|
||||
|
||||
public double b() {
|
||||
return this.i;
|
||||
}
|
||||
|
||||
public Double e() {
|
||||
return this.g;
|
||||
}
|
||||
}
|
||||
81
testData/obfuscated/at.java
Normal file
81
testData/obfuscated/at.java
Normal file
@@ -0,0 +1,81 @@
|
||||
class at extends ap {
|
||||
final an d;
|
||||
private static final String e;
|
||||
|
||||
at(an var1, String var2, String var3) {
|
||||
super(var2, var3);
|
||||
this.d = var1;
|
||||
}
|
||||
|
||||
public double d() {
|
||||
return (double)an.a(this.d).getHeapMemoryUsage().getUsed() / 1024.0D / 1024.0D;
|
||||
}
|
||||
|
||||
public String c() {
|
||||
return e;
|
||||
}
|
||||
|
||||
public Double e() {
|
||||
return (double)an.a(this.d).getHeapMemoryUsage().getMax() / 1024.0D / 1024.0D;
|
||||
}
|
||||
|
||||
static {
|
||||
char[] var10000 = "$b".toCharArray();
|
||||
int var10002 = var10000.length;
|
||||
int var1 = 0;
|
||||
char[] var10001 = var10000;
|
||||
int var2 = var10002;
|
||||
int var10003;
|
||||
char[] var4;
|
||||
if (var10002 <= 1) {
|
||||
var4 = var10000;
|
||||
var10003 = var1;
|
||||
} else {
|
||||
var10001 = var10000;
|
||||
var2 = var10002;
|
||||
if (var10002 <= var1) {
|
||||
e = (new String(var10000)).intern();
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10000;
|
||||
var10003 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
char var10004 = var4[var10003];
|
||||
byte var10005;
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10005 = 105;
|
||||
break;
|
||||
case 1:
|
||||
var10005 = 32;
|
||||
break;
|
||||
case 2:
|
||||
var10005 = 18;
|
||||
break;
|
||||
case 3:
|
||||
var10005 = 31;
|
||||
break;
|
||||
default:
|
||||
var10005 = 120;
|
||||
}
|
||||
|
||||
var4[var10003] = (char)(var10004 ^ var10005);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10003 = var2;
|
||||
var4 = var10001;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
e = (new String(var10001)).intern();
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10001;
|
||||
var10003 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
24
testData/obfuscated/au.java
Normal file
24
testData/obfuscated/au.java
Normal file
@@ -0,0 +1,24 @@
|
||||
class au extends ap {
|
||||
private long d;
|
||||
private long e;
|
||||
final an f;
|
||||
|
||||
au(an var1, String var2, String var3) {
|
||||
super(var2, var3);
|
||||
this.f = var1;
|
||||
this.d = 0L;
|
||||
this.e = 0L;
|
||||
}
|
||||
|
||||
public double d() {
|
||||
// $FF: Couldn't be decompiled
|
||||
}
|
||||
|
||||
public String c() {
|
||||
return "%";
|
||||
}
|
||||
|
||||
public Double e() {
|
||||
return 100.0D;
|
||||
}
|
||||
}
|
||||
24
testData/obfuscated/av.java
Normal file
24
testData/obfuscated/av.java
Normal file
@@ -0,0 +1,24 @@
|
||||
class av extends ap {
|
||||
private long d;
|
||||
private long e;
|
||||
final an f;
|
||||
|
||||
av(an var1, String var2, String var3) {
|
||||
super(var2, var3);
|
||||
this.f = var1;
|
||||
this.d = 0L;
|
||||
this.e = 0L;
|
||||
}
|
||||
|
||||
public double d() {
|
||||
// $FF: Couldn't be decompiled
|
||||
}
|
||||
|
||||
public String c() {
|
||||
return "%";
|
||||
}
|
||||
|
||||
public Double e() {
|
||||
return 100.0D;
|
||||
}
|
||||
}
|
||||
361
testData/obfuscated/aw.java
Normal file
361
testData/obfuscated/aw.java
Normal file
@@ -0,0 +1,361 @@
|
||||
import java.lang.management.MemoryPoolMXBean;
|
||||
|
||||
class aw extends ap {
|
||||
private MemoryPoolMXBean d;
|
||||
final an e;
|
||||
private static final String[] f;
|
||||
|
||||
public aw(an var1, MemoryPoolMXBean var2) {
|
||||
super(f[1], f[0] + var2.getName());
|
||||
this.e = var1;
|
||||
this.d = var2;
|
||||
}
|
||||
|
||||
public double d() {
|
||||
// $FF: Couldn't be decompiled
|
||||
}
|
||||
|
||||
public String c() {
|
||||
return f[2];
|
||||
}
|
||||
|
||||
public Double e() {
|
||||
// $FF: Couldn't be decompiled
|
||||
}
|
||||
|
||||
static {
|
||||
String[] var10000 = new String[3];
|
||||
char[] var10003 = "6\u0000ec".toCharArray();
|
||||
int var10005 = var10003.length;
|
||||
int var1 = 0;
|
||||
char[] var10004 = var10003;
|
||||
int var2 = var10005;
|
||||
char[] var4;
|
||||
int var10006;
|
||||
char var10007;
|
||||
byte var10008;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
var10007 = var10003[var1];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 123;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 69;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 40;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 78;
|
||||
break;
|
||||
default:
|
||||
var10008 = 31;
|
||||
}
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
label127: {
|
||||
var10000[0] = (new String(var10003)).intern();
|
||||
var10003 = "1\u0013e".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
break label127;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 123;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 69;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 40;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 78;
|
||||
break;
|
||||
default:
|
||||
var10008 = 31;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
break;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var10000[1] = (new String(var10004)).intern();
|
||||
var10003 = "6\u0007".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
var10000[2] = (new String(var10003)).intern();
|
||||
f = var10000;
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 123;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 69;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 40;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 78;
|
||||
break;
|
||||
default:
|
||||
var10008 = 31;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
var10000[2] = (new String(var10004)).intern();
|
||||
f = var10000;
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
var10007 = var10003[var1];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 123;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 69;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 40;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 78;
|
||||
break;
|
||||
default:
|
||||
var10008 = 31;
|
||||
}
|
||||
}
|
||||
|
||||
while(true) {
|
||||
while(true) {
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
var10007 = var10004[var2];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 123;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 69;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 40;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 78;
|
||||
break;
|
||||
default:
|
||||
var10008 = 31;
|
||||
}
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
label65: {
|
||||
var10000[0] = (new String(var10004)).intern();
|
||||
var10003 = "1\u0013e".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
break label65;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 123;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 69;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 40;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 78;
|
||||
break;
|
||||
default:
|
||||
var10008 = 31;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
break;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var10000[1] = (new String(var10004)).intern();
|
||||
var10003 = "6\u0007".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
var10000[2] = (new String(var10003)).intern();
|
||||
f = var10000;
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 123;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 69;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 40;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 78;
|
||||
break;
|
||||
default:
|
||||
var10008 = 31;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
var10000[2] = (new String(var10004)).intern();
|
||||
f = var10000;
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
var10007 = var10004[var1];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 123;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 69;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 40;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 78;
|
||||
break;
|
||||
default:
|
||||
var10008 = 31;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
172
testData/obfuscated/ax.java
Normal file
172
testData/obfuscated/ax.java
Normal file
@@ -0,0 +1,172 @@
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
public class ax {
|
||||
private long a = 0L;
|
||||
private static final String[] b;
|
||||
|
||||
public static ax a() {
|
||||
return new ax();
|
||||
}
|
||||
|
||||
private ax() {
|
||||
this.b();
|
||||
}
|
||||
|
||||
public void b() {
|
||||
this.a = System.nanoTime();
|
||||
}
|
||||
|
||||
public long c() {
|
||||
return TimeUnit.NANOSECONDS.toMillis(System.nanoTime() - this.a);
|
||||
}
|
||||
|
||||
public String d() {
|
||||
return this.c() + b[0];
|
||||
}
|
||||
|
||||
public String a(boolean var1) {
|
||||
String var2 = String.valueOf(((double)System.nanoTime() - (double)this.a) / 1000.0D);
|
||||
|
||||
try {
|
||||
if (var1) {
|
||||
this.b();
|
||||
}
|
||||
|
||||
return var2;
|
||||
} catch (a_ var3) {
|
||||
throw var3;
|
||||
}
|
||||
}
|
||||
|
||||
public String e() {
|
||||
String var1 = this.c() + b[1];
|
||||
this.b();
|
||||
return var1;
|
||||
}
|
||||
|
||||
static {
|
||||
String[] var10000;
|
||||
int var1;
|
||||
int var2;
|
||||
char[] var10003;
|
||||
char[] var10004;
|
||||
char[] var4;
|
||||
int var10005;
|
||||
int var10006;
|
||||
char var10007;
|
||||
byte var10008;
|
||||
label51: {
|
||||
var10000 = new String[2];
|
||||
var10003 = "}|".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
break label51;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 16;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 15;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 44;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 84;
|
||||
break;
|
||||
default:
|
||||
var10008 = 86;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
break;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var10000[0] = (new String(var10004)).intern();
|
||||
var10003 = "}|".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
var10000[1] = (new String(var10003)).intern();
|
||||
b = var10000;
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 16;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 15;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 44;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 84;
|
||||
break;
|
||||
default:
|
||||
var10008 = 86;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
var10000[1] = (new String(var10004)).intern();
|
||||
b = var10000;
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
3
testData/obfuscated/ay.java
Normal file
3
testData/obfuscated/ay.java
Normal file
@@ -0,0 +1,3 @@
|
||||
public interface ay {
|
||||
void a(a0 var1);
|
||||
}
|
||||
205
testData/obfuscated/az.java
Normal file
205
testData/obfuscated/az.java
Normal file
@@ -0,0 +1,205 @@
|
||||
import javax.xml.parsers.DocumentBuilder;
|
||||
import javax.xml.parsers.DocumentBuilderFactory;
|
||||
import javax.xml.parsers.ParserConfigurationException;
|
||||
import org.w3c.dom.DOMException;
|
||||
import org.w3c.dom.Document;
|
||||
import org.w3c.dom.Node;
|
||||
import org.w3c.dom.ProcessingInstruction;
|
||||
import org.xml.sax.Attributes;
|
||||
|
||||
class az {
|
||||
private Document a;
|
||||
private Node b;
|
||||
private Node c;
|
||||
private ay d;
|
||||
private static final String[] e;
|
||||
|
||||
public az(ay var1, String var2, String var3, Attributes var4) throws ParserConfigurationException {
|
||||
this.d = var1;
|
||||
DocumentBuilderFactory var5 = DocumentBuilderFactory.newInstance();
|
||||
DocumentBuilder var6 = var5.newDocumentBuilder();
|
||||
this.a = var6.newDocument();
|
||||
this.a(var3, var4);
|
||||
}
|
||||
|
||||
private boolean a() {
|
||||
try {
|
||||
if (this.b()) {
|
||||
this.d.a(new a1(this.b));
|
||||
return true;
|
||||
}
|
||||
} catch (DOMException var1) {
|
||||
throw var1;
|
||||
}
|
||||
|
||||
this.c = this.c.getParentNode();
|
||||
return false;
|
||||
}
|
||||
|
||||
private boolean b() {
|
||||
return this.c.equals(this.b);
|
||||
}
|
||||
|
||||
private void a(String param1, Attributes param2) {
|
||||
// $FF: Couldn't be decompiled
|
||||
}
|
||||
|
||||
public Node c() {
|
||||
return this.b;
|
||||
}
|
||||
|
||||
public void a(String var1, String var2, Attributes var3) {
|
||||
this.a(var2, var3);
|
||||
}
|
||||
|
||||
public void a(String var1, String var2) {
|
||||
ProcessingInstruction var3 = this.a.createProcessingInstruction(var1, var2);
|
||||
this.c.appendChild(var3);
|
||||
}
|
||||
|
||||
public boolean b(String var1, String var2) {
|
||||
try {
|
||||
if (!this.c.getNodeName().equals(var2)) {
|
||||
throw new DOMException((short)12, e[0] + var2 + e[1] + this.c.getNodeName());
|
||||
}
|
||||
} catch (DOMException var3) {
|
||||
throw var3;
|
||||
}
|
||||
|
||||
return this.a();
|
||||
}
|
||||
|
||||
public void a(String var1) {
|
||||
this.c.appendChild(this.a.createTextNode(var1));
|
||||
}
|
||||
|
||||
public ay d() {
|
||||
return this.d;
|
||||
}
|
||||
|
||||
static {
|
||||
String[] var10000;
|
||||
int var1;
|
||||
int var2;
|
||||
char[] var10003;
|
||||
char[] var10004;
|
||||
char[] var4;
|
||||
int var10005;
|
||||
int var10006;
|
||||
char var10007;
|
||||
byte var10008;
|
||||
label51: {
|
||||
var10000 = new String[2];
|
||||
var10003 = "+\u0013*w'\u001b\u001e;j3^\u0018!kz\n\u001c(5w".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
break label51;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 126;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 125;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 79;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 15;
|
||||
break;
|
||||
default:
|
||||
var10008 = 87;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
break;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var10000[0] = (new String(var10004)).intern();
|
||||
var10003 = "^\u00187\u007f2\u001d\t*km^".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
var10000[1] = (new String(var10003)).intern();
|
||||
e = var10000;
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 126;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 125;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 79;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 15;
|
||||
break;
|
||||
default:
|
||||
var10008 = 87;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
var10000[1] = (new String(var10004)).intern();
|
||||
e = var10000;
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
99
testData/obfuscated/b.java
Normal file
99
testData/obfuscated/b.java
Normal file
@@ -0,0 +1,99 @@
|
||||
import java.util.Date;
|
||||
|
||||
public class b<K, V> {
|
||||
protected ah a;
|
||||
protected long b;
|
||||
protected long c;
|
||||
protected final K d;
|
||||
protected V e;
|
||||
protected long f;
|
||||
protected long g;
|
||||
|
||||
public ah a() {
|
||||
return this.a;
|
||||
}
|
||||
|
||||
public long b() {
|
||||
return this.a.b();
|
||||
}
|
||||
|
||||
public Date c() {
|
||||
return new Date(this.b);
|
||||
}
|
||||
|
||||
public void a(long var1) {
|
||||
this.b = var1;
|
||||
}
|
||||
|
||||
public Date d() {
|
||||
return new Date(this.c);
|
||||
}
|
||||
|
||||
public Date e() {
|
||||
return new Date(this.f);
|
||||
}
|
||||
|
||||
public void b(long var1) {
|
||||
this.c = var1;
|
||||
}
|
||||
|
||||
public V f() {
|
||||
return this.e;
|
||||
}
|
||||
|
||||
public void a(V var1) {
|
||||
this.e = var1;
|
||||
}
|
||||
|
||||
public b(K var1, V var2, long var3, long var5) {
|
||||
boolean var7 = d.b;
|
||||
super();
|
||||
this.a = new ah();
|
||||
this.b = 0L;
|
||||
this.c = 0L;
|
||||
this.d = var1;
|
||||
this.f = var3;
|
||||
this.g = var5;
|
||||
this.c = System.currentTimeMillis();
|
||||
this.b = this.c;
|
||||
this.e = var2;
|
||||
if (ap.c != 0) {
|
||||
boolean var10000;
|
||||
label18: {
|
||||
try {
|
||||
if (var7) {
|
||||
var10000 = false;
|
||||
break label18;
|
||||
}
|
||||
} catch (a_ var8) {
|
||||
throw var8;
|
||||
}
|
||||
|
||||
var10000 = true;
|
||||
}
|
||||
|
||||
d.b = var10000;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public long g() {
|
||||
return this.f;
|
||||
}
|
||||
|
||||
public void c(long var1) {
|
||||
this.f = var1;
|
||||
}
|
||||
|
||||
public long h() {
|
||||
return this.g;
|
||||
}
|
||||
|
||||
public void d(long var1) {
|
||||
this.g = var1;
|
||||
}
|
||||
|
||||
public K i() {
|
||||
return this.d;
|
||||
}
|
||||
}
|
||||
177
testData/obfuscated/ba.java
Normal file
177
testData/obfuscated/ba.java
Normal file
@@ -0,0 +1,177 @@
|
||||
import java.util.Iterator;
|
||||
import java.util.TimerTask;
|
||||
|
||||
class ba extends TimerTask {
|
||||
final ae a;
|
||||
private static final String[] b;
|
||||
|
||||
private ba(ae var1) {
|
||||
this.a = var1;
|
||||
}
|
||||
|
||||
public void run() {
|
||||
boolean var4 = ae.e;
|
||||
Iterator var1 = ae.a(this.a).iterator();
|
||||
|
||||
while(true) {
|
||||
if (var1.hasNext()) {
|
||||
ac var2 = (ac)var1.next();
|
||||
|
||||
label23: {
|
||||
try {
|
||||
var2.a();
|
||||
} catch (Exception var6) {
|
||||
r.a(b[0]).a(b[1], var2.getClass().getName()).a();
|
||||
break label23;
|
||||
}
|
||||
|
||||
if (var4) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (!var4) {
|
||||
continue;
|
||||
}
|
||||
|
||||
int var5 = ap.c;
|
||||
++var5;
|
||||
ap.c = var5;
|
||||
}
|
||||
|
||||
ae.a(this.a, System.currentTimeMillis());
|
||||
break;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
ba(ae var1, af var2) {
|
||||
this(var1);
|
||||
}
|
||||
|
||||
static {
|
||||
String[] var10000;
|
||||
int var1;
|
||||
int var2;
|
||||
char[] var10003;
|
||||
char[] var10004;
|
||||
char[] var4;
|
||||
int var10005;
|
||||
int var10006;
|
||||
char var10007;
|
||||
byte var10008;
|
||||
label51: {
|
||||
var10000 = new String[2];
|
||||
var10003 = "\b[\u0006\u001d\u001b\u0000D\r\u001a\u0016(y\u0002\u001c\t\u000bL\n\u0003\u0007)".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
break label51;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 77;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 45;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 99;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 111;
|
||||
break;
|
||||
default:
|
||||
var10008 = 98;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
break;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var10000[0] = (new String(var10004)).intern();
|
||||
var10003 = ".A\u0002\u001c\u0011".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
var10000[1] = (new String(var10003)).intern();
|
||||
b = var10000;
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 77;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 45;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 99;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 111;
|
||||
break;
|
||||
default:
|
||||
var10008 = 98;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
var10000[1] = (new String(var10004)).intern();
|
||||
b = var10000;
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
904
testData/obfuscated/bb.java
Normal file
904
testData/obfuscated/bb.java
Normal file
@@ -0,0 +1,904 @@
|
||||
import org.xhtmlrenderer.extend.FSImage;
|
||||
import org.xhtmlrenderer.extend.ReplacedElement;
|
||||
import org.xhtmlrenderer.extend.UserAgentCallback;
|
||||
import org.xhtmlrenderer.layout.LayoutContext;
|
||||
import org.xhtmlrenderer.pdf.ITextOutputDevice;
|
||||
import org.xhtmlrenderer.pdf.ITextReplacedElementFactory;
|
||||
import org.xhtmlrenderer.render.BlockBox;
|
||||
|
||||
public class bb extends ITextReplacedElementFactory {
|
||||
public static boolean b;
|
||||
private static final String[] a;
|
||||
|
||||
public bb(ITextOutputDevice var1) {
|
||||
super(var1);
|
||||
}
|
||||
|
||||
public ReplacedElement createReplacedElement(LayoutContext param1, BlockBox param2, UserAgentCallback param3, int param4, int param5) {
|
||||
// $FF: Couldn't be decompiled
|
||||
}
|
||||
|
||||
private n<Integer, Integer> a(int param1, int param2, FSImage param3) {
|
||||
// $FF: Couldn't be decompiled
|
||||
}
|
||||
|
||||
static {
|
||||
String[] var10000 = new String[5];
|
||||
char[] var10003 = "u\u0003\u000e".toCharArray();
|
||||
int var10005 = var10003.length;
|
||||
int var1 = 0;
|
||||
char[] var10004 = var10003;
|
||||
int var2 = var10005;
|
||||
char[] var4;
|
||||
int var10006;
|
||||
char var10007;
|
||||
byte var10008;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
var10007 = var10003[var1];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 28;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 110;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 105;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 46;
|
||||
break;
|
||||
default:
|
||||
var10008 = 33;
|
||||
}
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
label316: {
|
||||
var10000[0] = (new String(var10003)).intern();
|
||||
var10003 = "o\u001c\n".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
break label316;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 28;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 110;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 105;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 46;
|
||||
break;
|
||||
default:
|
||||
var10008 = 33;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
break;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var10000[1] = (new String(var10004)).intern();
|
||||
var10003 = "h\u0017\u0019K".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
var10007 = var10003[var1];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 28;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 110;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 105;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 46;
|
||||
break;
|
||||
default:
|
||||
var10008 = 33;
|
||||
}
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
label384: {
|
||||
var10000[2] = (new String(var10003)).intern();
|
||||
var10003 = "\u007f\u0001\rK\u0010.V".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
break label384;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 28;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 110;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 105;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 46;
|
||||
break;
|
||||
default:
|
||||
var10008 = 33;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
break;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var10000[3] = (new String(var10004)).intern();
|
||||
var10003 = "o\u001c\n".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
var10000[4] = (new String(var10003)).intern();
|
||||
a = var10000;
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 28;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 110;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 105;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 46;
|
||||
break;
|
||||
default:
|
||||
var10008 = 33;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
var10000[4] = (new String(var10004)).intern();
|
||||
a = var10000;
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
var10007 = var10003[var1];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 28;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 110;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 105;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 46;
|
||||
break;
|
||||
default:
|
||||
var10008 = 33;
|
||||
}
|
||||
}
|
||||
|
||||
while(true) {
|
||||
while(true) {
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
var10007 = var10004[var2];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 28;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 110;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 105;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 46;
|
||||
break;
|
||||
default:
|
||||
var10008 = 33;
|
||||
}
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
label492: {
|
||||
var10000[2] = (new String(var10004)).intern();
|
||||
var10003 = "\u007f\u0001\rK\u0010.V".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
break label492;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 28;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 110;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 105;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 46;
|
||||
break;
|
||||
default:
|
||||
var10008 = 33;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
break;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var10000[3] = (new String(var10004)).intern();
|
||||
var10003 = "o\u001c\n".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
var10000[4] = (new String(var10003)).intern();
|
||||
a = var10000;
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 28;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 110;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 105;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 46;
|
||||
break;
|
||||
default:
|
||||
var10008 = 33;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
var10000[4] = (new String(var10004)).intern();
|
||||
a = var10000;
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
var10007 = var10004[var1];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 28;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 110;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 105;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 46;
|
||||
break;
|
||||
default:
|
||||
var10008 = 33;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
var10007 = var10003[var1];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 28;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 110;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 105;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 46;
|
||||
break;
|
||||
default:
|
||||
var10008 = 33;
|
||||
}
|
||||
}
|
||||
|
||||
while(true) {
|
||||
while(true) {
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
var10007 = var10004[var2];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 28;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 110;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 105;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 46;
|
||||
break;
|
||||
default:
|
||||
var10008 = 33;
|
||||
}
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
label129: {
|
||||
var10000[0] = (new String(var10004)).intern();
|
||||
var10003 = "o\u001c\n".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
break label129;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 28;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 110;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 105;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 46;
|
||||
break;
|
||||
default:
|
||||
var10008 = 33;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
break;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var10000[1] = (new String(var10004)).intern();
|
||||
var10003 = "h\u0017\u0019K".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
var10007 = var10003[var1];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 28;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 110;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 105;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 46;
|
||||
break;
|
||||
default:
|
||||
var10008 = 33;
|
||||
}
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
label173: {
|
||||
var10000[2] = (new String(var10003)).intern();
|
||||
var10003 = "\u007f\u0001\rK\u0010.V".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
break label173;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 28;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 110;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 105;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 46;
|
||||
break;
|
||||
default:
|
||||
var10008 = 33;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
break;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var10000[3] = (new String(var10004)).intern();
|
||||
var10003 = "o\u001c\n".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
var10000[4] = (new String(var10003)).intern();
|
||||
a = var10000;
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 28;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 110;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 105;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 46;
|
||||
break;
|
||||
default:
|
||||
var10008 = 33;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
var10000[4] = (new String(var10004)).intern();
|
||||
a = var10000;
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
var10007 = var10003[var1];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 28;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 110;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 105;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 46;
|
||||
break;
|
||||
default:
|
||||
var10008 = 33;
|
||||
}
|
||||
}
|
||||
|
||||
while(true) {
|
||||
while(true) {
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
var10007 = var10004[var2];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 28;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 110;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 105;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 46;
|
||||
break;
|
||||
default:
|
||||
var10008 = 33;
|
||||
}
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
label93: {
|
||||
var10000[2] = (new String(var10004)).intern();
|
||||
var10003 = "\u007f\u0001\rK\u0010.V".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
break label93;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 28;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 110;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 105;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 46;
|
||||
break;
|
||||
default:
|
||||
var10008 = 33;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
break;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var10000[3] = (new String(var10004)).intern();
|
||||
var10003 = "o\u001c\n".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
var10000[4] = (new String(var10003)).intern();
|
||||
a = var10000;
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 28;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 110;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 105;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 46;
|
||||
break;
|
||||
default:
|
||||
var10008 = 33;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
var10000[4] = (new String(var10004)).intern();
|
||||
a = var10000;
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
var10007 = var10004[var1];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 28;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 110;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 105;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 46;
|
||||
break;
|
||||
default:
|
||||
var10008 = 33;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
var10007 = var10004[var1];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 28;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 110;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 105;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 46;
|
||||
break;
|
||||
default:
|
||||
var10008 = 33;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
159
testData/obfuscated/bc.java
Normal file
159
testData/obfuscated/bc.java
Normal file
@@ -0,0 +1,159 @@
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.TreeMap;
|
||||
import javax.xml.parsers.ParserConfigurationException;
|
||||
import javax.xml.parsers.SAXParser;
|
||||
import javax.xml.parsers.SAXParserFactory;
|
||||
import org.w3c.dom.Node;
|
||||
import org.xml.sax.Attributes;
|
||||
import org.xml.sax.InputSource;
|
||||
import org.xml.sax.SAXException;
|
||||
import org.xml.sax.XMLReader;
|
||||
import org.xml.sax.helpers.DefaultHandler;
|
||||
|
||||
public class bc extends DefaultHandler {
|
||||
private boolean a = false;
|
||||
private StringBuilder b = new StringBuilder();
|
||||
private Map<String, ay> c = new TreeMap();
|
||||
private List<az> d = new ArrayList();
|
||||
public static int e;
|
||||
|
||||
public void characters(char[] var1, int var2, int var3) throws SAXException {
|
||||
this.a = true;
|
||||
this.b.append(var1, var2, var3);
|
||||
}
|
||||
|
||||
public void endDocument() throws SAXException {
|
||||
}
|
||||
|
||||
public void endElement(String var1, String var2, String var3) throws SAXException {
|
||||
int var7 = e;
|
||||
|
||||
bc var10000;
|
||||
label63: {
|
||||
label67: {
|
||||
try {
|
||||
var10000 = this;
|
||||
if (var7 != 0) {
|
||||
break label63;
|
||||
}
|
||||
|
||||
if (!this.a) {
|
||||
break label67;
|
||||
}
|
||||
} catch (SAXException var10) {
|
||||
throw var10;
|
||||
}
|
||||
|
||||
String var4 = this.b.toString();
|
||||
Iterator var5 = this.d.iterator();
|
||||
|
||||
label55: {
|
||||
while(var5.hasNext()) {
|
||||
az var6 = (az)var5.next();
|
||||
|
||||
try {
|
||||
var6.a(var4);
|
||||
if (var7 != 0) {
|
||||
break label55;
|
||||
}
|
||||
|
||||
if (var7 != 0) {
|
||||
break;
|
||||
}
|
||||
} catch (SAXException var9) {
|
||||
throw var9;
|
||||
}
|
||||
}
|
||||
|
||||
this.b = new StringBuilder();
|
||||
}
|
||||
|
||||
this.a = false;
|
||||
}
|
||||
|
||||
var10000 = this;
|
||||
}
|
||||
|
||||
Iterator var11 = var10000.d.iterator();
|
||||
|
||||
while(var11.hasNext()) {
|
||||
az var12 = (az)var11.next();
|
||||
|
||||
try {
|
||||
if (var12.b(var1, var3)) {
|
||||
var11.remove();
|
||||
}
|
||||
} catch (SAXException var8) {
|
||||
throw var8;
|
||||
}
|
||||
|
||||
if (var7 != 0) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void processingInstruction(String var1, String var2) throws SAXException {
|
||||
Iterator var3 = this.d.iterator();
|
||||
|
||||
while(var3.hasNext()) {
|
||||
az var4 = (az)var3.next();
|
||||
var4.a(var1, var2);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void startElement(String var1, String var2, String var3, Attributes var4) throws SAXException {
|
||||
Iterator var5 = this.d.iterator();
|
||||
|
||||
while(var5.hasNext()) {
|
||||
az var6 = (az)var5.next();
|
||||
var6.a(var1, var3, var4);
|
||||
}
|
||||
|
||||
try {
|
||||
ay var9 = (ay)this.c.get(var3);
|
||||
|
||||
try {
|
||||
if (var9 != null) {
|
||||
this.d.add(new az(var9, var1, var3, var4));
|
||||
}
|
||||
|
||||
} catch (ParserConfigurationException var7) {
|
||||
throw var7;
|
||||
}
|
||||
} catch (ParserConfigurationException var8) {
|
||||
throw new SAXException(var8);
|
||||
}
|
||||
}
|
||||
|
||||
public void a(String var1, ay var2) {
|
||||
this.c.put(var1, var2);
|
||||
}
|
||||
|
||||
public static a0 a(Node var0) {
|
||||
return new a1(var0);
|
||||
}
|
||||
|
||||
public void a(InputStream var1) throws ParserConfigurationException, SAXException, IOException {
|
||||
try {
|
||||
SAXParserFactory var2 = SAXParserFactory.newInstance();
|
||||
SAXParser var3 = var2.newSAXParser();
|
||||
XMLReader var4 = var3.getXMLReader();
|
||||
var4.setEntityResolver(new a2(this));
|
||||
var4.setContentHandler(this);
|
||||
var4.parse(new InputSource(var1));
|
||||
} catch (a_ var8) {
|
||||
;
|
||||
} finally {
|
||||
var1.close();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
349
testData/obfuscated/bd.java
Normal file
349
testData/obfuscated/bd.java
Normal file
@@ -0,0 +1,349 @@
|
||||
import java.io.PrintWriter;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.math.BigInteger;
|
||||
import java.security.MessageDigest;
|
||||
import java.util.Hashtable;
|
||||
import java.util.Vector;
|
||||
|
||||
public class bd {
|
||||
private static String a;
|
||||
private static String j;
|
||||
private static MessageDigest b;
|
||||
private static Hashtable c;
|
||||
private static Hashtable d;
|
||||
private static final boolean e = false;
|
||||
private static String f;
|
||||
private static Hashtable g;
|
||||
private static Hashtable h;
|
||||
private static final String x = "";
|
||||
private static PrintWriter writer;
|
||||
private static final String[] i;
|
||||
|
||||
private static void a(Hashtable var0, MessageDigest var1) {
|
||||
var0.put(new BigInteger(i[46], 36), "\uffc0");
|
||||
var0.put(new BigInteger(i[17], 36), "マ");
|
||||
var0.put(new BigInteger(i[96], 36), "ᆪ");
|
||||
var0.put(new BigInteger(i[94], 36), "ᅪ");
|
||||
var0.put(new BigInteger(i[24], 36), "\t");
|
||||
var0.put(new BigInteger(i[82], 36), i[60]);
|
||||
var0.put(new BigInteger(i[64], 36), "\uffbf");
|
||||
var0.put(new BigInteger(i[36], 36), "ᅬ");
|
||||
var0.put(new BigInteger(i[56], 36), i[10]);
|
||||
var0.put(new BigInteger(i[30], 36), i[70]);
|
||||
var0.put(new BigInteger(i[75], 36), i[23]);
|
||||
var0.put(new BigInteger(i[47], 36), i[5]);
|
||||
var0.put(new BigInteger(i[19], 36), "ヨ");
|
||||
var0.put(new BigInteger(i[2], 36), i[71]);
|
||||
var0.put(new BigInteger(i[50], 36), "ᅧ");
|
||||
var0.put(new BigInteger(i[76], 36), "O");
|
||||
var0.put(new BigInteger(i[40], 36), i[15]);
|
||||
var0.put(new BigInteger(i[80], 36), i[33]);
|
||||
var0.put(new BigInteger(i[95], 36), i[38]);
|
||||
var0.put(new BigInteger(i[89], 36), i[69]);
|
||||
var0.put(new BigInteger(i[43], 36), ",");
|
||||
var0.put(new BigInteger(i[93], 36), i[77]);
|
||||
var0.put(new BigInteger(i[62], 36), "ハ");
|
||||
var0.put(new BigInteger(i[22], 36), i[66]);
|
||||
var0.put(new BigInteger(i[14], 36), i[34]);
|
||||
var0.put(new BigInteger(i[29], 36), i[49]);
|
||||
var0.put(new BigInteger(i[88], 36), i[25]);
|
||||
var0.put(new BigInteger(i[42], 36), i[39]);
|
||||
var0.put(new BigInteger(i[45], 36), i[11]);
|
||||
var0.put(new BigInteger(i[102], 36), i[73]);
|
||||
var0.put(new BigInteger(i[86], 36), i[0]);
|
||||
var0.put(new BigInteger(i[41], 36), i[100]);
|
||||
var0.put(new BigInteger(i[74], 36), i[51]);
|
||||
var0.put(new BigInteger(i[103], 36), i[65]);
|
||||
var0.put(new BigInteger(i[97], 36), i[85]);
|
||||
var0.put(new BigInteger(i[92], 36), i[104]);
|
||||
var0.put(new BigInteger(i[13], 36), i[20]);
|
||||
var0.put(new BigInteger(i[78], 36), i[90]);
|
||||
var0.put(new BigInteger(i[6], 36), ">");
|
||||
var0.put(new BigInteger(i[32], 36), "\uffdd");
|
||||
var0.put(new BigInteger(i[63], 36), "ᅴ");
|
||||
var0.put(new BigInteger(i[53], 36), "\uffd0");
|
||||
var0.put(new BigInteger(i[7], 36), i[12]);
|
||||
var0.put(new BigInteger(i[54], 36), i[67]);
|
||||
var0.put(new BigInteger(i[4], 36), "ラ");
|
||||
var0.put(new BigInteger(i[3], 36), i[57]);
|
||||
var0.put(new BigInteger(i[79], 36), "\uffd0");
|
||||
var0.put(new BigInteger(i[16], 36), "A");
|
||||
var0.put(new BigInteger(i[44], 36), i[18]);
|
||||
var0.put(new BigInteger(i[31], 36), i[58]);
|
||||
var0.put(new BigInteger(i[21], 36), i[55]);
|
||||
var0.put(new BigInteger(i[35], 36), "-");
|
||||
var0.put(new BigInteger(i[9], 36), i[87]);
|
||||
var0.put(new BigInteger(i[61], 36), i[81]);
|
||||
var0.put(new BigInteger(i[72], 36), i[48]);
|
||||
var0.put(new BigInteger(i[68], 36), "\u0010");
|
||||
var0.put(new BigInteger(i[26], 36), "ワ");
|
||||
var0.put(new BigInteger(i[91], 36), i[1]);
|
||||
var0.put(new BigInteger(i[28], 36), i[101]);
|
||||
var0.put(new BigInteger(i[37], 36), "u");
|
||||
var0.put(new BigInteger(i[99], 36), i[52]);
|
||||
var0.put(new BigInteger(i[105], 36), i[59]);
|
||||
var0.put(new BigInteger(i[27], 36), "ᄚ");
|
||||
var0.put(new BigInteger(i[8], 36), i[98]);
|
||||
var0.put(new BigInteger(i[83], 36), "\uffd0");
|
||||
var0.put(new BigInteger(i[84], 36), "\uffde");
|
||||
}
|
||||
|
||||
private static void b(Hashtable var0, MessageDigest var1) {
|
||||
}
|
||||
|
||||
private static void c(Hashtable var0, MessageDigest var1) {
|
||||
}
|
||||
|
||||
private static void d(Hashtable var0, MessageDigest var1) {
|
||||
}
|
||||
|
||||
private static void e(Hashtable var0, MessageDigest var1) {
|
||||
}
|
||||
|
||||
private static void f(Hashtable var0, MessageDigest var1) {
|
||||
}
|
||||
|
||||
private static void g(Hashtable var0, MessageDigest var1) {
|
||||
}
|
||||
|
||||
private static void h(Hashtable var0, MessageDigest var1) {
|
||||
}
|
||||
|
||||
private static void i(Hashtable var0, MessageDigest var1) {
|
||||
}
|
||||
|
||||
private static void j(Hashtable var0, MessageDigest var1) {
|
||||
}
|
||||
|
||||
public static String a(String var0) {
|
||||
if (b == null) {
|
||||
return var0;
|
||||
} else {
|
||||
try {
|
||||
int var1 = var0.lastIndexOf("[") + 1;
|
||||
String var2 = var0.substring(var1);
|
||||
if (var1 > 0 && var2.length() == 1) {
|
||||
return var0;
|
||||
} else {
|
||||
boolean var3 = false;
|
||||
if (var2.charAt(0) == 'L' && var2.charAt(var2.length() - 1) == ';') {
|
||||
var3 = true;
|
||||
var2 = var2.substring(1, var2.length() - 1);
|
||||
}
|
||||
|
||||
boolean var4 = var2.indexOf(46) > -1;
|
||||
if (var4) {
|
||||
var2 = var2.replace('.', '/');
|
||||
}
|
||||
|
||||
var2 = var2 + f;
|
||||
String var5 = b(var2);
|
||||
if (var5 == null) {
|
||||
return var0;
|
||||
} else {
|
||||
if (var4) {
|
||||
var5 = var5.replace('/', '.');
|
||||
}
|
||||
|
||||
StringBuffer var6 = new StringBuffer();
|
||||
|
||||
for(int var7 = 0; var7 < var1; ++var7) {
|
||||
var6.append('[');
|
||||
}
|
||||
|
||||
if (var3) {
|
||||
var6.append('L');
|
||||
}
|
||||
|
||||
var6.append(var5);
|
||||
if (var3) {
|
||||
var6.append(';');
|
||||
}
|
||||
|
||||
return var6.toString();
|
||||
}
|
||||
}
|
||||
} catch (Throwable var8) {
|
||||
return var0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static String b(String var0, Class var1, Class[] var2) {
|
||||
if (b != null && var1 != null) {
|
||||
try {
|
||||
String var3 = var1.getName();
|
||||
String var4 = var3.replace('.', '/');
|
||||
StringBuffer var5 = new StringBuffer();
|
||||
var5.append(f);
|
||||
var5.append(var0);
|
||||
var5.append(f);
|
||||
if (var2 != null && var2.length > 0) {
|
||||
for(int var6 = 0; var6 < var2.length; ++var6) {
|
||||
Class var7 = var2[var6];
|
||||
var5.append(d.containsKey(var7) ? (String)d.get(var7) : var7.getName().replace('.', '/'));
|
||||
var5.append(f);
|
||||
}
|
||||
}
|
||||
|
||||
String var10 = var5.toString();
|
||||
String var11 = var4 + var10;
|
||||
String var8 = b(var11);
|
||||
if (var8 != null) {
|
||||
return var8;
|
||||
} else {
|
||||
var8 = a(var1, var10);
|
||||
return var8 != null ? var8 : var0;
|
||||
}
|
||||
} catch (Throwable var9) {
|
||||
return var0;
|
||||
}
|
||||
} else {
|
||||
return var0;
|
||||
}
|
||||
}
|
||||
|
||||
public static String c(Class var0, String var1) {
|
||||
if (b != null && var0 != null) {
|
||||
try {
|
||||
String var2 = var0.getName();
|
||||
String var3 = var2.replace('.', '/');
|
||||
StringBuffer var4 = new StringBuffer();
|
||||
var4.append(f);
|
||||
var4.append(var1);
|
||||
String var5 = var4.toString();
|
||||
String var6 = var3 + var5;
|
||||
String var7 = b(var6);
|
||||
if (var7 != null) {
|
||||
return var7;
|
||||
} else {
|
||||
var7 = a(var0, var5);
|
||||
return var7 != null ? var7 : var1;
|
||||
}
|
||||
} catch (Throwable var8) {
|
||||
return var1;
|
||||
}
|
||||
} else {
|
||||
return var1;
|
||||
}
|
||||
}
|
||||
|
||||
private static String b(String var0) {
|
||||
String var1 = (String)g.get(var0);
|
||||
if (var1 == null && var1 != "") {
|
||||
b.reset();
|
||||
|
||||
try {
|
||||
b.update(var0.getBytes(j));
|
||||
} catch (UnsupportedEncodingException var4) {
|
||||
;
|
||||
}
|
||||
|
||||
byte[] var2 = b.digest();
|
||||
BigInteger var3 = new BigInteger(var2);
|
||||
var1 = (String)c.get(var3);
|
||||
if (var1 != null) {
|
||||
var1 = a(var0, var1);
|
||||
g.put(var0, var1);
|
||||
} else {
|
||||
g.put(var0, "");
|
||||
}
|
||||
}
|
||||
|
||||
return var1 == "" ? null : var1;
|
||||
}
|
||||
|
||||
private static String a(String var0, String var1) {
|
||||
b.reset();
|
||||
byte[] var2 = null;
|
||||
|
||||
try {
|
||||
var2 = (var0 + a).getBytes(j);
|
||||
} catch (UnsupportedEncodingException var9) {
|
||||
;
|
||||
}
|
||||
|
||||
b.update(var2);
|
||||
byte[] var3 = b.digest();
|
||||
char[] var4 = var1.toCharArray();
|
||||
StringBuffer var5 = new StringBuffer(var4.length);
|
||||
|
||||
for(int var6 = 0; var6 < var4.length; ++var6) {
|
||||
char var7 = var4[var6];
|
||||
byte var8;
|
||||
if (var6 < var3.length - 1) {
|
||||
var8 = var3[var6];
|
||||
} else {
|
||||
var8 = var3[var6 % var3.length];
|
||||
}
|
||||
|
||||
var5.append((char)(var7 ^ (char)var8));
|
||||
}
|
||||
|
||||
String var10 = var5.toString();
|
||||
return var10;
|
||||
}
|
||||
|
||||
private static String a(Class var0, String var1) {
|
||||
Vector var2 = b(var0);
|
||||
int var3 = var2.size();
|
||||
|
||||
for(int var4 = 0; var4 < var3; ++var4) {
|
||||
String var5 = (String)var2.elementAt(var4);
|
||||
String var6 = var5 + var1;
|
||||
String var7 = b(var6);
|
||||
if (var7 != null) {
|
||||
return var7;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
private static String a(Class var0) {
|
||||
return d.containsKey(var0) ? (String)d.get(var0) : var0.getName().replace('.', '/');
|
||||
}
|
||||
|
||||
private static Vector b(Class var0) {
|
||||
String var1 = var0.getName();
|
||||
Vector var2 = (Vector)h.get(var1);
|
||||
if (var2 != null) {
|
||||
return var2;
|
||||
} else {
|
||||
Vector var3 = new Vector();
|
||||
Hashtable var4 = new Hashtable();
|
||||
b(var0, var3, var4);
|
||||
h.put(var1, var3);
|
||||
return var3;
|
||||
}
|
||||
}
|
||||
|
||||
private static void b(Class var0, Vector var1, Hashtable var2) {
|
||||
Class var3 = var0.getSuperclass();
|
||||
if (var3 != null && !var2.containsKey(var3)) {
|
||||
var1.addElement(var3.getName().replace('.', '/'));
|
||||
var2.put(var3, var3);
|
||||
b(var3, var1, var2);
|
||||
}
|
||||
|
||||
Class[] var4 = var0.getInterfaces();
|
||||
|
||||
for(int var5 = 0; var5 < var4.length; ++var5) {
|
||||
Class var6 = var4[var5];
|
||||
if (!var2.containsKey(var6)) {
|
||||
var1.addElement(var6.getName().replace('.', '/'));
|
||||
var2.put(var6, var6);
|
||||
b(var6, var1, var2);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private static String c(Class var0) {
|
||||
return var0.getName().replace('.', '/');
|
||||
}
|
||||
|
||||
static {
|
||||
// $FF: Couldn't be decompiled
|
||||
}
|
||||
}
|
||||
8
testData/obfuscated/c.java
Normal file
8
testData/obfuscated/c.java
Normal file
@@ -0,0 +1,8 @@
|
||||
@aa(
|
||||
a = {ac.class}
|
||||
)
|
||||
public class c implements ac {
|
||||
public void a() throws Exception {
|
||||
d.b();
|
||||
}
|
||||
}
|
||||
39
testData/obfuscated/d.java
Normal file
39
testData/obfuscated/d.java
Normal file
@@ -0,0 +1,39 @@
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
public class d {
|
||||
private static List<a<?, ?>> a = new ArrayList();
|
||||
public static boolean b;
|
||||
|
||||
public static List<a<?, ?>> a() {
|
||||
return a;
|
||||
}
|
||||
|
||||
public static <K, V> a<K, V> a(String var0, int var1, f<K, V> var2, long var3, TimeUnit var5, g<V> var6, long var7, TimeUnit var9) {
|
||||
e var10 = new e(var0, var1, TimeUnit.MILLISECONDS.convert(var3, var5), var2, var6, TimeUnit.MILLISECONDS.convert(var7, var9));
|
||||
a.add(var10);
|
||||
return var10;
|
||||
}
|
||||
|
||||
public static <K, V> a<K, V> a(String var0, int var1, long var2, TimeUnit var4) {
|
||||
e var5 = new e(var0, var1, TimeUnit.MILLISECONDS.convert(var2, var4), (f)null, (g)null, 10000L);
|
||||
a.add(var5);
|
||||
return var5;
|
||||
}
|
||||
|
||||
public static void b() {
|
||||
boolean var2 = b;
|
||||
Iterator var0 = a().iterator();
|
||||
|
||||
while(var0.hasNext()) {
|
||||
a var1 = (a)var0.next();
|
||||
var1.i();
|
||||
if (var2) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
148
testData/obfuscated/e.java
Normal file
148
testData/obfuscated/e.java
Normal file
@@ -0,0 +1,148 @@
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import org.apache.commons.collections.map.LRUMap;
|
||||
|
||||
class e<K, V> implements a<K, V> {
|
||||
private static final int a = 25;
|
||||
protected int b;
|
||||
protected f<K, V> c;
|
||||
protected Map<K, b<K, V>> d;
|
||||
protected ah e = new ah();
|
||||
protected ah f = new ah();
|
||||
protected List<Long> g = new ArrayList(25);
|
||||
protected List<Long> h = new ArrayList(25);
|
||||
protected Date i = null;
|
||||
protected final String j;
|
||||
protected final long k;
|
||||
protected final g<V> l;
|
||||
private final long m;
|
||||
|
||||
public e(String var1, int var2, long var3, f<K, V> var5, g<V> var6, long var7) {
|
||||
this.j = var1;
|
||||
this.b = var2;
|
||||
this.m = var7;
|
||||
if (var2 > 0) {
|
||||
this.d = Collections.synchronizedMap(new LRUMap(var2));
|
||||
} else {
|
||||
this.d = Collections.synchronizedMap(new HashMap(var2));
|
||||
}
|
||||
|
||||
this.k = var3;
|
||||
this.c = var5;
|
||||
this.l = var6;
|
||||
}
|
||||
|
||||
public String a() {
|
||||
return this.j;
|
||||
}
|
||||
|
||||
public int b() {
|
||||
return this.b;
|
||||
}
|
||||
|
||||
public int c() {
|
||||
return this.d.size();
|
||||
}
|
||||
|
||||
public long d() {
|
||||
return this.e.b() + this.f.b();
|
||||
}
|
||||
|
||||
public Long f() {
|
||||
long var1 = this.e.b();
|
||||
long var3 = this.f.b();
|
||||
|
||||
long var10000;
|
||||
try {
|
||||
if (var1 + var3 == 0L) {
|
||||
var10000 = 0L;
|
||||
return var10000;
|
||||
}
|
||||
} catch (a_ var5) {
|
||||
throw var5;
|
||||
}
|
||||
|
||||
var10000 = Math.round(100.0D * (double)var1 / (double)(var1 + var3));
|
||||
return var10000;
|
||||
}
|
||||
|
||||
public Date h() {
|
||||
return this.i;
|
||||
}
|
||||
|
||||
public void i() {
|
||||
// $FF: Couldn't be decompiled
|
||||
}
|
||||
|
||||
public void j() {
|
||||
this.d.clear();
|
||||
this.f.c();
|
||||
this.e.c();
|
||||
this.i = new Date();
|
||||
}
|
||||
|
||||
public V a(K var1) {
|
||||
return this.a(var1, this.c);
|
||||
}
|
||||
|
||||
public boolean c(K var1) {
|
||||
return this.d.containsKey(var1);
|
||||
}
|
||||
|
||||
public V a(K param1, f<K, V> param2) {
|
||||
// $FF: Couldn't be decompiled
|
||||
}
|
||||
|
||||
public void a(K var1, V var2) {
|
||||
b var10000;
|
||||
b var10001;
|
||||
Object var10002;
|
||||
Object var10003;
|
||||
long var10004;
|
||||
label16: {
|
||||
try {
|
||||
var10000 = new b;
|
||||
var10001 = var10000;
|
||||
var10002 = var1;
|
||||
var10003 = var2;
|
||||
if (this.k > 0L) {
|
||||
var10004 = this.k + System.currentTimeMillis();
|
||||
break label16;
|
||||
}
|
||||
} catch (a_ var4) {
|
||||
throw var4;
|
||||
}
|
||||
|
||||
var10004 = 0L;
|
||||
}
|
||||
|
||||
var10001.<init>(var10002, var10003, var10004, this.m + System.currentTimeMillis());
|
||||
b var3 = var10000;
|
||||
this.d.put(var1, var3);
|
||||
}
|
||||
|
||||
public void b(K var1) {
|
||||
this.d.remove(var1);
|
||||
}
|
||||
|
||||
public Iterator<K> k() {
|
||||
return this.d.keySet().iterator();
|
||||
}
|
||||
|
||||
public List<b<K, V>> l() {
|
||||
return new ArrayList(this.d.values());
|
||||
}
|
||||
|
||||
public List<Long> e() {
|
||||
return this.g;
|
||||
}
|
||||
|
||||
public List<Long> g() {
|
||||
return this.h;
|
||||
}
|
||||
}
|
||||
3
testData/obfuscated/f.java
Normal file
3
testData/obfuscated/f.java
Normal file
@@ -0,0 +1,3 @@
|
||||
public interface f<K, V> {
|
||||
V a(K var1);
|
||||
}
|
||||
3
testData/obfuscated/g.java
Normal file
3
testData/obfuscated/g.java
Normal file
@@ -0,0 +1,3 @@
|
||||
public interface g<V> {
|
||||
boolean a(V var1);
|
||||
}
|
||||
50
testData/obfuscated/h.java
Normal file
50
testData/obfuscated/h.java
Normal file
@@ -0,0 +1,50 @@
|
||||
import java.util.concurrent.atomic.AtomicLong;
|
||||
|
||||
public class h {
|
||||
private final AtomicLong a = new AtomicLong();
|
||||
|
||||
public long a() {
|
||||
boolean var5 = n.c;
|
||||
long var1 = this.a.incrementAndGet();
|
||||
|
||||
long var10000;
|
||||
label48: {
|
||||
try {
|
||||
var10000 = var1;
|
||||
if (var5) {
|
||||
return var10000;
|
||||
}
|
||||
|
||||
if (var1 <= 9223372036854775797L) {
|
||||
break label48;
|
||||
}
|
||||
} catch (a_ var8) {
|
||||
throw var8;
|
||||
}
|
||||
|
||||
AtomicLong var3 = this.a;
|
||||
synchronized(this.a) {
|
||||
AtomicLong var9 = this.a;
|
||||
if (!var5) {
|
||||
try {
|
||||
if (var9.get() > 9223372036854775797L) {
|
||||
this.a.set(0L);
|
||||
}
|
||||
} catch (a_ var6) {
|
||||
throw var6;
|
||||
}
|
||||
|
||||
var9 = var3;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
var10000 = var1;
|
||||
return var10000;
|
||||
}
|
||||
|
||||
public String b() {
|
||||
return String.valueOf(this.a());
|
||||
}
|
||||
}
|
||||
18
testData/obfuscated/i.java
Normal file
18
testData/obfuscated/i.java
Normal file
@@ -0,0 +1,18 @@
|
||||
import java.util.Collection;
|
||||
import java.util.Iterator;
|
||||
|
||||
public abstract class i<T> implements k<T> {
|
||||
public void a(Collection<? extends T> var1) {
|
||||
boolean var4 = n.c;
|
||||
Iterator var2 = var1.iterator();
|
||||
|
||||
while(var2.hasNext()) {
|
||||
Object var3 = var2.next();
|
||||
this.a(var3);
|
||||
if (var4) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
36
testData/obfuscated/j.java
Normal file
36
testData/obfuscated/j.java
Normal file
@@ -0,0 +1,36 @@
|
||||
class j extends i<ak> {
|
||||
final ai a;
|
||||
|
||||
j(ai var1) {
|
||||
this.a = var1;
|
||||
}
|
||||
|
||||
public void a(ak var1) {
|
||||
al var2 = (al)ai.b().get(var1);
|
||||
|
||||
al var10000;
|
||||
label21: {
|
||||
label20: {
|
||||
try {
|
||||
var10000 = var2;
|
||||
if (an.k) {
|
||||
break label21;
|
||||
}
|
||||
|
||||
if (var2 != null) {
|
||||
break label20;
|
||||
}
|
||||
} catch (a_ var3) {
|
||||
throw var3;
|
||||
}
|
||||
|
||||
var2 = new al(var1);
|
||||
ai.b().put(var1, var2);
|
||||
}
|
||||
|
||||
var10000 = var2;
|
||||
}
|
||||
|
||||
var10000.a(var1.d());
|
||||
}
|
||||
}
|
||||
7
testData/obfuscated/k.java
Normal file
7
testData/obfuscated/k.java
Normal file
@@ -0,0 +1,7 @@
|
||||
import java.util.Collection;
|
||||
|
||||
public interface k<T> {
|
||||
void a(T var1);
|
||||
|
||||
void a(Collection<? extends T> var1);
|
||||
}
|
||||
19
testData/obfuscated/l.java
Normal file
19
testData/obfuscated/l.java
Normal file
@@ -0,0 +1,19 @@
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
public class l<T> implements k<T> {
|
||||
private List<T> a = new ArrayList();
|
||||
|
||||
public void a(T var1) {
|
||||
this.a.add(var1);
|
||||
}
|
||||
|
||||
public void a(Collection<? extends T> var1) {
|
||||
this.a.addAll(var1);
|
||||
}
|
||||
|
||||
public List<T> a() {
|
||||
return this.a;
|
||||
}
|
||||
}
|
||||
19
testData/obfuscated/m.java
Normal file
19
testData/obfuscated/m.java
Normal file
@@ -0,0 +1,19 @@
|
||||
import java.util.Collection;
|
||||
import java.util.LinkedHashSet;
|
||||
import java.util.Set;
|
||||
|
||||
public class m<T> implements k<T> {
|
||||
private Set<T> a = new LinkedHashSet();
|
||||
|
||||
public void a(T var1) {
|
||||
this.a.add(var1);
|
||||
}
|
||||
|
||||
public void a(Collection<? extends T> var1) {
|
||||
this.a.addAll(var1);
|
||||
}
|
||||
|
||||
public Set<T> a() {
|
||||
return this.a;
|
||||
}
|
||||
}
|
||||
209
testData/obfuscated/n.java
Normal file
209
testData/obfuscated/n.java
Normal file
@@ -0,0 +1,209 @@
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Map.Entry;
|
||||
|
||||
public class n<F, S> {
|
||||
private F a;
|
||||
private S b;
|
||||
public static boolean c;
|
||||
private static final String d;
|
||||
|
||||
public n() {
|
||||
}
|
||||
|
||||
public n(F var1) {
|
||||
this.a = var1;
|
||||
}
|
||||
|
||||
public n(F var1, S var2) {
|
||||
this.a = var1;
|
||||
this.b = var2;
|
||||
}
|
||||
|
||||
public F a() {
|
||||
return this.a;
|
||||
}
|
||||
|
||||
public void a(F var1) {
|
||||
this.a = var1;
|
||||
}
|
||||
|
||||
public S b() {
|
||||
return this.b;
|
||||
}
|
||||
|
||||
public void b(S var1) {
|
||||
this.b = var1;
|
||||
}
|
||||
|
||||
public boolean equals(Object param1) {
|
||||
// $FF: Couldn't be decompiled
|
||||
}
|
||||
|
||||
private boolean a(Object param1, Object param2) {
|
||||
// $FF: Couldn't be decompiled
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return this.a + d + this.b;
|
||||
}
|
||||
|
||||
public int hashCode() {
|
||||
Object var10000;
|
||||
label28: {
|
||||
try {
|
||||
if (this.a == null) {
|
||||
var10000 = "";
|
||||
break label28;
|
||||
}
|
||||
} catch (a_ var2) {
|
||||
throw var2;
|
||||
}
|
||||
|
||||
var10000 = this.a;
|
||||
}
|
||||
|
||||
Object var10001;
|
||||
int var3;
|
||||
try {
|
||||
var3 = var10000.hashCode() / 2;
|
||||
if (this.b == null) {
|
||||
var10001 = "";
|
||||
return var3 + var10001.hashCode() / 2;
|
||||
}
|
||||
} catch (a_ var1) {
|
||||
throw var1;
|
||||
}
|
||||
|
||||
var10001 = this.b;
|
||||
return var3 + var10001.hashCode() / 2;
|
||||
}
|
||||
|
||||
public static <T extends n<K, V>, K, V> List<K> a(Collection<T> var0) {
|
||||
ArrayList var1 = new ArrayList(var0.size());
|
||||
Iterator var2 = var0.iterator();
|
||||
|
||||
while(var2.hasNext()) {
|
||||
n var3 = (n)var2.next();
|
||||
var1.add(var3.a());
|
||||
}
|
||||
|
||||
return var1;
|
||||
}
|
||||
|
||||
public static <T extends n<K, V>, K, V> List<V> b(Collection<T> param0) {
|
||||
// $FF: Couldn't be decompiled
|
||||
}
|
||||
|
||||
public static <K, V> List<n<K, V>> a(Map<K, V> var0) {
|
||||
boolean var4 = c;
|
||||
ArrayList var1 = new ArrayList(var0.size());
|
||||
Iterator var2 = var0.entrySet().iterator();
|
||||
|
||||
ArrayList var10000;
|
||||
while(true) {
|
||||
if (var2.hasNext()) {
|
||||
Entry var3 = (Entry)var2.next();
|
||||
|
||||
try {
|
||||
var10000 = var1;
|
||||
if (var4) {
|
||||
break;
|
||||
}
|
||||
|
||||
var1.add(new n(var3.getKey(), var3.getValue()));
|
||||
if (!var4) {
|
||||
continue;
|
||||
}
|
||||
} catch (a_ var6) {
|
||||
throw var6;
|
||||
}
|
||||
|
||||
int var5 = ap.c;
|
||||
++var5;
|
||||
ap.c = var5;
|
||||
}
|
||||
|
||||
var10000 = var1;
|
||||
break;
|
||||
}
|
||||
|
||||
return var10000;
|
||||
}
|
||||
|
||||
public static <K, V> Map<K, V> c(Collection<n<K, V>> var0) {
|
||||
HashMap var1 = new HashMap();
|
||||
Iterator var2 = var0.iterator();
|
||||
|
||||
while(var2.hasNext()) {
|
||||
n var3 = (n)var2.next();
|
||||
var1.put(var3.a(), var3.b());
|
||||
}
|
||||
|
||||
return var1;
|
||||
}
|
||||
|
||||
static {
|
||||
char[] var10000 = "p\u001c".toCharArray();
|
||||
int var10002 = var10000.length;
|
||||
int var1 = 0;
|
||||
char[] var10001 = var10000;
|
||||
int var2 = var10002;
|
||||
int var10003;
|
||||
char[] var4;
|
||||
if (var10002 <= 1) {
|
||||
var4 = var10000;
|
||||
var10003 = var1;
|
||||
} else {
|
||||
var10001 = var10000;
|
||||
var2 = var10002;
|
||||
if (var10002 <= var1) {
|
||||
d = (new String(var10000)).intern();
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10000;
|
||||
var10003 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
char var10004 = var4[var10003];
|
||||
byte var10005;
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10005 = 74;
|
||||
break;
|
||||
case 1:
|
||||
var10005 = 60;
|
||||
break;
|
||||
case 2:
|
||||
var10005 = 116;
|
||||
break;
|
||||
case 3:
|
||||
var10005 = 28;
|
||||
break;
|
||||
default:
|
||||
var10005 = 38;
|
||||
}
|
||||
|
||||
var4[var10003] = (char)(var10004 ^ var10005);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10003 = var2;
|
||||
var4 = var10001;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
d = (new String(var10001)).intern();
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10001;
|
||||
var10003 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
461
testData/obfuscated/o.java
Normal file
461
testData/obfuscated/o.java
Normal file
@@ -0,0 +1,461 @@
|
||||
import java.math.BigDecimal;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
public class o {
|
||||
private Object a;
|
||||
private static final Pattern b;
|
||||
private static final String c;
|
||||
|
||||
public boolean a() {
|
||||
boolean var10000;
|
||||
try {
|
||||
if (this.a == null) {
|
||||
var10000 = true;
|
||||
return var10000;
|
||||
}
|
||||
} catch (IllegalArgumentException var1) {
|
||||
throw var1;
|
||||
}
|
||||
|
||||
var10000 = false;
|
||||
return var10000;
|
||||
}
|
||||
|
||||
public boolean b() {
|
||||
// $FF: Couldn't be decompiled
|
||||
}
|
||||
|
||||
public boolean c() {
|
||||
boolean var10000;
|
||||
try {
|
||||
if (!this.b()) {
|
||||
var10000 = true;
|
||||
return var10000;
|
||||
}
|
||||
} catch (IllegalArgumentException var1) {
|
||||
throw var1;
|
||||
}
|
||||
|
||||
var10000 = false;
|
||||
return var10000;
|
||||
}
|
||||
|
||||
public o a(String... var1) {
|
||||
try {
|
||||
if (this.b()) {
|
||||
return this;
|
||||
}
|
||||
} catch (IllegalArgumentException var7) {
|
||||
throw var7;
|
||||
}
|
||||
|
||||
String[] var2 = var1;
|
||||
int var3 = var1.length;
|
||||
|
||||
for(int var4 = 0; var4 < var3; ++var4) {
|
||||
String var5 = var2[var4];
|
||||
|
||||
try {
|
||||
if (this.a.equals(var5)) {
|
||||
return b((Object)null);
|
||||
}
|
||||
} catch (IllegalArgumentException var6) {
|
||||
throw var6;
|
||||
}
|
||||
}
|
||||
|
||||
return this;
|
||||
}
|
||||
|
||||
public boolean d() {
|
||||
// $FF: Couldn't be decompiled
|
||||
}
|
||||
|
||||
public Object e() {
|
||||
return this.a;
|
||||
}
|
||||
|
||||
public Object a(Object var1) {
|
||||
Object var10000;
|
||||
try {
|
||||
if (this.a == null) {
|
||||
var10000 = var1;
|
||||
return var10000;
|
||||
}
|
||||
} catch (IllegalArgumentException var2) {
|
||||
throw var2;
|
||||
}
|
||||
|
||||
var10000 = this.a;
|
||||
return var10000;
|
||||
}
|
||||
|
||||
public <T> T a(Class<?> param1, T param2) {
|
||||
// $FF: Couldn't be decompiled
|
||||
}
|
||||
|
||||
public <V> V b(Class<V> param1, V param2) {
|
||||
// $FF: Couldn't be decompiled
|
||||
}
|
||||
|
||||
public String f() {
|
||||
String var10000;
|
||||
try {
|
||||
if (this.a()) {
|
||||
var10000 = null;
|
||||
return var10000;
|
||||
}
|
||||
} catch (IllegalArgumentException var1) {
|
||||
throw var1;
|
||||
}
|
||||
|
||||
var10000 = this.g();
|
||||
return var10000;
|
||||
}
|
||||
|
||||
public String g() {
|
||||
String var10000;
|
||||
try {
|
||||
if (this.a == null) {
|
||||
var10000 = "";
|
||||
return var10000;
|
||||
}
|
||||
} catch (IllegalArgumentException var1) {
|
||||
throw var1;
|
||||
}
|
||||
|
||||
var10000 = this.a.toString();
|
||||
return var10000;
|
||||
}
|
||||
|
||||
public String a(String var1) {
|
||||
String var10000;
|
||||
try {
|
||||
if (this.a()) {
|
||||
var10000 = var1;
|
||||
return var10000;
|
||||
}
|
||||
} catch (IllegalArgumentException var2) {
|
||||
throw var2;
|
||||
}
|
||||
|
||||
var10000 = this.g();
|
||||
return var10000;
|
||||
}
|
||||
|
||||
public boolean a(boolean var1) {
|
||||
try {
|
||||
if (this.a()) {
|
||||
return var1;
|
||||
}
|
||||
} catch (IllegalArgumentException var2) {
|
||||
throw var2;
|
||||
}
|
||||
|
||||
try {
|
||||
if (this.a instanceof Boolean) {
|
||||
return ((Boolean)this.a).booleanValue();
|
||||
}
|
||||
} catch (IllegalArgumentException var3) {
|
||||
throw var3;
|
||||
}
|
||||
|
||||
return Boolean.parseBoolean(String.valueOf(this.a));
|
||||
}
|
||||
|
||||
public boolean h() {
|
||||
return this.a(false);
|
||||
}
|
||||
|
||||
public int a(int param1) {
|
||||
// $FF: Couldn't be decompiled
|
||||
}
|
||||
|
||||
public Integer i() {
|
||||
// $FF: Couldn't be decompiled
|
||||
}
|
||||
|
||||
public long a(long param1) {
|
||||
// $FF: Couldn't be decompiled
|
||||
}
|
||||
|
||||
public Long j() {
|
||||
// $FF: Couldn't be decompiled
|
||||
}
|
||||
|
||||
public double a(double param1) {
|
||||
// $FF: Couldn't be decompiled
|
||||
}
|
||||
|
||||
public BigDecimal a(BigDecimal param1) {
|
||||
// $FF: Couldn't be decompiled
|
||||
}
|
||||
|
||||
public static o b(Object var0) {
|
||||
o var1 = new o();
|
||||
var1.a = var0;
|
||||
return var1;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return this.g();
|
||||
}
|
||||
|
||||
public <E extends Enum<E>> E a(Class<E> var1) {
|
||||
try {
|
||||
if (this.a == null) {
|
||||
return null;
|
||||
}
|
||||
} catch (Exception var4) {
|
||||
throw var4;
|
||||
}
|
||||
|
||||
try {
|
||||
if (var1.isAssignableFrom(this.a.getClass())) {
|
||||
return (Enum)this.a;
|
||||
}
|
||||
} catch (Exception var5) {
|
||||
throw var5;
|
||||
}
|
||||
|
||||
try {
|
||||
return Enum.valueOf(var1, String.valueOf(this.a));
|
||||
} catch (Exception var3) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public String b(int var1) {
|
||||
String var2 = this.g();
|
||||
|
||||
try {
|
||||
if (var2 == null) {
|
||||
return null;
|
||||
}
|
||||
} catch (IllegalArgumentException var3) {
|
||||
throw var3;
|
||||
}
|
||||
|
||||
if (var1 < 0) {
|
||||
var1 *= -1;
|
||||
|
||||
try {
|
||||
if (var2.length() < var1) {
|
||||
return "";
|
||||
}
|
||||
} catch (IllegalArgumentException var4) {
|
||||
throw var4;
|
||||
}
|
||||
|
||||
return var2.substring(var1);
|
||||
} else {
|
||||
try {
|
||||
if (var2.length() < var1) {
|
||||
return var2;
|
||||
}
|
||||
} catch (IllegalArgumentException var5) {
|
||||
throw var5;
|
||||
}
|
||||
|
||||
return var2.substring(0, var1);
|
||||
}
|
||||
}
|
||||
|
||||
public String c(int var1) {
|
||||
String var2 = this.g();
|
||||
|
||||
try {
|
||||
if (var2 == null) {
|
||||
return null;
|
||||
}
|
||||
} catch (IllegalArgumentException var3) {
|
||||
throw var3;
|
||||
}
|
||||
|
||||
if (var1 < 0) {
|
||||
var1 *= -1;
|
||||
|
||||
try {
|
||||
if (var2.length() < var1) {
|
||||
return var2;
|
||||
}
|
||||
} catch (IllegalArgumentException var4) {
|
||||
throw var4;
|
||||
}
|
||||
|
||||
return var2.substring(0, var2.length() - var1);
|
||||
} else {
|
||||
try {
|
||||
if (var2.length() < var1) {
|
||||
return var2;
|
||||
}
|
||||
} catch (IllegalArgumentException var5) {
|
||||
throw var5;
|
||||
}
|
||||
|
||||
return var2.substring(var2.length() - var1);
|
||||
}
|
||||
}
|
||||
|
||||
public String a(int var1, int var2) {
|
||||
String var3 = this.g();
|
||||
|
||||
try {
|
||||
if (var3 == null) {
|
||||
return null;
|
||||
}
|
||||
} catch (IllegalArgumentException var4) {
|
||||
throw var4;
|
||||
}
|
||||
|
||||
try {
|
||||
if (var1 > var3.length()) {
|
||||
return "";
|
||||
}
|
||||
} catch (IllegalArgumentException var5) {
|
||||
throw var5;
|
||||
}
|
||||
|
||||
return var3.substring(var1, Math.min(var3.length(), var2));
|
||||
}
|
||||
|
||||
public int k() {
|
||||
String var1 = this.g();
|
||||
|
||||
try {
|
||||
if (var1 == null) {
|
||||
return 0;
|
||||
}
|
||||
} catch (IllegalArgumentException var2) {
|
||||
throw var2;
|
||||
}
|
||||
|
||||
return var1.length();
|
||||
}
|
||||
|
||||
public boolean b(Class<?> param1) {
|
||||
// $FF: Couldn't be decompiled
|
||||
}
|
||||
|
||||
static {
|
||||
char[] var10000;
|
||||
int var1;
|
||||
char[] var10001;
|
||||
int var10002;
|
||||
int var2;
|
||||
int var10003;
|
||||
char[] var4;
|
||||
char var10004;
|
||||
byte var10005;
|
||||
label51: {
|
||||
var10000 = "\t!\"\u0000r>`/\u0001s<%>\u001a=>/vN".toCharArray();
|
||||
var10002 = var10000.length;
|
||||
var1 = 0;
|
||||
var10001 = var10000;
|
||||
var2 = var10002;
|
||||
if (var10002 <= 1) {
|
||||
var4 = var10000;
|
||||
var10003 = var1;
|
||||
} else {
|
||||
var10001 = var10000;
|
||||
var2 = var10002;
|
||||
if (var10002 <= var1) {
|
||||
break label51;
|
||||
}
|
||||
|
||||
var4 = var10000;
|
||||
var10003 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10004 = var4[var10003];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10005 = 74;
|
||||
break;
|
||||
case 1:
|
||||
var10005 = 64;
|
||||
break;
|
||||
case 2:
|
||||
var10005 = 76;
|
||||
break;
|
||||
case 3:
|
||||
var10005 = 110;
|
||||
break;
|
||||
default:
|
||||
var10005 = 29;
|
||||
}
|
||||
|
||||
var4[var10003] = (char)(var10004 ^ var10005);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10003 = var2;
|
||||
var4 = var10001;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
break;
|
||||
}
|
||||
|
||||
var4 = var10001;
|
||||
var10003 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
c = (new String(var10001)).intern();
|
||||
var10000 = "\u0016$gFAd\u001c(E4u".toCharArray();
|
||||
var10002 = var10000.length;
|
||||
var1 = 0;
|
||||
var10001 = var10000;
|
||||
var2 = var10002;
|
||||
if (var10002 <= 1) {
|
||||
var4 = var10000;
|
||||
var10003 = var1;
|
||||
} else {
|
||||
var10001 = var10000;
|
||||
var2 = var10002;
|
||||
if (var10002 <= var1) {
|
||||
b = Pattern.compile((new String(var10000)).intern());
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10000;
|
||||
var10003 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10004 = var4[var10003];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10005 = 74;
|
||||
break;
|
||||
case 1:
|
||||
var10005 = 64;
|
||||
break;
|
||||
case 2:
|
||||
var10005 = 76;
|
||||
break;
|
||||
case 3:
|
||||
var10005 = 110;
|
||||
break;
|
||||
default:
|
||||
var10005 = 29;
|
||||
}
|
||||
|
||||
var4[var10003] = (char)(var10004 ^ var10005);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10003 = var2;
|
||||
var4 = var10001;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
b = Pattern.compile((new String(var10001)).intern());
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10001;
|
||||
var10003 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
1047
testData/obfuscated/p.java
Normal file
1047
testData/obfuscated/p.java
Normal file
File diff suppressed because it is too large
Load Diff
3
testData/obfuscated/q.java
Normal file
3
testData/obfuscated/q.java
Normal file
@@ -0,0 +1,3 @@
|
||||
public interface q {
|
||||
void a(p var1);
|
||||
}
|
||||
172
testData/obfuscated/r.java
Normal file
172
testData/obfuscated/r.java
Normal file
@@ -0,0 +1,172 @@
|
||||
import java.sql.SQLException;
|
||||
import java.util.List;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
public class r {
|
||||
public static final Logger a;
|
||||
@x(
|
||||
a = q.class
|
||||
)
|
||||
private static List<q> b;
|
||||
private static final String[] c;
|
||||
|
||||
public static s a(String var0) {
|
||||
return new s(var0);
|
||||
}
|
||||
|
||||
private static a9 a(p param0) {
|
||||
// $FF: Couldn't be decompiled
|
||||
}
|
||||
|
||||
public static a9 a(Throwable var0) {
|
||||
try {
|
||||
if (var0 instanceof a9) {
|
||||
return (a9)var0;
|
||||
}
|
||||
} catch (a9 var1) {
|
||||
throw var1;
|
||||
}
|
||||
|
||||
try {
|
||||
if (var0 instanceof SQLException) {
|
||||
return a(c[0]).a(var0).a();
|
||||
}
|
||||
} catch (a9 var2) {
|
||||
throw var2;
|
||||
}
|
||||
|
||||
return a(c[1]).a(var0).a();
|
||||
}
|
||||
|
||||
static a9 b(p var0) {
|
||||
return a(var0);
|
||||
}
|
||||
|
||||
static {
|
||||
String[] var10000;
|
||||
int var1;
|
||||
int var2;
|
||||
char[] var10003;
|
||||
char[] var10004;
|
||||
char[] var4;
|
||||
int var10005;
|
||||
int var10006;
|
||||
char var10007;
|
||||
byte var10008;
|
||||
label51: {
|
||||
var10000 = new String[2];
|
||||
var10003 = "hzE\u0016\u0001nt\u0002\u0007\u000bi|\u000275W\\T\u0007\u0001kmE\u000b\n".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
break label51;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 27;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 25;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 44;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 100;
|
||||
break;
|
||||
default:
|
||||
var10008 = 100;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
break;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var10000[0] = (new String(var10004)).intern();
|
||||
var10003 = "hzE\u0016\u0001nt\u0002\u0007\u000bi|\u00021\n~a\\\u0001\u0007o|H!\u001cx|\\\u0010\rtw".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
var10000[1] = (new String(var10003)).intern();
|
||||
c = var10000;
|
||||
a = Logger.getLogger(r.class.getName());
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 27;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 25;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 44;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 100;
|
||||
break;
|
||||
default:
|
||||
var10008 = 100;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
var10000[1] = (new String(var10004)).intern();
|
||||
c = var10000;
|
||||
a = Logger.getLogger(r.class.getName());
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
937
testData/obfuscated/s.java
Normal file
937
testData/obfuscated/s.java
Normal file
@@ -0,0 +1,937 @@
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.Map;
|
||||
|
||||
public class s {
|
||||
private final String a;
|
||||
private Map<String, String> b = new LinkedHashMap();
|
||||
private Throwable c;
|
||||
public static int d;
|
||||
private static final String[] e;
|
||||
|
||||
public s(String var1) {
|
||||
this.a = var1;
|
||||
}
|
||||
|
||||
public s a(Throwable var1) {
|
||||
this.c = var1;
|
||||
return this;
|
||||
}
|
||||
|
||||
public s a(String var1, Object var2) {
|
||||
try {
|
||||
if (var2 != null) {
|
||||
this.b.put(var1, var2.toString());
|
||||
}
|
||||
|
||||
return this;
|
||||
} catch (a_ var3) {
|
||||
throw var3;
|
||||
}
|
||||
}
|
||||
|
||||
public a9 a() {
|
||||
return r.b(this.b());
|
||||
}
|
||||
|
||||
protected p b() {
|
||||
// $FF: Couldn't be decompiled
|
||||
}
|
||||
|
||||
protected static String b(Throwable var0) {
|
||||
String var1 = "-";
|
||||
StackTraceElement[] var2;
|
||||
if (var0 != null) {
|
||||
var2 = var0.getStackTrace();
|
||||
if (var2.length > 0) {
|
||||
var1 = var2[0].getFileName() + ":" + var2[0].getLineNumber() + "[" + var2[0].getClassName() + "." + var2[0].getMethodName() + "]";
|
||||
}
|
||||
} else {
|
||||
var2 = Thread.currentThread().getStackTrace();
|
||||
if (var2.length > 5) {
|
||||
var1 = var2[5].getFileName() + ":" + var2[5].getLineNumber() + "[" + var2[5].getClassName() + "." + var2[5].getMethodName() + "]";
|
||||
}
|
||||
}
|
||||
|
||||
return var1;
|
||||
}
|
||||
|
||||
static {
|
||||
String[] var10000 = new String[5];
|
||||
char[] var10003 = "][BX\u0014\u0014\u000bsI\u0018\u001fA'".toCharArray();
|
||||
int var10005 = var10003.length;
|
||||
int var1 = 0;
|
||||
char[] var10004 = var10003;
|
||||
int var2 = var10005;
|
||||
char[] var4;
|
||||
int var10006;
|
||||
char var10007;
|
||||
byte var10008;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
var10007 = var10003[var1];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 113;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 123;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 7;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 32;
|
||||
break;
|
||||
default:
|
||||
var10008 = 119;
|
||||
}
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
label316: {
|
||||
var10000[0] = (new String(var10003)).intern();
|
||||
var10003 = "\u001e\tnG\u001e\u001f".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
break label316;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 113;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 123;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 7;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 32;
|
||||
break;
|
||||
default:
|
||||
var10008 = 119;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
break;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var10000[1] = (new String(var10004)).intern();
|
||||
var10003 = "K[".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
var10007 = var10003[var1];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 113;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 123;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 7;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 32;
|
||||
break;
|
||||
default:
|
||||
var10008 = 119;
|
||||
}
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
label384: {
|
||||
var10000[2] = (new String(var10003)).intern();
|
||||
var10003 = "QF'".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
break label384;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 113;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 123;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 7;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 32;
|
||||
break;
|
||||
default:
|
||||
var10008 = 119;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
break;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var10000[3] = (new String(var10004)).intern();
|
||||
var10003 = "][".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
var10000[4] = (new String(var10003)).intern();
|
||||
e = var10000;
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 113;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 123;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 7;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 32;
|
||||
break;
|
||||
default:
|
||||
var10008 = 119;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
var10000[4] = (new String(var10004)).intern();
|
||||
e = var10000;
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
var10007 = var10003[var1];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 113;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 123;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 7;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 32;
|
||||
break;
|
||||
default:
|
||||
var10008 = 119;
|
||||
}
|
||||
}
|
||||
|
||||
while(true) {
|
||||
while(true) {
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
var10007 = var10004[var2];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 113;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 123;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 7;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 32;
|
||||
break;
|
||||
default:
|
||||
var10008 = 119;
|
||||
}
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
label492: {
|
||||
var10000[2] = (new String(var10004)).intern();
|
||||
var10003 = "QF'".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
break label492;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 113;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 123;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 7;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 32;
|
||||
break;
|
||||
default:
|
||||
var10008 = 119;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
break;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var10000[3] = (new String(var10004)).intern();
|
||||
var10003 = "][".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
var10000[4] = (new String(var10003)).intern();
|
||||
e = var10000;
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 113;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 123;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 7;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 32;
|
||||
break;
|
||||
default:
|
||||
var10008 = 119;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
var10000[4] = (new String(var10004)).intern();
|
||||
e = var10000;
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
var10007 = var10004[var1];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 113;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 123;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 7;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 32;
|
||||
break;
|
||||
default:
|
||||
var10008 = 119;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
var10007 = var10003[var1];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 113;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 123;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 7;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 32;
|
||||
break;
|
||||
default:
|
||||
var10008 = 119;
|
||||
}
|
||||
}
|
||||
|
||||
while(true) {
|
||||
while(true) {
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
var10007 = var10004[var2];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 113;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 123;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 7;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 32;
|
||||
break;
|
||||
default:
|
||||
var10008 = 119;
|
||||
}
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
label129: {
|
||||
var10000[0] = (new String(var10004)).intern();
|
||||
var10003 = "\u001e\tnG\u001e\u001f".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
break label129;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 113;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 123;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 7;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 32;
|
||||
break;
|
||||
default:
|
||||
var10008 = 119;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
break;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var10000[1] = (new String(var10004)).intern();
|
||||
var10003 = "K[".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
var10007 = var10003[var1];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 113;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 123;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 7;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 32;
|
||||
break;
|
||||
default:
|
||||
var10008 = 119;
|
||||
}
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
label173: {
|
||||
var10000[2] = (new String(var10003)).intern();
|
||||
var10003 = "QF'".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
break label173;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 113;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 123;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 7;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 32;
|
||||
break;
|
||||
default:
|
||||
var10008 = 119;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
break;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var10000[3] = (new String(var10004)).intern();
|
||||
var10003 = "][".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
var10000[4] = (new String(var10003)).intern();
|
||||
e = var10000;
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 113;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 123;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 7;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 32;
|
||||
break;
|
||||
default:
|
||||
var10008 = 119;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
var10000[4] = (new String(var10004)).intern();
|
||||
e = var10000;
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
var10007 = var10003[var1];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 113;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 123;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 7;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 32;
|
||||
break;
|
||||
default:
|
||||
var10008 = 119;
|
||||
}
|
||||
}
|
||||
|
||||
while(true) {
|
||||
while(true) {
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
var10007 = var10004[var2];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 113;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 123;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 7;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 32;
|
||||
break;
|
||||
default:
|
||||
var10008 = 119;
|
||||
}
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
label93: {
|
||||
var10000[2] = (new String(var10004)).intern();
|
||||
var10003 = "QF'".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
break label93;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 113;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 123;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 7;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 32;
|
||||
break;
|
||||
default:
|
||||
var10008 = 119;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
break;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var10000[3] = (new String(var10004)).intern();
|
||||
var10003 = "][".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
var10000[4] = (new String(var10003)).intern();
|
||||
e = var10000;
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 113;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 123;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 7;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 32;
|
||||
break;
|
||||
default:
|
||||
var10008 = 119;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
var10000[4] = (new String(var10004)).intern();
|
||||
e = var10000;
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
var10007 = var10004[var1];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 113;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 123;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 7;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 32;
|
||||
break;
|
||||
default:
|
||||
var10008 = 119;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
var10007 = var10004[var1];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 113;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 123;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 7;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 32;
|
||||
break;
|
||||
default:
|
||||
var10008 = 119;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
5
testData/obfuscated/u.java
Normal file
5
testData/obfuscated/u.java
Normal file
@@ -0,0 +1,5 @@
|
||||
public interface u {
|
||||
void a(Class<?> var1) throws Exception;
|
||||
|
||||
void a() throws Exception;
|
||||
}
|
||||
379
testData/obfuscated/v.java
Normal file
379
testData/obfuscated/v.java
Normal file
@@ -0,0 +1,379 @@
|
||||
import java.lang.reflect.Field;
|
||||
import java.util.logging.Level;
|
||||
|
||||
public class v {
|
||||
private static final String[] a;
|
||||
|
||||
public static Object a(Object var0) {
|
||||
try {
|
||||
if (var0 != null) {
|
||||
a(var0, var0.getClass());
|
||||
}
|
||||
|
||||
return var0;
|
||||
} catch (IllegalArgumentException var1) {
|
||||
throw var1;
|
||||
}
|
||||
}
|
||||
|
||||
private static void a(Object param0, Class<?> param1) {
|
||||
// $FF: Couldn't be decompiled
|
||||
}
|
||||
|
||||
private static void a(Field param0, Object param1) {
|
||||
// $FF: Couldn't be decompiled
|
||||
}
|
||||
|
||||
private static void b(Field var0, Object var1) {
|
||||
try {
|
||||
var0.set(var1, t.a(var0.getType()));
|
||||
} catch (Throwable var3) {
|
||||
t.a.log(Level.WARNING, var1.getClass() + "." + var0.getName() + a[0] + var3.getMessage(), var3);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public <I> I a(Class<I> var1) {
|
||||
try {
|
||||
return a(var1.newInstance());
|
||||
} catch (Throwable var3) {
|
||||
throw new IllegalArgumentException(var3);
|
||||
}
|
||||
}
|
||||
|
||||
static {
|
||||
String[] var10000 = new String[3];
|
||||
char[] var10003 = "]\u0007".toCharArray();
|
||||
int var10005 = var10003.length;
|
||||
int var1 = 0;
|
||||
char[] var10004 = var10003;
|
||||
int var2 = var10005;
|
||||
char[] var4;
|
||||
int var10006;
|
||||
char var10007;
|
||||
byte var10008;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
var10007 = var10003[var1];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 103;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 39;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 44;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 46;
|
||||
break;
|
||||
default:
|
||||
var10008 = 93;
|
||||
}
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
label127: {
|
||||
var10000[0] = (new String(var10003)).intern();
|
||||
var10003 = "]\u0007".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
break label127;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 103;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 39;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 44;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 46;
|
||||
break;
|
||||
default:
|
||||
var10008 = 93;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
break;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var10000[1] = (new String(var10004)).intern();
|
||||
var10003 = "]\u0007lg3\rBOZ\u0011\u000eTX\u000e/\u0002VYG/\u0002C\fO}\rFZOs\u0012SEBs+N_Za\"\u0019\fO.GAEK1\u0003\u0007XW-\u0002".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
var10000[2] = (new String(var10003)).intern();
|
||||
a = var10000;
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 103;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 39;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 44;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 46;
|
||||
break;
|
||||
default:
|
||||
var10008 = 93;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
var10000[2] = (new String(var10004)).intern();
|
||||
a = var10000;
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
var10007 = var10003[var1];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 103;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 39;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 44;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 46;
|
||||
break;
|
||||
default:
|
||||
var10008 = 93;
|
||||
}
|
||||
}
|
||||
|
||||
while(true) {
|
||||
while(true) {
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
var10007 = var10004[var2];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 103;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 39;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 44;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 46;
|
||||
break;
|
||||
default:
|
||||
var10008 = 93;
|
||||
}
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
label65: {
|
||||
var10000[0] = (new String(var10004)).intern();
|
||||
var10003 = "]\u0007".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
break label65;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 103;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 39;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 44;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 46;
|
||||
break;
|
||||
default:
|
||||
var10008 = 93;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
break;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var10000[1] = (new String(var10004)).intern();
|
||||
var10003 = "]\u0007lg3\rBOZ\u0011\u000eTX\u000e/\u0002VYG/\u0002C\fO}\rFZOs\u0012SEBs+N_Za\"\u0019\fO.GAEK1\u0003\u0007XW-\u0002".toCharArray();
|
||||
var10005 = var10003.length;
|
||||
var1 = 0;
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= 1) {
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
} else {
|
||||
var10004 = var10003;
|
||||
var2 = var10005;
|
||||
if (var10005 <= var1) {
|
||||
var10000[2] = (new String(var10003)).intern();
|
||||
a = var10000;
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10003;
|
||||
var10006 = var1;
|
||||
}
|
||||
|
||||
while(true) {
|
||||
var10007 = var4[var10006];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 103;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 39;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 44;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 46;
|
||||
break;
|
||||
default:
|
||||
var10008 = 93;
|
||||
}
|
||||
|
||||
var4[var10006] = (char)(var10007 ^ var10008);
|
||||
++var1;
|
||||
if (var2 == 0) {
|
||||
var10006 = var2;
|
||||
var4 = var10004;
|
||||
} else {
|
||||
if (var2 <= var1) {
|
||||
var10000[2] = (new String(var10004)).intern();
|
||||
a = var10000;
|
||||
return;
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var4 = var10004;
|
||||
var10006 = var1;
|
||||
var10007 = var10004[var1];
|
||||
switch(var1 % 5) {
|
||||
case 0:
|
||||
var10008 = 103;
|
||||
break;
|
||||
case 1:
|
||||
var10008 = 39;
|
||||
break;
|
||||
case 2:
|
||||
var10008 = 44;
|
||||
break;
|
||||
case 3:
|
||||
var10008 = 46;
|
||||
break;
|
||||
default:
|
||||
var10008 = 93;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
9
testData/obfuscated/w.java
Normal file
9
testData/obfuscated/w.java
Normal file
@@ -0,0 +1,9 @@
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.annotation.Target;
|
||||
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Target({ElementType.FIELD})
|
||||
public @interface w {
|
||||
}
|
||||
10
testData/obfuscated/x.java
Normal file
10
testData/obfuscated/x.java
Normal file
@@ -0,0 +1,10 @@
|
||||
import java.lang.annotation.ElementType;
|
||||
import java.lang.annotation.Retention;
|
||||
import java.lang.annotation.RetentionPolicy;
|
||||
import java.lang.annotation.Target;
|
||||
|
||||
@Retention(RetentionPolicy.RUNTIME)
|
||||
@Target({ElementType.FIELD})
|
||||
public @interface x {
|
||||
Class<?> a();
|
||||
}
|
||||
18
testData/obfuscated/y.java
Normal file
18
testData/obfuscated/y.java
Normal file
@@ -0,0 +1,18 @@
|
||||
public class y<P> {
|
||||
private P a;
|
||||
private Class<P> b;
|
||||
private boolean c;
|
||||
public static int d;
|
||||
|
||||
private y(Class<P> var1) {
|
||||
this.b = var1;
|
||||
}
|
||||
|
||||
public static <P> y<P> a(Class<P> var0) {
|
||||
return new y(var0);
|
||||
}
|
||||
|
||||
public P a() {
|
||||
// $FF: Couldn't be decompiled
|
||||
}
|
||||
}
|
||||
22
testData/obfuscated/z.java
Normal file
22
testData/obfuscated/z.java
Normal file
@@ -0,0 +1,22 @@
|
||||
import java.util.List;
|
||||
|
||||
public class z<P> {
|
||||
private List<P> a;
|
||||
private Class<P> b;
|
||||
|
||||
private z(Class<P> var1) {
|
||||
this.b = var1;
|
||||
}
|
||||
|
||||
public static <P> z<P> a(Class<P> var0) {
|
||||
return new z(var0);
|
||||
}
|
||||
|
||||
public List<P> a() {
|
||||
// $FF: Couldn't be decompiled
|
||||
}
|
||||
|
||||
public List<P> b() {
|
||||
return t.b(this.b);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user