You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
350 lines
11 KiB
350 lines
11 KiB
8 years ago
|
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
|
||
|
}
|
||
|
}
|