Προς το περιεχόμενο

Opois kserei kala JAVA...na ena challenge


-nick-

Προτεινόμενες αναρτήσεις

Isos kserete to site www.try2hack.nl <p>sta challenges , propsathiste na breite to pass ths tetarths pista

www.try2hack.nl/thelevel4.html,<p>

EDIT: Pou kollaei h JAVA....Deite to source code tou arxeiou thelevel4.html kai epeita katebasta to arxeio .class [den thymamai to filename ]

Kante ena decompiling...

kai meta..<p>[ 17-12-2001: Message edited by: ]nick[ ]<p>EDIT 2 : to arxeio einai http://www.try2hack.nl/PasswdLevel4.class<p>[ 17-12-2001: Message edited by: ]nick[ ]</p>

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

<blockquote><font size="1" face="Verdana, Helvetica, sans-serif">code:</font><hr><pre><p>// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov.

// Jad home page: http://www.geocities.com/kpdus/jad.html

// Decompiler options: packimports(3)

// Source File Name: PasswdLevel4.java<p>import java.applet.Applet;

import java.applet.AppletContext;

import java.awt.*;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.io.*;

import java.net.MalformedURLException;

import java.net.URL;

import java.util.EventObject;<p>public class PasswdLevel4 extends Applet

implements ActionListener

{<p> public PasswdLevel4()

{

inuser = new String[22];

totno = 0;

countConn = null;

countData = null;

inURL = null;

txtlogin = new TextField();

label1 = new Label();

label2 = new Label();

label3 = new Label();

txtpass = new TextField();

lblstatus = new Label();

ButOk = new Button();

ButReset = new Button();

lbltitle = new Label();

}<p> void ButOk_ActionPerformed(ActionEvent actionevent)

{

boolean flag = false;

for(int i = 1; i <= totno / 2; i++)

if(txtlogin.getText().trim().toUpperCase().intern() == inuser[2 * (i - 1) + 2].trim().toUpperCase().intern() && txtpass.getText().trim().toUpperCase().intern() == inuser[2 * (i - 1) + 3].trim().toUpperCase().intern())

{

lblstatus.setText("Login Success, Loading..");

flag = true;

String s = inuser[1].trim().intern();

String s1 = getParameter("targetframe");

if(s1 == null)

s1 = "_self";

try

{

finalurl = new URL(getCodeBase(), s);

}

catch(MalformedURLException _ex)

{

lblstatus.setText("Bad URL");

}

getAppletContext().showDocument(finalurl, s1);

}<p> if(!flag)

lblstatus.setText("Invaild Login or Password");

}<p> void ButReset_ActionPerformed(ActionEvent actionevent)

{

txtlogin.setText("");

txtpass.setText("");

}<p> public void actionPerformed(ActionEvent actionevent)

{

Object obj = actionevent.getSource();

if(obj == ButOk)

{

ButOk_ActionPerformed(actionevent);

return;

}

if(obj == ButReset)

ButReset_ActionPerformed(actionevent);

}<p> public void destroy()

{

ButOk.setEnabled(false);

ButReset.setEnabled(false);

txtlogin.setVisible(false);

txtpass.setVisible(false);

}<p> public void inFile()

{

new StringBuffer();

try

{

countConn = inURL.openStream();

countData = new BufferedReader(new InputStreamReader(countConn));

String s;

while((s = countData.readLine()) != null)

if(totno < 21)

{

totno = totno + 1;

inuser[totno] = s;

s = "";

} else

{

lblstatus.setText("Cannot Exceed 10 users, Applet fail start!");

destroy();

}

}

catch(IOException ioexception)

{

getAppletContext().showStatus("IO Error:" + ioexception.getMessage());

}

try

{

countConn.close();

countData.close();

return;

}

catch(IOException ioexception1)

{

getAppletContext().showStatus("IO Error:" + ioexception1.getMessage());

}

}<p> public void init()

{

setLayout(null);

setSize(361, 191);

add(txtlogin);

txtlogin.setBounds(156, 72, 132, 24);

label1.setText("Please Enter Login Name & Password");

label1.setAlignment(1);

add(label1);

label1.setFont(new Font("Dialog", 1, 12));

label1.setBounds(41, 36, 280, 24);

label2.setText("Login");

add(label2);

label2.setFont(new Font("Dialog", 1, 12));

label2.setBounds(75, 72, 36, 24);

label3.setText("Password");

add(label3);

add(txtpass);

txtpass.setEchoChar('*');

txtpass.setBounds(156, 108, 132, 24);

lblstatus.setAlignment(1);

label3.setFont(new Font("Dialog", 1, 12));

label3.setBounds(75, 108, 57, 21);

add(lblstatus);

lblstatus.setFont(new Font("Dialog", 1, 12));

lblstatus.setBounds(14, 132, 344, 24);

ButOk.setLabel("OK");

add(ButOk);

ButOk.setFont(new Font("Dialog", 1, 12));

ButOk.setBounds(105, 156, 59, 23);

ButReset.setLabel("Reset");

add(ButReset);

ButReset.setFont(new Font("Dialog", 1, 12));

ButReset.setBounds(204, 156, 59, 23);

lbltitle.setAlignment(1);

add(lbltitle);

lbltitle.setFont(new Font("Dialog", 1, 12));

lbltitle.setBounds(12, 14, 336, 24);

String s = getParameter("title");

lbltitle.setText(s);

ButOk.addActionListener(this);

ButReset.addActionListener(this);

infile = new String("level4");

try

{

inURL = new URL(getCodeBase(), infile);

}

catch(MalformedURLException _ex)

{

getAppletContext().showStatus("Bad Counter URL:" + inURL);

}

inFile();

}<p> private URL finalurl;

String infile;

String inuser[];

int totno;

InputStream countConn;

BufferedReader countData;

URL inURL;

TextField txtlogin;

Label label1;

Label label2;

Label label3;

TextField txtpass;

Label lblstatus;

Button ButOk;

Button ButReset;

Label lbltitle;

}<p></pre><hr></blockquote><p>

