SBoT 1.0 decompiled with CFR 0.152
Full source recovered from SBoT.jar (July 2004) plus the three bundled example scripts (BoneBury, GuildFish, GuildFisher). Class names are the original RSC-era single-letter obfuscation (a.java-z.java); mudclient.java and Script.java kept their real names since those weren't obfuscated.
This commit is contained in:
@@ -0,0 +1,234 @@
|
||||
/*
|
||||
* Decompiled with CFR 0.152.
|
||||
*/
|
||||
public class j {
|
||||
public static byte[] a = new byte[100];
|
||||
public static char[] b = new char[100];
|
||||
private static char[] c = new char[]{' ', 'e', 't', 'a', 'o', 'i', 'h', 'n', 's', 'r', 'd', 'l', 'u', 'm', 'w', 'c', 'y', 'f', 'g', 'p', 'b', 'v', 'k', 'x', 'j', 'q', 'z', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', ' ', '!', '?', '.', ',', ':', ';', '(', ')', '-', '&', '*', '\\', '\'', '@', '#', '+', '=', '\u00a3', '$', '%', '\"', '[', ']'};
|
||||
|
||||
/*
|
||||
* Unable to fully structure code
|
||||
*/
|
||||
public static String a(byte[] var0, int var1_1, int var2_2) {
|
||||
var9_3 = q.d;
|
||||
var3_4 = false;
|
||||
try {
|
||||
var4_5 = 0;
|
||||
var5_7 = -1;
|
||||
for (var6_8 = 0; var6_8 < var2_2; ++var6_8) {
|
||||
block24: {
|
||||
block20: {
|
||||
block21: {
|
||||
block22: {
|
||||
block23: {
|
||||
var7_9 = var0[var1_1++] & 255;
|
||||
var8_10 = var7_9 >> 4 & 15;
|
||||
v0 = var5_7;
|
||||
if (var9_3) break block20;
|
||||
v1 = -1;
|
||||
if (var9_3) ** GOTO lbl49
|
||||
if (v0 != v1) break block21;
|
||||
v2 = var8_10;
|
||||
if (var9_3) break block22;
|
||||
if (v2 >= 13) break block23;
|
||||
j.b[var4_5++] = j.c[var8_10];
|
||||
if (!var9_3) break block24;
|
||||
}
|
||||
v2 = var5_7 = var8_10;
|
||||
}
|
||||
if (!var9_3) break block24;
|
||||
}
|
||||
j.b[var4_5++] = j.c[(var5_7 << 4) + var8_10 - 195];
|
||||
v0 = -1;
|
||||
}
|
||||
var5_7 = v0;
|
||||
}
|
||||
var8_10 = var7_9 & 15;
|
||||
v3 = var5_7;
|
||||
if (!var9_3) {
|
||||
if (v3 == -1) {
|
||||
v4 = var8_10;
|
||||
if (!var9_3) {
|
||||
if (v4 < 13) {
|
||||
j.b[var4_5++] = j.c[var8_10];
|
||||
if (!var9_3) continue;
|
||||
}
|
||||
v4 = var5_7 = var8_10;
|
||||
}
|
||||
if (!var9_3) continue;
|
||||
}
|
||||
j.b[var4_5++] = j.c[(var5_7 << 4) + var8_10 - 195];
|
||||
v3 = -1;
|
||||
}
|
||||
var5_7 = v3;
|
||||
if (!var9_3) continue;
|
||||
}
|
||||
var6_8 = 1;
|
||||
var7_9 = 0;
|
||||
do {
|
||||
block33: {
|
||||
block31: {
|
||||
block32: {
|
||||
block30: {
|
||||
block28: {
|
||||
block29: {
|
||||
block27: {
|
||||
block25: {
|
||||
block26: {
|
||||
v5 = var7_9;
|
||||
v1 = var4_5;
|
||||
lbl49:
|
||||
// 2 sources
|
||||
|
||||
if (v5 >= v1) break;
|
||||
var8_10 = j.b[var7_9];
|
||||
v6 = var7_9;
|
||||
v7 = 4;
|
||||
if (var9_3) break block25;
|
||||
if (v6 <= v7) break block26;
|
||||
v6 = var8_10;
|
||||
v7 = 64;
|
||||
if (var9_3) break block25;
|
||||
if (v6 == v7) {
|
||||
j.b[var7_9] = 32;
|
||||
}
|
||||
}
|
||||
v6 = var8_10;
|
||||
if (var9_3) break block27;
|
||||
v7 = 37;
|
||||
}
|
||||
if (v6 == v7) {
|
||||
j.b[var7_9] = 32;
|
||||
}
|
||||
v6 = var6_8;
|
||||
}
|
||||
if (var9_3) break block28;
|
||||
if (v6 == 0) break block29;
|
||||
v6 = var8_10;
|
||||
v8 = 97;
|
||||
if (var9_3) break block30;
|
||||
if (v6 < v8) break block29;
|
||||
v6 = var8_10;
|
||||
v8 = 122;
|
||||
if (var9_3) break block30;
|
||||
if (v6 <= v8) {
|
||||
v9 = var7_9;
|
||||
j.b[v9] = (char)(j.b[v9] + 65504);
|
||||
var6_8 = 0;
|
||||
}
|
||||
}
|
||||
v6 = var8_10;
|
||||
}
|
||||
if (var9_3) break block31;
|
||||
v8 = 46;
|
||||
}
|
||||
if (v6 == v8) break block32;
|
||||
v6 = var8_10;
|
||||
if (var9_3) break block31;
|
||||
if (v6 != 33) break block33;
|
||||
}
|
||||
v6 = 1;
|
||||
}
|
||||
var6_8 = v6;
|
||||
}
|
||||
++var7_9;
|
||||
} while (!var9_3);
|
||||
return new String(j.b, 0, var4_5);
|
||||
}
|
||||
catch (Exception var4_6) {
|
||||
return ".";
|
||||
}
|
||||
}
|
||||
|
||||
public static int a(String string) {
|
||||
int n2;
|
||||
int n3;
|
||||
int n4;
|
||||
boolean bl;
|
||||
block16: {
|
||||
bl = q.d;
|
||||
boolean bl2 = false;
|
||||
int n5 = string.length();
|
||||
if (!bl) {
|
||||
if (n5 > 80) {
|
||||
string = string.substring(0, 80);
|
||||
}
|
||||
string = string.toLowerCase();
|
||||
n5 = 0;
|
||||
}
|
||||
n4 = n5;
|
||||
n3 = -1;
|
||||
for (int i2 = 0; i2 < string.length(); ++i2) {
|
||||
int n6;
|
||||
int n7;
|
||||
int n8;
|
||||
block18: {
|
||||
block19: {
|
||||
block21: {
|
||||
block20: {
|
||||
block17: {
|
||||
int n9 = string.charAt(i2);
|
||||
n8 = 0;
|
||||
n2 = 0;
|
||||
if (bl) break block16;
|
||||
for (int i3 = v172397; i3 < c.length; ++i3) {
|
||||
int n10 = n9;
|
||||
if (!bl) {
|
||||
n7 = c[i3];
|
||||
if (bl) break block17;
|
||||
if (n10 != n7 && !bl) continue;
|
||||
n10 = n8 = i3;
|
||||
}
|
||||
if (!bl) break;
|
||||
if (!bl) continue;
|
||||
}
|
||||
n6 = n8;
|
||||
n7 = 12;
|
||||
}
|
||||
if (!bl) {
|
||||
if (n6 > n7) {
|
||||
n8 += 195;
|
||||
}
|
||||
n6 = n3;
|
||||
n7 = -1;
|
||||
}
|
||||
if (bl) break block18;
|
||||
if (n6 != n7) break block19;
|
||||
int n11 = n8;
|
||||
if (bl) break block20;
|
||||
if (n11 >= 13) break block21;
|
||||
n11 = n3 = n8;
|
||||
}
|
||||
if (!bl) continue;
|
||||
}
|
||||
j.a[n4++] = (byte)n8;
|
||||
if (!bl) continue;
|
||||
}
|
||||
n6 = n8;
|
||||
n7 = 13;
|
||||
}
|
||||
if (!bl) {
|
||||
if (n6 < n7) {
|
||||
j.a[n4++] = (byte)((n3 << 4) + n8);
|
||||
n3 = -1;
|
||||
if (!bl) continue;
|
||||
}
|
||||
j.a[n4++] = (byte)((n3 << 4) + (n8 >> 4));
|
||||
n6 = n8;
|
||||
n7 = 15;
|
||||
}
|
||||
n3 = n6 & n7;
|
||||
if (!bl) continue;
|
||||
}
|
||||
n2 = n3;
|
||||
}
|
||||
if (!bl) {
|
||||
if (n2 != -1) {
|
||||
j.a[n4++] = (byte)(n3 << 4);
|
||||
}
|
||||
n2 = n4;
|
||||
}
|
||||
return n2;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user