⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 _b_b.java

📁 很好的3款手机游戏源码
💻 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 + -