Подскажите если это Java, + пара вопросов
Есть файл, с окончанием .jar, а так-же файл с окончанием .jad, Я так понимаю .jad это оболочка, дизайн, картинка, туда я прописал файл ....jar и jad мне показывает инфу на основе кодов из .jar, взял декомпилятор и посмотрел код, так вот, подскажите пожалуйста это Java? или же? Если Java то какой? хотелось бы выучить данный язык!
Вот к примеру из декомпиляторa где файл под названием bo.class
Код:
import javax.microedition.lcdui.Graphics;
public class bo extends ga
implements er
{
public bo(String s)
{
super(fs.a);
ao = 0;
ap = 0;
Q = false;
O_java_lang_String_fld = s;
a(bw.a);
a(new fy(fs.a));
super.a_fy_fld.p("\u041D\u0430\u0437\u0430\u0434");
super.a_fy_fld.d.b(this);
}
public void setTitle(String s)
{
O_java_lang_String_fld = s;
if(equals(fs.a.b))
super.a_fc_fld.setTitle(O_java_lang_String_fld);
}
public void a(bo bo1, long l1)
{
a_bo_fld = bo1;
z();
a_boolean_array1d_static_fld[ao] = true;
a_long_array1d_static_fld[ao] = System.currentTimeMillis() + l1;
a_fv_static_fld.run();
}
public void a(bo bo1)
{
a_bo_fld = bo1;
z();
}
public void b(long l1)
{
z();
a_boolean_array1d_static_fld[ao] = true;
a_long_array1d_static_fld[ao] = System.currentTimeMillis() + l1;
a_fv_static_fld.run();
}
public void z()
{
super.a_fc_fld.setTitle(O_java_lang_String_fld);
a_bo_array1d_static_fld[ao] = this;
a_boolean_array1d_static_fld[ao] = false;
if(ao < an)
{
return;
} else
{
an = ao;
fs.a.a(this);
Q = true;
return;
}
}
public static void j(int i)
{
if(an == 0 || i == 0)
return;
a_bo_array1d_static_fld[i] = null;
if(i != an)
return;
an--;
do
{
if(an < 0)
break;
bo bo1 = a_bo_array1d_static_fld[an];
if(bo1 != null)
{
((ga) (bo1)).a_fc_fld.setTitle(bo1.O_java_lang_String_fld);
fs.a.a(bo1);
bo1.Q = true;
break;
}
an--;
} while(true);
}
public static boolean a(bo bo1, int i)
{
if(bo1 == null)
return false;
for(bo bo2 = a(i); bo2 != null; bo2 = bo2.a_bo_fld)
if(bo2.equals(bo1))
return true;
return false;
}
public static bo a(int i)
{
return a_bo_array1d_static_fld[i];
}
public void paint(Graphics g, int i, int i1)
{
super.paint(g, i, i1);
if(Q)
{
if(ap > 0)
l = System.currentTimeMillis();
Q = false;
}
}
protected void keyPressed(int i)
{
if(p())
super.keyPressed(i);
}
protected void keyRepeated(int i)
{
if(p())
super.keyRepeated(i);
if(i != 48 || !N)
return;
if(!O_boolean_static_fld)
{
O_boolean_static_fld = true;
k = System.currentTimeMillis();
return;
}
long l1 = System.currentTimeMillis() - k;
if(l1 > 3000L)
{
if(!P)
{
P = true;
p.e(3);
super.a_fc_fld.setTitle("\u0410\u0442\u0430\u043A\u0430!");
}
} else
{
super.a_fc_fld.setTitle("\u0410\u0442\u0430\u043A\u0430:" + ((3000L - l1) + 1000L) / 1000L + " \u0441\u0435\u043A.");
}
}
protected boolean d(int i)
{
boolean flag = false;
if(p())
flag = super.d(i);
if(i != 48)
return flag;
if(!P)
super.a_fc_fld.setTitle(O_java_lang_String_fld);
flag |= O_boolean_static_fld || P;
O_boolean_static_fld = false;
P = false;
return flag;
}
protected void pointerPressed(int i, int i1)
{
if(p())
super.pointerPressed(i, i1);
}
protected boolean b(int i, int i1)
{
return !p() || super.b(i, i1);
}
protected void a(int i, int i1, boolean flag)
{
if(p())
super.a(i, i1, flag);
}
private boolean p()
{
return !Q && (ap <= 0 || System.currentTimeMillis() - l >= (long)ap);
}
public static fr a(String as[], er er1, fk fk1)
{
fr fr1 = new fr();
for(int i = 0; i < as.length; i++)
{
fq fq1 = new fq(as[i], false);
fq1.i(true);
fq1.b(er1);
fr1.a(fq1);
fk1.a(fq1);
}
return fr1;
}
public static ez a(String s, String s1, fk fk1)
{
ez ez1 = new ez(s1);
ez1.ao = s;
ez1.i(true);
fk1.a(ez1);
return ez1;
}
public static fe a(String s, fk fk1)
{
fe fe1 = new fe(s);
fe1.i(true);
fk1.a(fe1);
return fe1;
}
public static eu a(String s, fk fk1)
{
eu eu1 = new eu(s, false);
eu1.i(true);
fk1.a(eu1);
return eu1;
}
public static es a(String s, fk fk1, er er1)
{
es es1 = new es(s);
es1.i(true);
es1.b(er1);
fk1.a(es1);
return es1;
}
public void a(Object obj)
{
if(super.a_fy_fld.d.equals(obj))
if(a_bo_fld != null)
a_bo_fld.z();
else
j(ao);
}
static boolean[] a()
{
return a_boolean_array1d_static_fld;
}
static bo[] a()
{
return a_bo_array1d_static_fld;
}
static long[] a()
{
return a_long_array1d_static_fld;
}
static fv a()
{
return a_fv_static_fld;
}
public static boolean N = false;
private static boolean O_boolean_static_fld = false;
private static boolean P = false;
private static long k;
private static bo a_bo_array1d_static_fld[];
private static boolean a_boolean_array1d_static_fld[];
private static long a_long_array1d_static_fld[] = new long[3];
private static int an = 0;
private String O_java_lang_String_fld;
public bo a_bo_fld;
public int ao;
public int ap;
private long l;
private boolean Q;
private static fv a_fv_static_fld = new bp();
static
{
a_bo_array1d_static_fld = new bo[3];
a_boolean_array1d_static_fld = new boolean[3];
for(int i = 0; i < 3; i++)
{
a_bo_array1d_static_fld[i] = null;
a_boolean_array1d_static_fld[i] = false;
}
}
}
public class bo extends ga
implements er
{
public bo(String s)
{
super(fs.a);
ao = 0;
ap = 0;
Q = false;
O_java_lang_String_fld = s;
a(bw.a);
a(new fy(fs.a));
super.a_fy_fld.p("\u041D\u0430\u0437\u0430\u0434");
super.a_fy_fld.d.b(this);
}
public void setTitle(String s)
{
O_java_lang_String_fld = s;
if(equals(fs.a.b))
super.a_fc_fld.setTitle(O_java_lang_String_fld);
}
public void a(bo bo1, long l1)
{
a_bo_fld = bo1;
z();
a_boolean_array1d_static_fld[ao] = true;
a_long_array1d_static_fld[ao] = System.currentTimeMillis() + l1;
a_fv_static_fld.run();
}
public void a(bo bo1)
{
a_bo_fld = bo1;
z();
}
public void b(long l1)
{
z();
a_boolean_array1d_static_fld[ao] = true;
a_long_array1d_static_fld[ao] = System.currentTimeMillis() + l1;
a_fv_static_fld.run();
}
public void z()
{
super.a_fc_fld.setTitle(O_java_lang_String_fld);
a_bo_array1d_static_fld[ao] = this;
a_boolean_array1d_static_fld[ao] = false;
if(ao < an)
{
return;
} else
{
an = ao;
fs.a.a(this);
Q = true;
return;
}
}
public static void j(int i)
{
if(an == 0 || i == 0)
return;
a_bo_array1d_static_fld[i] = null;
if(i != an)
return;
an--;
do
{
if(an < 0)
break;
bo bo1 = a_bo_array1d_static_fld[an];
if(bo1 != null)
{
((ga) (bo1)).a_fc_fld.setTitle(bo1.O_java_lang_String_fld);
fs.a.a(bo1);
bo1.Q = true;
break;
}
an--;
} while(true);
}
public static boolean a(bo bo1, int i)
{
if(bo1 == null)
return false;
for(bo bo2 = a(i); bo2 != null; bo2 = bo2.a_bo_fld)
if(bo2.equals(bo1))
return true;
return false;
}
public static bo a(int i)
{
return a_bo_array1d_static_fld[i];
}
public void paint(Graphics g, int i, int i1)
{
super.paint(g, i, i1);
if(Q)
{
if(ap > 0)
l = System.currentTimeMillis();
Q = false;
}
}
protected void keyPressed(int i)
{
if(p())
super.keyPressed(i);
}
protected void keyRepeated(int i)
{
if(p())
super.keyRepeated(i);
if(i != 48 || !N)
return;
if(!O_boolean_static_fld)
{
O_boolean_static_fld = true;
k = System.currentTimeMillis();
return;
}
long l1 = System.currentTimeMillis() - k;
if(l1 > 3000L)
{
if(!P)
{
P = true;
p.e(3);
super.a_fc_fld.setTitle("\u0410\u0442\u0430\u043A\u0430!");
}
} else
{
super.a_fc_fld.setTitle("\u0410\u0442\u0430\u043A\u0430:" + ((3000L - l1) + 1000L) / 1000L + " \u0441\u0435\u043A.");
}
}
protected boolean d(int i)
{
boolean flag = false;
if(p())
flag = super.d(i);
if(i != 48)
return flag;
if(!P)
super.a_fc_fld.setTitle(O_java_lang_String_fld);
flag |= O_boolean_static_fld || P;
O_boolean_static_fld = false;
P = false;
return flag;
}
protected void pointerPressed(int i, int i1)
{
if(p())
super.pointerPressed(i, i1);
}
protected boolean b(int i, int i1)
{
return !p() || super.b(i, i1);
}
protected void a(int i, int i1, boolean flag)
{
if(p())
super.a(i, i1, flag);
}
private boolean p()
{
return !Q && (ap <= 0 || System.currentTimeMillis() - l >= (long)ap);
}
public static fr a(String as[], er er1, fk fk1)
{
fr fr1 = new fr();
for(int i = 0; i < as.length; i++)
{
fq fq1 = new fq(as[i], false);
fq1.i(true);
fq1.b(er1);
fr1.a(fq1);
fk1.a(fq1);
}
return fr1;
}
public static ez a(String s, String s1, fk fk1)
{
ez ez1 = new ez(s1);
ez1.ao = s;
ez1.i(true);
fk1.a(ez1);
return ez1;
}
public static fe a(String s, fk fk1)
{
fe fe1 = new fe(s);
fe1.i(true);
fk1.a(fe1);
return fe1;
}
public static eu a(String s, fk fk1)
{
eu eu1 = new eu(s, false);
eu1.i(true);
fk1.a(eu1);
return eu1;
}
public static es a(String s, fk fk1, er er1)
{
es es1 = new es(s);
es1.i(true);
es1.b(er1);
fk1.a(es1);
return es1;
}
public void a(Object obj)
{
if(super.a_fy_fld.d.equals(obj))
if(a_bo_fld != null)
a_bo_fld.z();
else
j(ao);
}
static boolean[] a()
{
return a_boolean_array1d_static_fld;
}
static bo[] a()
{
return a_bo_array1d_static_fld;
}
static long[] a()
{
return a_long_array1d_static_fld;
}
static fv a()
{
return a_fv_static_fld;
}
public static boolean N = false;
private static boolean O_boolean_static_fld = false;
private static boolean P = false;
private static long k;
private static bo a_bo_array1d_static_fld[];
private static boolean a_boolean_array1d_static_fld[];
private static long a_long_array1d_static_fld[] = new long[3];
private static int an = 0;
private String O_java_lang_String_fld;
public bo a_bo_fld;
public int ao;
public int ap;
private long l;
private boolean Q;
private static fv a_fv_static_fld = new bp();
static
{
a_bo_array1d_static_fld = new bo[3];
a_boolean_array1d_static_fld = new boolean[3];
for(int i = 0; i < 3; i++)
{
a_bo_array1d_static_fld[i] = null;
a_boolean_array1d_static_fld[i] = false;
}
}
}
Мне бы ввести в данную программку изменения, к примеру добавить условие if then else, шансы есть? что нужно изучить?
Жду ответы, заранее благодарен.
Это Java 2 microedition, изменять декомпилированный код этого языка довольно гемрно. Проще попробовать поискать исходники вашего приложения в интернете. Jad файл содержит описание этого приложения для java-машины. Там всего несколько строк текста. Этот же текст вы можете найти в файле manifest.mf в jar файле.
Цитата: Avalan4er
Это Java 2 microedition, изменять декомпилированный код этого языка довольно гемрно. Проще попробовать поискать исходники вашего приложения в интернете. Jad файл содержит описание этого приложения для java-машины. Там всего несколько строк текста. Этот же текст вы можете найти в файле manifest.mf в jar файле.
Спасибо за помощь, вряд ли я найду исходники, это программа для ловли заказов (taxi) на мобильном телефоне