Να ρε αν ισχυει αυτο μπαινει παρακατω<p>if(txtlogin.getText().trim().toUpperCase().intern() == inuser[2 * (i - 1) + 2].trim().toUpperCase().intern() && txtpass.getText().trim().toUpperCase().intern() == inuser[2 * (i - 1) + 3].trim().toUpperCase().intern())

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δοκίμασε τα παρακάτω:<p> username: Try2Hack

password: AppletsAreEasy<p> Αν παρατηρήσεις θα δεις ότι η Applet έχει τον παρακάτω κώδικα:<p><blockquote><font size="1" face="Verdana, Helvetica, sans-serif">code:</font><hr><pre>

infile = new String("level4");

try

{

inURL = new URL(getCodeBase(), infile);

}

catch(MalformedURLException _ex)

{

getAppletContext().showStatus("Bad Counter URL:" + inURL);

}

</pre><hr></blockquote><p> Αυτός ο κώδικας δημιουργεί ένα καινούριο URL το οποίο βασίζεται πάνω στο URL από το οποίο φορτώνεται η Applet και ένα προσδιορισμό (specification) το οποίο στην περίπτωσή μας είναι το "level4" (το οποίο πρέπει να είναι κάποιο αρχείο). Αυτή η καινούρια διεύθυνση κατασκευάζεται με το να αναλύσεις το "level4" μέσα στον προσδιορισμένο πλαίσιο. Οπότε αν κάνεις ένα http://www.try2hack.nl/level4 θα σου βγάλει μία σελίδα με κρυμμένο HTML. Αν τώρα κάνεις View Source θα δεις τι πραγματικά περιέχει αυτή η σελίδα....<p> Απλό και λιτό... Το παν είναι να μπορείς να διαβάζεις τον κώδικα και να τον ακουλουθείς γραμμή προς γραμμή.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Prepei na exei ginei kai allo topic....alla thelw ksana thn gmwmi sas....paudeutika me <p>javap -c PasswdLevel4 <p>alla o kwdika pou mou efthsai htan mperdemenos...auto pou thelw na pw...mias kai pou katapiasthkame....kanena kalo decompiler kseroume?obfuscator?

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Σημερα ασχοληθηκα με αυτο, ναι ευκολο ειναι να σπασει. Παρτε και το παρακατω που ειναι vb.<p>Level 5:

username: Try2Hack

password: OutOfInspiration<p>Πως εχει. Κανουμε decompile με καποιον vb decompiler το αρχειο που κατεβαζουμε και περνουμε το .bas και το .frm.. E καποια γνωση στη συγκεκριμενη γλωσσα χρειαζεται γιατι θα χρειαστει να μετατρεψεις τα mid που υπαρχουνε μεσα σε γραμματοσειρά. Τιποτα το σημαντικο δηλαδη. Θα ασχοληθω και με τα αλλα αν ειναι μιας και σημερα δεν εχουμε σχολειο.<p>apoc > Εναν θα βρεις εδω ομως προσεχε γιατι παρ'ολο που θα εχεις δηλωσει το αρχειο που θα γινει decompile, εμενα τουλαχιστον εδωσε error. Could not find file κλπ.. Ωστοσο το .java ειχε δημιουργηθει.. Καλα decompile wink.gif" border="0<p>[ 18-12-2001: Message edited by: placid ]</p>

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Για καλό decompiler θα σου πρότεινα το JAD (JAva Decompiler) όπως είπε και ο placid και τον Mocha.<p> Για obfuscator υπάρχει παρόμοιο θέμα. Για anti-obfuscator δυστυχώς δεν υπάρχουνε.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

nai paidia thanks...gia thn ipodeiksh tou JAD...gia na pw thn alithia den eixa koitaksei poly decompilation ..opote mou htan agnwsta ta ergaleia....ekana mia prospathia me to applet tou level4 alla me to bytecode pou efthnai to javap den mporesa na dw kati...h mallon den exw tetoio epipedo pou na diavasw bytecodes....<p>foveros o JAD<p>na ste kala!

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

<blockquote><font size="1" face="Verdana, Helvetica, sans-serif">quote:</font><hr>Originally posted by Γηριόνης:

<strong>Κοίτα εδώ: http://spacejug.org/resources/Java_Utilities/Decompilers/jad.html</strong><hr></blockquote><p>Xmm.......kai me to Borland JBuilder 2 nomizo thn kaneis thn douleia sou, exei ensomatomeno decompiler...<p>..Mhpos to Level 5 einai eukolotero apo to Level 4?

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...