📄 _b_b.java
字号:
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space
import java.io.*;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.MIDlet;
public class _B_B extends Canvas
implements Runnable
{
private int a_int;
private long a_long;
private long b_long;
public static MIDlet _d;
private Image a_javax_microedition_lcdui_Image;
private byte a_byte;
private final byte a_byte_array1d[];
private int b_int;
private int c_int;
private int d;
private int e;
private int f;
private int g;
private int h;
private long c_long;
private int i;
private byte b_byte_array1d[];
private int a_int_array1d[];
private static String a_java_lang_String_array1d_static[];
public static int _BB[];
private int _CC;
private final void a(byte abyte0[])
{
int j;
j = 0;
do
{
if (j >= 256)
{
j = 0;
k = 0;
continue;
}
a_byte_array1d[j] = (byte)j;
j++;
} while (true);
while (true)
{
int k;
if (j >= 256)
{
b_int = 0;
c_int = 0;
return;
}
k = k + a_byte_array1d[j] + abyte0[j % abyte0.length] & 0xff;
byte byte0 = a_byte_array1d[j];
a_byte_array1d[j] = a_byte_array1d[k];
a_byte_array1d[k] = byte0;
j++;
}
}
private final void a(byte abyte0[], int j, int k)
{
a(abyte0, j, abyte0, j, k);
}
private final void a(byte abyte0[], int j, byte abyte1[], int k, int l)
{
int i1 = b_int;
int j1 = c_int;
for (int k1 = 0; k1 < l; k1++)
{
i1 = i1 + 1 & 0xff;
j1 = j1 + a_byte_array1d[i1] & 0xff;
byte byte0 = a_byte_array1d[i1];
a_byte_array1d[i1] = a_byte_array1d[j1];
a_byte_array1d[j1] = byte0;
abyte1[k + k1] = (byte)(abyte0[j + k1] ^ a_byte_array1d[a_byte_array1d[i1] + a_byte_array1d[j1] & 0xff]);
}
b_int = i1;
c_int = j1;
}
private final void a()
{
d = 0x67452301;
e = 0xefcdab89;
f = 0x98badcfe;
g = 0x10325476;
h = 0;
c_long = 0L;
i = 0;
h = 0xc3d2e1f0;
b_byte_array1d = new byte[64];
a_int_array1d = new int[80];
}
private final void b(byte abyte0[], int j, int k)
{
if (i > 0)
{
int l = 64 - i;
if (k >= l)
{
System.arraycopy(abyte0, j, b_byte_array1d, i, l);
b(b_byte_array1d, 0);
i = 0;
j += l;
k -= l;
}
}
do
{
if (k < 64)
{
System.arraycopy(abyte0, j, b_byte_array1d, i, k);
i += k;
return;
}
b(abyte0, j);
j += 64;
k -= 64;
} while (true);
}
private final byte[] a()
{
byte abyte0[] = new byte[20];
a(abyte0, 0);
return abyte0;
}
private final void a(byte abyte0[], int j)
{
byte abyte1[] = b_byte_array1d;
if (abyte1 == null) goto _L2; else goto _L1
_L1:
int k;
long l;
k = i;
l = c_long + (long)(k << 3);
abyte1[k++] = -128;
if (k <= 56) goto _L4; else goto _L3
_L4:
if (k >= 56)
{
c(abyte1, 56, (int)(l >> 32));
c(abyte1, 60, (int)l);
b(abyte1, 0);
b_byte_array1d = null;
a_int_array1d = null;
} else
{
abyte1[k++] = 0;
continue; /* Loop/switch isn't completed */
}
goto _L2
_L3:
do
{
if (k >= 64)
{
b(abyte1, 0);
k = 0;
continue; /* Loop/switch isn't completed */
}
abyte1[k++] = 0;
} while (true);
_L2:
c(abyte0, j, d);
c(abyte0, j + 4, e);
c(abyte0, j + 8, f);
c(abyte0, j + 12, g);
c(abyte0, j + 16, h);
return;
if (true) goto _L4; else goto _L5
_L5:
}
private final void b(byte abyte0[], int j)
{
int ai[];
int k;
ai = a_int_array1d;
k = 0;
_L3:
if (k < 16)
break MISSING_BLOCK_LABEL_503;
k = 16;
_L1:
label0:
{
if (k < 80)
break label0;
k = d;
l = e;
i1 = f;
j1 = g;
k1 = h;
l1 = 0;
}
do
{
while (l1 >= 20)
{
int l;
int i1;
int j1;
int k1;
int l1;
int j2;
for (; l1 < 40; l1++)
{
int i2 = (k << 5 | k >>> 27) + (l ^ i1 ^ j1) + k1 + ai[l1] + 0x6ed9eba1;
k1 = j1;
j1 = i1;
i1 = l << 30 | l >>> 2;
l = k;
k = i2;
}
for (; l1 < 60; l1++)
{
j2 = (k << 5 | k >>> 27) + (l & i1 | l & j1 | i1 & j1) + k1 + ai[l1] + 0x8f1bbcdc;
k1 = j1;
j1 = i1;
i1 = l << 30 | l >>> 2;
l = k;
k = j2;
}
do
{
if (l1 >= 80)
{
d += k;
e += l;
f += i1;
g += j1;
h += k1;
c_long += 512L;
return;
}
j2 = (k << 5 | k >>> 27) + (l ^ i1 ^ j1) + k1 + ai[l1] + 0xca62c1d6;
k1 = j1;
j1 = i1;
i1 = l << 30 | l >>> 2;
l = k;
k = j2;
l1++;
} while (true);
}
j2 = (k << 5 | k >>> 27) + (l & i1 | ~l & j1) + k1 + ai[l1] + 0x5a827999;
k1 = j1;
j1 = i1;
i1 = l << 30 | l >>> 2;
l = k;
k = j2;
l1++;
} while (true);
l = ai[k - 3] ^ ai[k - 8] ^ ai[k - 14] ^ ai[k - 16];
ai[k] = l << 1 | l >>> 31;
k++;
goto _L1
ai[k] = abyte0[j] << 24 | (abyte0[j + 1] & 0xff) << 16 | (abyte0[j + 2] & 0xff) << 8 | abyte0[j + 3] & 0xff;
k++;
j += 4;
if (true) goto _L3; else goto _L2
_L2:
}
private static void c(byte abyte0[], int j, int k)
{
abyte0[j] = (byte)(k >>> 24);
abyte0[j + 1] = (byte)(k >>> 16);
abyte0[j + 2] = (byte)(k >>> 8);
abyte0[j + 3] = (byte)k;
}
public _B_B()
{
_CC = 0;
a_byte = 2;
a_byte_array1d = new byte[256];
}
public _B_B(MIDlet midlet)
{
_CC = 0;
a_byte = 2;
a_byte_array1d = new byte[256];
a_int = 50;
a_long = 2000L;
b_long = 0L;
_d = midlet;
c();
setFullScreenMode(true);
Display.getDisplay(_d).setCurrent(this);
}
public static Displayable _b()
{
Displayable displayable = Display.getDisplay(_d).getCurrent() != null ? (Display.getDisplay(_d).getCurrent() instanceof _B_B) ? null : Display.getDisplay(_d).getCurrent() : null;
return displayable;
}
public final void _e()
{
(new Thread(this)).start();
}
public final void run()
{
do
{
if (b_long > a_long)
break;
if (isShown())
{
long l = System.currentTimeMillis();
d();
repaint();
serviceRepaints();
int j = (int)(System.currentTimeMillis() - l);
if (j < a_int)
{
try
{
Thread.sleep(a_int - j);
}
catch (Exception exception1) { }
b_long += a_int - j;
} else
{
b_long += a_int;
}
}
} while (true);
b();
try
{
_i();
}
catch (Exception exception) { }
}
private final void b()
{
}
private final void c()
{
try
{
InputStream inputstream = A_B_C_D("").getClass().getResourceAsStream(A_B_C_D(a_java_lang_String_array1d_static[0]));
byte abyte0[] = _w(inputstream);
a_javax_microedition_lcdui_Image = Image.createImage(abyte0, 0, abyte0.length);
}
catch (Exception exception)
{
exception.printStackTrace();
_d.notifyDestroyed();
}
}
public final byte[] _w(InputStream inputstream)
{
byte abyte0[] = new byte[1024];
byte byte0 = -1;
try
{
ByteArrayOutputStream bytearrayoutputstream = new ByteArrayOutputStream();
int j;
while ((j = inputstream.read(abyte0)) > 0)
bytearrayoutputstream.write(abyte0, 0, j);
byte abyte1[] = new byte[16];
System.arraycopy(A_B_C_D(a_java_lang_String_array1d_static[2]).getBytes(), 0, abyte1, 0, 8);
System.arraycopy(A_B_C_D(a_java_lang_String_array1d_static[1]).getBytes(), 0, abyte1, 8, 8);
byte abyte2[] = a(abyte1, bytearrayoutputstream.toByteArray());
return abyte2;
}
catch (Exception exception)
{
return null;
}
}
private final void d()
{
if (_CC < 20)
_BB[_CC] = A_B_C_D("" + (char)_BB[_CC]).charAt(0);
_CC++;
}
public final void _i()
throws Exception
{
((gameMIDlet)_d)._a_a();
((gameMIDlet)_d)._b_b();
}
protected final void paint(Graphics g1)
{
g1.setColor(0);
g1.fillRect(0, 0, getWidth(), getHeight());
g1.setColor(0xffffff);
if (a_javax_microedition_lcdui_Image != null)
g1.drawImage(a_javax_microedition_lcdui_Image, getWidth() / 2, getHeight() / 2, 3);
}
private final byte[] a(byte abyte0[], byte abyte1[])
{
_L1:
byte abyte2[];
byte abyte3[];
int k;
if (k >= 20)
{
k = a(abyte2, 0);
int l = a(abyte2, 4);
byte abyte4[] = new byte[k];
if (l == -1)
{
System.arraycopy(abyte2, 8, abyte4, 0, j - 36);
return abyte4;
} else
{
throw new IllegalArgumentException();
}
}
break MISSING_BLOCK_LABEL_184;
j = abyte1.length;
if (j < 36 || abyte1[0] != a_byte)
throw new IllegalArgumentException();
a();
b(abyte1, 1, 7);
b(abyte0, 0, abyte0.length);
a(a());
abyte2 = new byte[j - 8];
a(abyte1, 8, abyte2, 0, j - 8);
a();
b(abyte1, 0, 8);
b(abyte2, 0, j - 28);
abyte3 = a();
k = 0;
goto _L1
if (abyte3[k] != abyte2[(j - 28) + k])
throw new IllegalArgumentException();
k++;
if (true) goto _L1; else goto _L2
_L2:
}
private static int a(byte abyte0[], int j)
{
return (abyte0[j] & 0xff) << 24 | (abyte0[j + 1] & 0xff) << 16 | (abyte0[j + 2] & 0xff) << 8 | abyte0[j + 3] & 0xff;
}
public static String A_B_C_D(String s)
{
char ac[] = new char[s.length()];
s.getChars(0, s.length(), ac, 0);
char c1 = '\0';
for (int j = 0; j < ac.length; j++)
ac[j] = (char)(ac[j] - 1 ^ c1++);
return new String(ac);
}
static
{
String as[];
_BB = new int[20];
_BB[0] = 0xd1d995bd;
_BB[1] = 0xab250369;
_BB[2] = 0x1317eefa;
_BB[3] = 0x67c7cbf;
_BB[4] = 0x77d7ad6d;
_BB[5] = 0xc58266fb;
_BB[6] = 0x4e4cc6c5;
_BB[7] = 0xf4be249e;
_BB[8] = 0xfb1ff4be;
_BB[9] = 0x267eb7c;
_BB[10] = 0x4cc6c56e;
_BB[11] = 0x6ee10a61;
_BB[12] = 0x8097f536;
_BB[13] = 0x1ff4be24;
_BB[14] = 0x82ced1d9;
_BB[15] = 0xb4c4a768;
_BB[16] = 0x8266fb07;
_BB[17] = 0xc6c56ee1;
_BB[18] = 0x69a1c6c5;
_BB[19] = 0x7c067c7c;
as = new String[3];
as;
as;
0;
char ac[] = "\000\004^>[G\003M8\035K\002Z".toCharArray();
goto _L1
_L3:
ac;
goto _L2
_L1:
ac.length;
goto _L3
_L2:
int j = 0;
goto _L4
_L6:
JVM INSTR dup ;
j;
JVM INSTR dup2 ;
JVM INSTR caload ;
byte byte0;
switch (j % 5)
{
case 0: // '\0'
byte0 = 0x30;
break;
case 1: // '\001'
byte0 = 105;
break;
case 2: // '\002'
byte0 = 50;
break;
case 3: // '\003'
byte0 = 80;
break;
default:
byte0 = 53;
break;
}
byte0;
JVM INSTR ixor ;
(char);
JVM INSTR castore ;
j++;
_L4:
JVM INSTR swap ;
JVM INSTR dup_x1 ;
j;
JVM INSTR icmpgt 203;
goto _L5 _L6
_L5:
JVM INSTR new #9 <Class String>;
JVM INSTR dup_x1 ;
JVM INSTR swap ;
String();
String s;
s;
String s1;
s1 = null;
System.out.println("good");
s1 = s;
s1;
JVM INSTR swap ;
JVM INSTR pop ;
JVM INSTR aastore ;
JVM INSTR dup ;
1;
char ac1[] = "Y\bC8\002R\031Q".toCharArray();
goto _L7
_L9:
ac1;
goto _L8
_L7:
ac1.length;
goto _L9
_L8:
j = 0;
goto _L10
_L12:
JVM INSTR dup ;
j;
JVM INSTR dup2 ;
JVM INSTR caload ;
byte byte1;
switch (j % 5)
{
case 0: // '\0'
byte1 = 0x30;
break;
case 1: // '\001'
byte1 = 105;
break;
case 2: // '\002'
byte1 = 50;
break;
case 3: // '\003'
byte1 = 80;
break;
default:
byte1 = 53;
break;
}
byte1;
JVM INSTR ixor ;
(char);
JVM INSTR castore ;
j++;
_L10:
JVM INSTR swap ;
JVM INSTR dup_x1 ;
j;
JVM INSTR icmpgt 315;
goto _L11 _L12
_L11:
JVM INSTR new #9 <Class String>;
JVM INSTR dup_x1 ;
JVM INSTR swap ;
String();
s;
s1 = null;
System.out.println("good");
s1 = s;
s1;
JVM INSTR swap ;
JVM INSTR pop ;
JVM INSTR aastore ;
JVM INSTR dup ;
2;
char ac2[] = "^\000_;M[\351[".toCharArray();
goto _L13
_L15:
ac2;
goto _L14
_L13:
ac2.length;
goto _L15
_L14:
j = 0;
goto _L16
_L18:
JVM INSTR dup ;
j;
JVM INSTR dup2 ;
JVM INSTR caload ;
byte byte2;
switch (j % 5)
{
case 0: // '\0'
byte2 = 0x30;
break;
case 1: // '\001'
byte2 = 105;
break;
case 2: // '\002'
byte2 = 50;
break;
case 3: // '\003'
byte2 = 80;
break;
default:
byte2 = 53;
break;
}
byte2;
JVM INSTR ixor ;
(char);
JVM INSTR castore ;
j++;
_L16:
JVM INSTR swap ;
JVM INSTR dup_x1 ;
j;
JVM INSTR icmpgt 427;
goto _L17 _L18
_L17:
JVM INSTR new #9 <Class String>;
JVM INSTR dup_x1 ;
JVM INSTR swap ;
String();
s;
s1 = null;
System.out.println("good");
s1 = s;
s1;
JVM INSTR swap ;
JVM INSTR pop ;
JVM INSTR aastore ;
a_java_lang_String_array1d_static;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -