Willkommen |
|
myGully |
|
Links |
|
Forum |
|
|
|
 |
23.09.10, 20:09
|
#1
|
Anfänger
Registriert seit: Oct 2009
Beiträge: 11
Bedankt: 0
|
Java - jar datei decompilieren
hey liebe java freaks 
ich möchte die funktionsweise eines handy progs herausfinden. dazu hab ich folgendes prog zum decompilen benutzt:
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
jedoch werd ich aus dem code nicht schlau 
könnte mir jmd dabei helfen?
Datei:
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
dabei interessiert mich vorallem:
1. wie das programm gewisse dateien (vokabeln) importiert und abspeichert
2. ob die nutzung des programm beschränkt ist und wenn ja wodurch
3. wie die lektionen der vokablen in der importierten datei ermittlet werden
warum ich das ganze wissen möchte?
weil die vokabellisten von einer website sind, die ihr progamm (vokabeltrainer) fürs handy nur gegen ein abo hergeben. die vokabellisten kann man dann mit dem handy prog importieren.
ich möchte nun das programm ohne abo nutzen. dazu möchte ich folgendes versuchen:
bezug auf 2. frage - und wie ich die bescränkung aufheben kann
und nach welchem syntax ich evt. meine eigenen vokabellisten erstellen muss. damit das programm die voks richtig importiert
also ich wäre euch sehr dankbar wenn ihr mir die funktionsweise des progs zumindest ansatzweise erklären könntet
mfg xparet0209
|
|
|
26.09.10, 07:55
|
#2
|
Anfänger
Registriert seit: May 2009
Beiträge: 8
Bedankt: 3
|
die limitierung steckt in folgender Funktion
Code:
protected void startApp()
{
be localbe;
Object localObject1 = (localbe = new be("Sprache", this.h)).b("Deutsch.txt");
this.J = be.d((String)localObject1);
this.i = new bu(this.J, this);
this.h = new bt(this, this.U, this.V, this.i);
this.h.i = true;
this.h.b("", this.J);
this.g.setCurrent(this.h);
this.K = new be("VokkerData", this.h);
try
{
if (this.K.a(1, 3).length() != 0)
this.e = Long.parseLong(this.K.a(1, 3));
else
this.e = 0L;
System.out.println("deltaMillis mit parse" + Long.parseLong(this.K.a(1, 3)));
}
catch (Exception localException)
{
}
new bg(this.e);
if (this.K.a(0, 7).length() != 8)
{
System.out.println("noch keine aktivierung erfolgt");
this.h = new bt(this, this.U, this.V, this.i);
this.h.i = false;
this.h.b("Aktivierung");
this.h.a(false, false);
this.g.setCurrent(this.h);
this.j = false;
}
else
{
this.j = true;
}
if ((this.K.a(1, 3).length() == 0) && (this.K.a(0, 7).length() >= 8))
{
System.out.println("Systemzeit richtig einstellen");
this.h = new bt(this, this.U, this.V, this.i);
this.h.i = false;
this.h.c("Systemzeit eingeben");
this.h.a(false, false);
this.g.setCurrent(this.h);
this.j = false;
}
localObject1 = this.K.a("vokkerData.txt", 1);
this.K.a("vokkerData.txt", 2);
Object localObject2 = null;
StringBuffer localStringBuffer = new StringBuffer();
localObject2 = null;
localObject2 = ((String)localObject1).toCharArray();
for (int i1 = 0; i1 < localObject2.length - 2; i1++)
localStringBuffer.append(localObject2[i1]);
localObject2 = be.a(localStringBuffer.toString());
String str = this.K.a("vokkerData.txt", 2);
System.out.println("aboEnde" + (String)localObject1 + "aboEnde ohne letzten 2 " + localStringBuffer.toString() + " cryptAboEnde " + (String)localObject2 + " AboEndeResource " + str);
if (Integer.valueOf(str).intValue() != Integer.valueOf((String)localObject2).intValue())
{
System.out.println("AboEnde manipuliert");
this.h = new bt(this, this.U, this.V, this.i);
this.h.i = false;
this.h.c("AboEnde wurde manipuliert", "Fehler");
this.h.a(false, false);
this.g.setCurrent(this.h);
this.j = false;
}
if ((this.K.a(1, 3).length() == 0) && (this.K.a(0, 7).length() >= 8))
{
localObject2 = new bg(this.e);
System.out.println("zeitstempel: " + ((bg)localObject2).a() + " Aboende " + (String)localObject1);
if (Integer.valueOf((String)localObject1).intValue() < Integer.valueOf(((bg)localObject2).a()).intValue())
{
this.h = new bt(this, this.U, this.V, this.i);
this.h.i = false;
this.h.c("Bitte verlängern Sie das Abo. Gültig bis: " + bg.c(this.K.a("vokkerData.txt", 1)) + " aktuelles Datum: " + bg.c(((bg)localObject2).a()), "Abo nicht mehr gültig");
this.h.a(false, false);
this.g.setCurrent(this.h);
this.j = false;
}
}
if (this.j)
{
this.j = false;
if ((this.K.a(0, 1).length() != 0) && (this.K.a(0, 3).length() != 0) && (this.K.a(0, 4).length() != 0))
{
System.out.println("VokkerData wurde schon angelegt. Startmenü wird geladen");
if (!this.A)
{
this.K.a("0", 0, 9);
this.K.a("0", 1, 0);
}
if (Integer.valueOf(this.K.a(0, 1)).intValue() == 2)
{
this.U = this.W;
this.V = this.X;
this.N = 2;
}
if (Integer.valueOf(this.K.a(0, 1)).intValue() == 3)
{
this.U = this.Y;
this.V = this.Z;
this.N = 3;
}
if (Integer.valueOf(this.K.a(0, 2)).intValue() == 1)
this.p = true;
else
this.p = false;
if (Integer.valueOf(this.K.a(0, 4)).intValue() == 1)
this.q = true;
else
this.q = false;
this.h.a(this.p, this.q);
System.out.println("Sprache gelesen " + this.K.a(0, 3) + " Farbschema gewählt " + this.N);
localObject1 = localbe.b(this.K.a(0, 3) + ".txt");
this.J = be.d((String)localObject1);
System.out.println(this.J);
localObject2 = new String[] { this.J[2], this.J[3], this.J[4], this.J[5], this.J[6] };
this.g.setCurrent(this.h);
this.h.i = false;
if ((localObject1 = new be("Lektionen", this.h)).a(0, 3).length() != 0)
{
this.h.a(localObject2, this.J[1], false);
this.h.a(3);
this.h.a(this.p, this.q);
this.g.setCurrent(this.h);
}
else
{
System.out.println("Zeitplan wurde noch nicht eingestellt, deshalb neu Einrichten!");
this.h.i = false;
this.h.a(this.J[102], "Fortschritt", this.J);
this.g.setCurrent(this.h);
localObject1 = this.K.b("vokkerData.txt");
this.T = be.d((String)localObject1);
System.out.println("IDS: " + this.T[2]);
this.K.a(this.T[2], 0, 6);
this.r = false;
(localObject1 = new x(this)).start();
}
}
else
{
this.K.e("1");
this.K.e("0");
this.K.a("0", 0, 9);
this.K.a("0", 1, 0);
this.K.a("0", 1, 1);
this.K.a("1", 1, 2);
this.K.a("1", 0, 1);
this.p = false;
this.K.a("0", 0, 2);
this.K.a("Deutsch", 0, 3);
this.q = true;
this.K.a("1", 0, 4);
System.out.println("Deutsch geschrieben");
localObject1 = localbe.b("Deutsch.txt");
this.J = be.d((String)localObject1);
System.out.println("Sprache gelesen " + this.K.a(0, 3) + this.J[2] + "Farbschema gewählt " + this.N);
{ this.J[2], this.J[3], this.J[4], this.J[5] }[4] = this.J[6];
localObject2 = null;
this.h.i = false;
this.h.a(this.J[102], "Fortschritt", this.J);
this.g.setCurrent(this.h);
localObject1 = this.K.b("vokkerData.txt");
this.T = be.d((String)localObject1);
System.out.println("IDS: " + this.T[2]);
this.K.a(this.T[2], 0, 6);
this.r = false;
(localObject1 = new z(this)).start();
}
this.A = true;
}
this.j = false;
this.k = true;
}
"gecrackt" sieht das dann so aus (wenn ich auf die schnelle nix übersehen hab)
Code:
protected void startApp()
{
be localbe;
Object localObject1 = (localbe = new be("Sprache", this.h)).b("Deutsch.txt");
this.J = be.d((String)localObject1);
this.i = new bu(this.J, this);
this.h = new bt(this, this.U, this.V, this.i);
this.h.i = true;
this.h.b("", this.J);
this.g.setCurrent(this.h);
this.K = new be("VokkerData", this.h);
try
{
if (this.K.a(1, 3).length() != 0)
this.e = Long.parseLong(this.K.a(1, 3));
else
this.e = 0L;
System.out.println("deltaMillis mit parse" + Long.parseLong(this.K.a(1, 3)));
}
catch (Exception localException)
{
}
new bg(this.e);
this.j = true;
if ((this.K.a(1, 3).length() == 0) && (this.K.a(0, 7).length() >= 8))
{
System.out.println("Systemzeit richtig einstellen");
this.h = new bt(this, this.U, this.V, this.i);
this.h.i = false;
this.h.c("Systemzeit eingeben");
this.h.a(false, false);
this.g.setCurrent(this.h);
this.j = false;
}
localObject1 = this.K.a("vokkerData.txt", 1);
this.K.a("vokkerData.txt", 2);
Object localObject2 = null;
StringBuffer localStringBuffer = new StringBuffer();
localObject2 = null;
localObject2 = ((String)localObject1).toCharArray();
for (int i1 = 0; i1 < localObject2.length - 2; i1++)
localStringBuffer.append(localObject2[i1]);
localObject2 = be.a(localStringBuffer.toString());
String str = this.K.a("vokkerData.txt", 2);
if (this.j)
{
this.j = false;
if ((this.K.a(0, 1).length() != 0) && (this.K.a(0, 3).length() != 0) && (this.K.a(0, 4).length() != 0))
{
System.out.println("VokkerData wurde schon angelegt. Startmenü wird geladen");
if (!this.A)
{
this.K.a("0", 0, 9);
this.K.a("0", 1, 0);
}
if (Integer.valueOf(this.K.a(0, 1)).intValue() == 2)
{
this.U = this.W;
this.V = this.X;
this.N = 2;
}
if (Integer.valueOf(this.K.a(0, 1)).intValue() == 3)
{
this.U = this.Y;
this.V = this.Z;
this.N = 3;
}
if (Integer.valueOf(this.K.a(0, 2)).intValue() == 1)
this.p = true;
else
this.p = false;
if (Integer.valueOf(this.K.a(0, 4)).intValue() == 1)
this.q = true;
else
this.q = false;
this.h.a(this.p, this.q);
System.out.println("Sprache gelesen " + this.K.a(0, 3) + " Farbschema gewählt " + this.N);
localObject1 = localbe.b(this.K.a(0, 3) + ".txt");
this.J = be.d((String)localObject1);
System.out.println(this.J);
localObject2 = new String[] { this.J[2], this.J[3], this.J[4], this.J[5], this.J[6] };
this.g.setCurrent(this.h);
this.h.i = false;
if ((localObject1 = new be("Lektionen", this.h)).a(0, 3).length() != 0)
{
this.h.a(localObject2, this.J[1], false);
this.h.a(3);
this.h.a(this.p, this.q);
this.g.setCurrent(this.h);
}
else
{
System.out.println("Zeitplan wurde noch nicht eingestellt, deshalb neu Einrichten!");
this.h.i = false;
this.h.a(this.J[102], "Fortschritt", this.J);
this.g.setCurrent(this.h);
localObject1 = this.K.b("vokkerData.txt");
this.T = be.d((String)localObject1);
System.out.println("IDS: " + this.T[2]);
this.K.a(this.T[2], 0, 6);
this.r = false;
(localObject1 = new x(this)).start();
}
}
else
{
this.K.e("1");
this.K.e("0");
this.K.a("0", 0, 9);
this.K.a("0", 1, 0);
this.K.a("0", 1, 1);
this.K.a("1", 1, 2);
this.K.a("1", 0, 1);
this.p = false;
this.K.a("0", 0, 2);
this.K.a("Deutsch", 0, 3);
this.q = true;
this.K.a("1", 0, 4);
System.out.println("Deutsch geschrieben");
localObject1 = localbe.b("Deutsch.txt");
this.J = be.d((String)localObject1);
System.out.println("Sprache gelesen " + this.K.a(0, 3) + this.J[2] + "Farbschema gewählt " + this.N);
{ this.J[2], this.J[3], this.J[4], this.J[5] }[4] = this.J[6];
localObject2 = null;
this.h.i = false;
this.h.a(this.J[102], "Fortschritt", this.J);
this.g.setCurrent(this.h);
localObject1 = this.K.b("vokkerData.txt");
this.T = be.d((String)localObject1);
System.out.println("IDS: " + this.T[2]);
this.K.a(this.T[2], 0, 6);
this.r = false;
(localObject1 = new z(this)).start();
}
this.A = true;
}
this.j = false;
this.k = true;
}
|
|
|
Forumregeln
|
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren
HTML-Code ist Aus.
|
|
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:42 Uhr.
().
|