PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Passwortabfrage in Java



Freestyleman
20.03.2001, 14:53
SErs!

Ich hab mit nen Decompiler ne Javapassabfrage rekompiliert, jetzt müsste doch da normalerweise das Pass drin stehn oder???

hier mal der code:




import java.applet.Applet;
import java.applet.AppletContext;
import java.awt.*;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;

public class afCodelink extends Applet
implements Runnable {

private String O;
final String ooO = "Frame";
private int ooOo;
boolean oo;
Thread xxxXox;
afCode2 xo;
afCode2 xoo;
afCode2 xxxx;
afCode2 xxoxx;
afCode2 xoxx;
afCode2 xoxox;
afCode2 xoxxox;
afCode2 xxxxxxxx;
afCode2 xxxxxxx;
afCode2 xxxxxx;
afCode2 xxxxxo;
afCode2 xo2;
afCode2 xo3;
afCode2 xo4;
afCode2 xxoooxo;
afCode2 xxxooo;
boolean m_boo;
private int vV;
private int zZ;
private int oooo;
private int oooO;
private int oooOO[];
private String oOoOO[];
private int oOOO;
private int oOOOo;
private int OOOOOO;
private int OOOOO;
private int OOOO;
private int OOOOo;
private int cc;
String Xoo;
boolean OOoo;
private URL OoooOo;
private String Oo;
private String OoOOO;
private int OoOOoo;
boolean OoOOxo;
private String OxOOxo;
private String Oxo;
private final String XXoOOO = "Usercode";
Image p;
private final String OxoX = "BackImage";
private Image O0;
private Dimension o0;
private Graphics o0o;

public void stop() {
if(xxxXox != null) {
xxxXox.stop();
xxxXox = null;
}
}

boolean Oooxx() {
OOoo = false;
Xoo = "";
AppletContext ac = getAppletContext();
int i = 1;
do {
Xoo = Xoo + oOoOO[i];
i++;
} while(i <= 7);
if(Xoo.indexOf("Ab") <= -1) {
OOoo = true;
repaint();
return false;
}
try {
String Ooxoxx = Xoo + ".html";
URL OOOoooO = new URL(OoooOo, Ooxoxx);
ac.showDocument(OOOoooO, O);
}
catch(MalformedURLException e) {
return false;
}
catch(IOException e) {
return false;
}
repaint();
return true;
}

boolean ftxx() {
int fxtx = 2098;
String hexstart = "f-";
String hexfin = "3C";
boolean xzxzvv = true;
URL OoooOo = getDocumentBase();
String Oxo = OoooOo.getProtocol();
int pp = Oxo.compareTo("http");
if(pp == 0) {
xzxzvv = true;
} else {
xzxzvv = false;
return true;
}
String xzxzv = "";
String param = getParameter("RegistrationID");
if(param == null)
return false;
if(param != null)
xzxzv = param;
xzxzv = xzxzv.trim();
String hexa4 = "";
int lengthh = xzxzv.length();
String bitof = "";
int iii = lengthh;
if(lengthh <= 9)
return false;
try {
for(int ii = 0; ii <= lengthh; ii++) {
iii--;
if(iii <= 0)
iii = 0;
bitof = xzxzv.substring(iii, lengthh - ii);
hexa4 = hexa4 + bitof;
}

}
catch(Exception e) {
return false;
}
String hexa5 = hexa4;
int hexa7 = hexa5.length();
String Licen = hexa5.substring(0, 2);
String ProdnVers = hexa5.substring(hexa7 - 2, hexa7);
String rawNum = hexa5.substring(2, hexa7 - 3);
int moveto = rawNum.indexOf("-");
if(moveto < 0)
return false;
String bitup = rawNum.substring(0, moveto);
String bitdn = rawNum.substring(moveto + 1, rawNum.length());
String Num = bitup + bitdn;
String Whatisit = "Code:" + xzxzv + " The Reverse:" + hexa4 + " licence:" + Licen + " Version" + ProdnVers + "\n" + rawNum + " " + Num;
int original = 1;
try {
original = Integer.parseInt(Num);
}
catch(Exception e) {
Num = "0";
return false;
}
int Result = 0;
Result = original % fxtx;
boolean rtclassconvert = false;
rtclassconvert = hexfin.equals(ProdnVers);
boolean KeepCool = true;
KeepCool = hexstart.equals(Licen);
String fallornerd = "not Registered";
if(Result == 0 && rtclassconvert && KeepCool) {
fallornerd = "Licenced";
return true;
} else {
return false;
}
}

public void String_val(int oOOOoo) {
oooo = oOOOoo;
if(oOOOoo == 15) {
xxxooo.oOOxxOo();
Oooxx();
return;
}
if(oOOOoo == 13) {
oooOO[oOOOo] = 0;
oOoOO[oOOOo] = "" + 0;
repaint();
oOOOo = oOOOo - 1;
if(oOOOo <= -1)
oOOOo = 0;
return;
}
int i;
if(oOOOoo == 14) {
OOoo = false;
xxxooo.oOOxxOo();
i = 0;
do {
oooOO[i] = 0;
oOoOO[i] = "" + 0;
i++;
} while(i <= 7);
repaint();
oOOOo = 0;
return;
}
oOOOo = oOOOo + 1;
if(oOOOo >= 8) {
oOOOo = 7;
return;
}
oooOO[oOOOo] = oOOOoo;
i = 0;
do {
oOoOO[i] = "" + oooOO[i];
if(oooOO[i] == 10)
oOoOO[i] = "A";
if(oooOO[i] == 11)
oOoOO[i] = "b";
if(oooOO[i] == 12)
oOoOO[i] = "c";
i++;
} while(i <= 7);
repaint();
}

boolean xxxXo(int OoOOoo, String Oo) {
String param = getParameter("Usercode");
if(param != null)
OoOOO = param;
Oo = Oo.toLowerCase();
if(Oo.endsWith("htm"))
Oo = Oo + "l";
int oo0o = Oo.length();
if(Oo.endsWith("index.html"))
Oo = Oo.substring(0, oo0o - 10);
int oo0oO = OoOOoo;
int ap = Oo.lastIndexOf("a") - Oo.indexOf("a");
int pp = Oo.lastIndexOf("e") - Oo.indexOf("e");
int et = Oo.lastIndexOf("i") - Oo.indexOf("i");
int pa = Oo.lastIndexOf("o") - Oo.indexOf("o");
int nt = Oo.lastIndexOf("u") - Oo.indexOf("u");
int pai = ap + pp + et + pa + nt + 2 * oo0oO;
int intt = Oo.lastIndexOf("h") - Oo.indexOf("h");
int la = Oo.lastIndexOf("t") - Oo.indexOf("t");
int of = Oo.lastIndexOf("p") - Oo.indexOf("p");
int dex = Oo.lastIndexOf("w") - Oo.indexOf("w");
int appp = intt + la + of + dex + oo0oO;
int ONpp = Oo.lastIndexOf("1") * 1;
int TWpa = Oo.lastIndexOf("2") * 2;
int exte = Oo.lastIndexOf("3") * 3;
int goo = Oo.lastIndexOf("7") * 7;
int dluc = Oo.length();
int fuc = ((ONpp + TWpa) - 2 * (exte + goo)) * 3 + oo0oO;
int ker = 0;
ker = (dluc - Oo.lastIndexOf("/") - 7) + oo0oO;
String cursed = "";
if(ker >= 10)
ker -= 10;
if(ker >= 10)
ker -= 10;
if(ker >= 10)
ker -= 10;
if(ker <= 2)
cursed = "Q";
else
if(ker == 3)
cursed = "Z";
else
if(ker == 4)
cursed = "X";
else
if(ker == 5)
cursed = "V";
else
if(ker == 6)
cursed = "M";
else
if(ker == 7)
cursed = "N";
else
if(ker >= 8)
cursed = "L";
else
cursed = "D";
if(dluc <= 20)
dluc *= 5;
if(dluc <= 25)
dluc *= 3;
if(dluc >= 40)
dluc -= 5;
if(dluc >= 50)
dluc -= 8;
if(dluc >= 80)
dluc -= 40;
dluc += oo0oO;
int stopnow = (pai + appp) * dluc + fuc;
if(stopnow <= 999)
stopnow *= 11;
if(stopnow >= 34000)
stopnow -= 30000;
if(stopnow >= 34000)
stopnow -= 30000;
if(stopnow >= 34000)
stopnow -= 30000;
int cc = OoOOO.compareTo("" + cursed + stopnow);
return cc == 0 &#0124;&#0124; !OoOOxo;
}

public void paint(Graphics g) {
g.setColor(Color.lightGray);
g.fillRect(0, 0, size().width, size().height);
if(p != null) {
int wid = p.getWidth(this);
int hei = p.getHeight(this);
int po = size().width;
int px = size().height;
int pxx = po / wid + 1;
int opxx = px / hei + 1;
for(int x = 0; x <= opxx; x++) {
for(int i = 0; i <= pxx; i++)
g.drawImage(p, i * wid, x * hei, this);

}

}
g.setColor(Color.lightGray);
g.draw3DRect(0, 0, size().width - 1, size().height - 1, true);
g.draw3DRect(5, 5, size().width - 11, size().height - 11, false);
g.setColor(Color.gray);
g.draw3DRect(vV - 4, zZ - 1, 92, 121, false);
g.setColor(Color.lightGray);
g.fill3DRect(OOOO - 7, OOOOo - 7, 126, 59, true);
g.fill3DRect(OOOO - 6, OOOOo - 6, 124, 57, false);
g.setColor(Color.darkGray.darker());
g.fill3DRect(OOOO - 5, OOOOo - 5, 122, 55, true);
g.setColor(Color.red);
g.drawString("Pass:", OOOO, OOOOo + 15);
g.setColor(Color.black);
g.fillRect(150, 25, 72, 18);
dig_draw(g, OOOO + 30, OOOOo, oooOO[1]);
dig_draw(g, OOOO + 40, OOOOo, oooOO[2]);
dig_draw(g, OOOO + 50, OOOOo, oooOO[3]);
dig_draw(g, OOOO + 60, OOOOo, oooOO[4]);
dig_draw(g, OOOO + 70, OOOOo, oooOO[5]);
dig_draw(g, OOOO + 80, OOOOo, oooOO[6]);
dig_draw(g, OOOO + 90, OOOOo, oooOO[7]);
g.setColor(Color.green.darker());
g.drawString("Status:", OOOO, OOOOo + 40);
}

public afCodelink() {
O = "_self";
OoOOO = "45";
OoOOoo = 2;
OoOOxo = true;
}

public final synchronized void update(Graphics g) {
Dimension d = size();
if(O0 == null &#0124;&#0124; d.width != o0.width &#0124;&#0124; d.height != o0.height) {
O0 = createImage(d.width, d.height);
o0 = d;
o0o = O0.getGraphics();
}
paint(o0o);
g.drawImage(O0, 0, 0, null);
}

public void start() {
if(xxxXo(OoOOoo, Oo) &#0124;&#0124; ftxx())
oo = true;
if(xxxXox == null) {
xxxXox = new Thread(this);
xxxXox.start();
}
}

public void run() {
do
try {
xxoooxo.getthread();
xxxooo.getthread();
Thread.sleep(50L);
}
catch(InterruptedException interruptedexception) { }
while(true);
}

public void init() {
String cC = getParameter("Frame");
if(cC != null)
O = cC;
String param = getParameter("BoldFace");
if(param != null)
m_boo = Boolean.valueOf(param).booleanValue();
oooo = 3;
Xoo = "";
oooOO = new int[8];
int i = 0;
do {
oooOO[i] = 0;
i++;
} while(i <= 7);
OoooOo = getDocumentBase();
Oo = OoooOo.toString();
oOoOO = new String[8];
setLayout(null);
xo = new afCode2(this, 1, 30, m_boo);
add(xo);
xoo = new afCode2(this, 2, 30, m_boo);
add(xoo);
xxxx = new afCode2(this, 3, 30, m_boo);
add(xxxx);
xxoxx = new afCode2(this, 4, 30, m_boo);
add(xxoxx);
xoxx = new afCode2(this, 5, 30, m_boo);
add(xoxx);
xoxox = new afCode2(this, 6, 30, m_boo);
add(xoxox);
xoxxox = new afCode2(this, 7, 30, m_boo);
add(xoxxox);
xxxxxxxx = new afCode2(this, 8, 30, m_boo);
add(xxxxxxxx);
xxxxxxx = new afCode2(this, 9, 30, m_boo);
add(xxxxxxx);
xxxxxx = new afCode2(this, 10, 30, m_boo);
add(xxxxxx);
xxxxxo = new afCode2(this, 11, 30, m_boo);
add(xxxxxo);
xo2 = new afCode2(this, 12, 30, m_boo);
add(xo2);
xo3 = new afCode2(this, 13, 60, m_boo);
add(xo3);
xo4 = new afCode2(this, 14, 60, m_boo);
add(xo4);
xxoooxo = new afCode2(this, 15, 60, m_boo);
add(xxoooxo);
xxxooo = new afCode2(this, 20, 60, m_boo);
add(xxxooo);
OOOO = 118;
OOOOo = 22;
vV = 14;
zZ = 14;
resize(240, 140);
xo.move(vV, zZ);
xoo.move(vV + 30, zZ);
xxxx.move(vV + 60, zZ);
xxoxx.move(vV, zZ + 30);
xoxx.move(vV + 30, zZ + 30);
xoxox.move(vV + 60, zZ + 30);
xoxxox.move(vV, zZ + 60);
xxxxxxxx.move(vV + 30, zZ + 60);
xxxxxxx.move(vV + 60, zZ + 60);
xxxxxx.move(vV, zZ + 90);
xxxxxo.move(vV + 30, zZ + 90);
xo2.move(vV + 60, zZ + 90);
xo3.resize(63, 25);
xo4.resize(63, 25);
vV = vV + 3;
xo3.move(vV + 97, zZ + 67);
xo4.move(vV + 97, zZ + 94);
xxoooxo.move(vV + 163, zZ + 67);
xxoooxo.resize(55, 52);
xxxooo.move(vV + 140, 47);
xxxooo.resize(60, 20);
Oxo = OoooOo.getProtocol();
int pp = Oxo.compareTo("http");
if(pp == 0)
OoOOxo = true;
else
OoOOxo = false;
String zZo = getParameter("BackImage");
if(zZo != null) {
MediaTracker mt = new MediaTracker(this);
URL dbl = getDocumentBase();
p = getImage(dbl, zZo);
mt.addImage(p, 0);
try {
mt.waitForID(0);
}
catch(Exception exception) { }
}
}

public void dig_draw(Graphics g, int vVit, int zZit, int n) {
int xzZ = zZit + 5;
int xvV = vVit + 5;
OOOOOO = 4;
OOOOO = 4;
int oOOO = n;
boolean A = false;
boolean F = false;
boolean XXxxA = false;
boolean xoXxX = false;
boolean xocX = false;
boolean xoc = false;
boolean R = false;
switch(oOOO) {
case 1: // '\001'
xoc = true;
R = true;
break;

case 2: // '\002'
A = true;
F = true;
XXxxA = true;
xocX = true;
xoc = true;
break;

case 3: // '\003'
xoc = true;
R = true;
A = true;
F = true;
XXxxA = true;
break;

case 4: // '\004'
xoc = true;
R = true;
F = true;
xoXxX = true;
break;

case 5: // '\005'
A = true;
F = true;
XXxxA = true;
R = true;
xoXxX = true;
break;

case 6: // '\006'
A = true;
F = true;
XXxxA = true;
xoXxX = true;
R = true;
xocX = true;
break;

case 7: // '\007'
xoc = true;
R = true;
A = true;
break;

case 8: // '\b'
A = true;
F = true;
XXxxA = true;
A = true;
xoc = true;
R = true;
xoXxX = true;
xocX = true;
break;

case 9: // '\t'
xoc = true;
R = true;
F = true;
A = true;
XXxxA = true;
xoXxX = true;
break;

case 10: // '\n'
F = true;
A = true;
xoc = true;
R = true;
xoXxX = true;
xocX = true;
break;

case 11: // '\013'
xoXxX = true;
xocX = true;
F = true;
XXxxA = true;
R = true;
break;

case 12: // '\f'
xocX = true;
XXxxA = true;
F = true;
break;
}
int vV = 0;
int zZ = -1;
if(A)
g.setColor(Color.green.brighter());
else
g.setColor(new Color(40, 60, 40));
g.drawLine(xvV + vV, xzZ + zZ, xvV + vV + OOOOOO, xzZ + zZ);
if(F)
g.setColor(Color.green.brighter());
else
g.setColor(new Color(40, 60, 40));
zZ = OOOOO + 2;
g.drawLine(xvV + vV + 1, xzZ + zZ, (xvV + vV + OOOOOO) - 1, xzZ + zZ);
if(XXxxA)
g.setColor(Color.green.brighter());
else
g.setColor(new Color(40, 60, 40));
zZ = 2 * OOOOO + 5;
g.drawLine(xvV + vV, xzZ + zZ, xvV + vV + OOOOOO, xzZ + zZ);
vV = -1;
zZ = 0;
if(xoXxX)
g.setColor(Color.green.brighter());
else
g.setColor(new Color(40, 60, 40));
g.drawLine(xvV + vV, xzZ + zZ, xvV + vV, xzZ + zZ + OOOOO + 1);
if(xoc)
g.setColor(Color.green.brighter());
else
g.setColor(new Color(40, 60, 40));
vV = OOOOOO + 1;
zZ = 0;
g.drawLine(xvV + vV, xzZ + zZ, xvV + vV, xzZ + zZ + OOOOO + 1);
if(R)
g.setColor(Color.green.brighter());
else
g.setColor(new Color(40, 60, 40));
zZ = OOOOO + 3;
g.drawLine(xvV + vV, xzZ + zZ, xvV + vV, xzZ + zZ + OOOOO + 1);
vV = -1;
if(xocX)
g.setColor(Color.green.brighter());
else
g.setColor(new Color(40, 60, 40));
g.drawLine(xvV + vV, xzZ + zZ, xvV + vV, xzZ + zZ + OOOOO + 1);
}
}



MfG Freestyleman

singleblue
20.03.2001, 19:42
Naja,wie soll ich es dir sagen,duhast 2 Möglichkeiten,entweder mit Bruteforce oder du schafst es das pwd zu rekostruierenaus dem Zeilenwirwar. Vielleicht gibt's ja auch noch andereMöglichkeiten,hab mir den Quelltext nicht sogenau angeguckt,abermir ist sofoert folgendeZeilein's auge gesprungen (keine angst hat nicht weh getan *gg*) :


String Ooxoxx = Xoo + ".html"; URL OOOoooO = new URL(OoooOo, Ooxoxx); ac.showDocument(OOOoooO, O);

das bedeutet das Xoo das eigetnliche pwd ist, oder schon das verchlüsselt, mußt dirden Quelltext mal genau durchlesen. nun wird noch ein html rangehangen und schon hast du die addy zum Ziel. Vielleicht hilft's ja, wenn dudir die Funktion 0ooxx() genauer ansiehst und dann alles zurückverfolgst, dann müßtest dueigentlich irgendwann auf die addy kommen.
Viel spaß wünsch ich dir noch
cu :)