📄 g.java
字号:
// pica客户端J2ME源码,100%可运行可修改,J2ME逆向工程经典作品
// 作者:fangji999
// QQ:57979471 Email:fangji999@163.com
// 博客:http://hi.baidu.com/ccall_net
// QQ群:51719370
// 如用此源码重新改写的软件或转载,请保留本人联系方式,作品原创作者
package pica;
import java.io.*;
import java.util.Vector;
import javax.microedition.lcdui.Image;
import utils.b;
// Referenced classes of package pica:
// Pica, aa, d, f,
// k, n, q, v,
// z
public final class g
{
public static String a = null;
public static String b = "http://wap2.pica.com";
public String c;
public String d;
public String e;
private long h;
public boolean f;
public String g;
public g()
{
c = null;
d = "http://wap2.pica.com";
e = "wap2.pica.com";
h = 0L;
f = false;
g = "";
}
private static void a(DataOutputStream dataoutputstream)
throws IOException
{
String s1 = "j2meV0.1";
String s2 = "png";
String s3 = "amr;midi;wav";
int i1 = 24 + s1.getBytes("UTF-8").length + 2 + s2.getBytes("UTF-8").length + 2 + s3.getBytes("UTF-8").length + 2 + Pica.N.getBytes("UTF-8").length;
dataoutputstream.writeShort(1);
dataoutputstream.writeInt(i1);
dataoutputstream.writeByte(1);
dataoutputstream.writeShort(2);
dataoutputstream.writeUTF(s1);
dataoutputstream.writeShort(v.a);
dataoutputstream.writeShort(pica.v.b);
dataoutputstream.writeShort(v.a - 10);
dataoutputstream.writeShort(pica.v.b - v.j - v.l - 22);
dataoutputstream.writeByte(Pica.r);
dataoutputstream.writeByte(Pica.r);
dataoutputstream.writeByte(255);
dataoutputstream.writeUTF(s2);
dataoutputstream.writeUTF(s3);
dataoutputstream.writeByte(0);
dataoutputstream.writeByte(0);
dataoutputstream.writeByte(0);
dataoutputstream.writeByte(0);
dataoutputstream.writeByte(1);
dataoutputstream.writeByte(1);
dataoutputstream.writeByte(1);
dataoutputstream.writeByte(1);
dataoutputstream.writeUTF(Pica.N);
}
public final void a(String s1, byte byte0)
throws IOException
{
DataOutputStream dataoutputstream = null;
ByteArrayOutputStream bytearrayoutputstream = new ByteArrayOutputStream();
dataoutputstream = new DataOutputStream(bytearrayoutputstream);
if (f || System.currentTimeMillis() - h >= 0x493e0L)
{
f = true;
h = System.currentTimeMillis();
a(dataoutputstream);
}
dataoutputstream.writeShort(2);
if (byte0 >= 0)
{
Vector vector = new Vector();
int i1 = 0;
byte byte1 = 0;
for (int j1 = 1; j1 < Pica.n.q(); j1++)
{
n n1;
if (((n1 = (n)Pica.n.b(j1)).z == 7 || n1.z == 6) && ((f)n1).b == byte0)
{
vector.addElement(n1);
byte1++;
i1 = i1 + ((f)n1).c.getBytes("UTF-8").length + 2 + ((f)n1).df.getBytes("UTF-8").length + 2 + 1;
}
}
dataoutputstream.writeInt(8 + i1 + s1.getBytes("UTF-8").length + 2);
dataoutputstream.writeByte(1);
dataoutputstream.writeUTF(s1);
dataoutputstream.writeInt(1000);
dataoutputstream.writeByte(0);
dataoutputstream.writeByte(0);
dataoutputstream.writeByte(byte1);
for (int k1 = 0; k1 < vector.size(); k1++)
if (vector.elementAt(k1) instanceof f)
{
dataoutputstream.writeUTF(((f)vector.elementAt(k1)).c);
dataoutputstream.writeByte(0);
dataoutputstream.writeUTF(((f)vector.elementAt(k1)).df);
}
} else
{
dataoutputstream.writeInt(8 + s1.getBytes("UTF-8").length + 2);
dataoutputstream.writeByte(0);
dataoutputstream.writeUTF(s1);
dataoutputstream.writeInt(1000);
dataoutputstream.writeByte(0);
dataoutputstream.writeByte(0);
dataoutputstream.writeByte(0);
}
Pica.h.a("", bytearrayoutputstream);
}
//网页面数据读取主函数
public final void a(DataInputStream datainputstream) throws IOException, InterruptedException
{
int i1;
i1 = 0;
boolean flag = false;
//_L2:
while(true){
int j1;
short word0 = datainputstream.readShort();
//System.out.println("datainputstream.readShort():::"+word0);
j1 = datainputstream.readInt();
i1 += 6;
switch (word0)
{
case 4096:
t(datainputstream);
break;
case 4097:
u(datainputstream);
break;
case 4098:
v(datainputstream);
break;
case 4099:
w(datainputstream);
break;
case 4100:
x(datainputstream);
break;
case 4101:
y(datainputstream);
break;
case 8192:
h(datainputstream);
break;
case 8193:
A(datainputstream);
break;
case 12288:
b(datainputstream);
break;
case 12289:
a();
break;
case 12290:
e(datainputstream);
break;
case 12291:
f(datainputstream);
break;
case 12292:
g(datainputstream);
break;
case 12293:
d(datainputstream);
break;
case 12294:
i(datainputstream);
break;
case 12295:
c(datainputstream);
break;
case 16384:
j(datainputstream);
break;
case 16385:
k(datainputstream);
break;
case 16386:
l(datainputstream);
break;
case 16387:
m(datainputstream);
break;
case 16388:
n(datainputstream);
break;
case 16389:
o(datainputstream);
break;
case 16390:
p(datainputstream);
break;
case 16391:
q(datainputstream);
break;
case 16392:
r(datainputstream);
break;
case 16393:
s(datainputstream);
break;
case 20480:
z(datainputstream);
break;
default:
Pica.n.h = false;
return;
}
i1 += j1;
Pica.n.gi = (i1 * v.a) / utils.b.a;
Pica.l.a(Pica.n);
if (i1 >= utils.b.a)
{
Thread.sleep(500L);
Pica.n.h = false;
Pica.n.gi = 0;
Pica.l.a(Pica.n);
Pica.n.a();
return;
}
if (Runtime.getRuntime().freeMemory() < 10000L){
System.gc();
//
//// if (true) goto _L2; else goto _L1
////_L1:
//// JVM INSTR dup ;
//// Exception exception;
//// exception;
//// printStackTrace();
// Pica.n.e();
// Pica.n.h = false;
// Pica.n.a(new k("无法显示页面!请尝试后退或返回首页!", null, (byte)1));
// Pica.n.a();
// Pica.l.a(Pica.n);
// return;
}
}
}
private static void b(DataInputStream datainputstream)
throws IOException
{
datainputstream.readUTF();
}
private static void c(DataInputStream datainputstream)
throws IOException
{
datainputstream.readUTF();
int i1 = datainputstream.readInt();
short word0 = datainputstream.readShort();
short word1 = datainputstream.readShort();
datainputstream.readUTF();
String s1 = datainputstream.readUTF();
Pica.n.a(new z(word0, word1, i1, s1));
Pica.n.a();
}
private static void a()
throws IOException
{
Pica.n.a(new k(null, null, (byte)5));
Pica.n.a();
}
private static void d(DataInputStream datainputstream)
throws IOException
{
String s1 = datainputstream.readUTF();
datainputstream.readByte();
String s2 = datainputstream.readUTF();
Pica.n.a(new k(s1, s2, (byte)2));
Pica.n.a();
}
private static void e(DataInputStream datainputstream)
throws IOException
{
datainputstream.readByte();
datainputstream.readByte();
}
private static void f(DataInputStream datainputstream)
throws IOException
{
datainputstream.readUTF();
datainputstream.readUTF();
datainputstream.readByte();
datainputstream.readByte();
datainputstream.readShort();
}
private static void g(DataInputStream datainputstream)
throws IOException
{
String s1 = null;
s1 = datainputstream.readUTF();
Pica.n.a(new k(s1, null, (byte)1));
Pica.n.a();
}
private static void h(DataInputStream datainputstream)
throws IOException
{
int i1;
byte abyte0[];
i1 = datainputstream.readInt();
datainputstream.readUTF();
datainputstream.readUTF();
int j1;
abyte0 = new byte[j1 = datainputstream.readInt()];
for (int k1 = 0; k1 < j1; k1++)
abyte0[k1] = datainputstream.readByte();
Image image = Image.createImage(abyte0, 0, abyte0.length);
for (int l1 = 0; l1 < Pica.n.q(); l1++)
{
n n1;
if ((n1 = (n)Pica.n.b(l1)).z == 3 && ((z)n1).b == i1)
{
((z)n1).a = image;
n1.t = image.getWidth();
n1.s = image.getHeight();
Pica.n.a();
}
}
return;
// JVM INSTR dup ;
// Exception exception;
// exception;
// printStackTrace();
}
private static void i(DataInputStream datainputstream)
throws IOException
{
datainputstream.readUTF();
}
private static void j(DataInputStream datainputstream)
throws IOException
{
byte byte0 = datainputstream.readByte();
String s1 = datainputstream.readUTF();
String s2 = datainputstream.readUTF();
byte byte1 = datainputstream.readByte();
datainputstream.readByte();
int i1 = datainputstream.readInt();
f f1;
if (byte1 == 35 || byte1 == 42)
f1 = new f("", s1, s2, i1, 0x10000, v.a - 15, byte0, Pica.l);
else
f1 = new f("", s1, s2, i1, 0, v.a - 15, byte0, Pica.l);
Pica.n.a(f1);
Pica.n.a();
}
private static void k(DataInputStream datainputstream)
throws IOException
{
byte byte0 = datainputstream.readByte();
String s1 = datainputstream.readUTF();
String s2 = datainputstream.readUTF();
datainputstream.readByte();
datainputstream.readByte();
byte byte1;
String as[] = new String[byte1 = datainputstream.readByte()];
String as1[] = new String[byte1];
for (int i1 = 0; i1 < byte1; i1++)
{
as[i1] = datainputstream.readUTF();
as1[i1] = datainputstream.readUTF();
}
if (s2.length() == 0)
s2 = as1[0];
f f1 = new f("", s1, s2, as, null, as1, (Pica.r + 3) * 6, Pica.r + 5, byte0, Pica.l);
Pica.n.a(f1);
Pica.n.a();
}
private static void l(DataInputStream datainputstream)
throws IOException
{
datainputstream.readByte();
datainputstream.readUTF();
datainputstream.readUTF();
datainputstream.readByte();
datainputstream.readByte();
datainputstream.readUTF();
datainputstream.readUTF();
}
private static void m(DataInputStream datainputstream)
throws IOException
{
datainputstream.readByte();
datainputstream.readUTF();
datainputstream.readUTF();
}
private static void n(DataInputStream datainputstream)
throws IOException
{
datainputstream.readByte();
datainputstream.readUTF();
datainputstream.readUTF();
datainputstream.readUTF();
}
private static void o(DataInputStream datainputstream)
throws IOException
{
datainputstream.readByte();
datainputstream.readUTF();
datainputstream.readUTF();
datainputstream.readUTF();
}
private static void p(DataInputStream datainputstream)
throws IOException
{
datainputstream.readByte();
datainputstream.readUTF();
datainputstream.readUTF();
datainputstream.readUTF();
}
private static void q(DataInputStream datainputstream)
throws IOException
{
datainputstream.readByte();
datainputstream.readUTF();
datainputstream.readUTF();
}
private static void r(DataInputStream datainputstream)
throws IOException
{
datainputstream.readByte();
datainputstream.readUTF();
}
private static void s(DataInputStream datainputstream)
throws IOException
{
byte byte0 = datainputstream.readByte();
String s1 = datainputstream.readUTF();
String s2 = datainputstream.readUTF();
datainputstream.readByte();
f f1 = new f(s1, s2, byte0);
Pica.n.a(f1);
Pica.n.a();
}
private static void t(DataInputStream datainputstream)
throws IOException
{
datainputstream.readByte();
datainputstream.readInt();
datainputstream.readInt();
datainputstream.readInt();
datainputstream.readByte();
datainputstream.readByte();
datainputstream.readByte();
}
private static void u(DataInputStream datainputstream)
throws IOException
{
datainputstream.readByte();
datainputstream.readByte();
}
private static void v(DataInputStream datainputstream)
throws IOException
{
datainputstream.readInt();
datainputstream.readInt();
}
private static void w(DataInputStream datainputstream)
throws IOException
{
datainputstream.readByte();
datainputstream.readByte();
datainputstream.readByte();
}
private static void x(DataInputStream datainputstream)
throws IOException
{
datainputstream.readShort();
datainputstream.readShort();
}
private static void y(DataInputStream datainputstream)
throws IOException
{
datainputstream.readShort();
}
private static void z(DataInputStream datainputstream)
throws IOException
{
datainputstream.readByte();
datainputstream.readByte();
datainputstream.readUTF();
datainputstream.readUTF();
}
private static void A(DataInputStream datainputstream)
throws IOException
{
datainputstream.readUTF();
datainputstream.readByte();
datainputstream.readByte();
datainputstream.readInt();
datainputstream.readByte();
datainputstream.readUTF();
datainputstream.readUTF();
datainputstream.readUTF();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -