-nick- Δημοσ. 17 Δεκεμβρίου 2001 Δημοσ. 17 Δεκεμβρίου 2001 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>
apoc Δημοσ. 17 Δεκεμβρίου 2001 Δημοσ. 17 Δεκεμβρίου 2001 To run time mou xtypaei AccessControl exception kai den mporw na dw to applet initialized... oi alloi to vlepete kanonika?
placid Δημοσ. 18 Δεκεμβρίου 2001 Δημοσ. 18 Δεκεμβρίου 2001 <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())
Γηρυόνης Δημοσ. 18 Δεκεμβρίου 2001 Δημοσ. 18 Δεκεμβρίου 2001 Δοκίμασε τα παρακάτω:<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> Απλό και λιτό... Το παν είναι να μπορείς να διαβάζεις τον κώδικα και να τον ακουλουθείς γραμμή προς γραμμή.
-nick- Δημοσ. 18 Δεκεμβρίου 2001 Μέλος Δημοσ. 18 Δεκεμβρίου 2001 W00T girionhs ... <p>Dokimase kai ta ypoloipa levels re c www.try2hack.nl
Γηρυόνης Δημοσ. 18 Δεκεμβρίου 2001 Δημοσ. 18 Δεκεμβρίου 2001 Κάποια άλλη φορά βαριέμαι τώρα...<p> Ίσως στις διακοπές των Χριστουγέννων...<p> ]
apoc Δημοσ. 18 Δεκεμβρίου 2001 Δημοσ. 18 Δεκεμβρίου 2001 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?
placid Δημοσ. 18 Δεκεμβρίου 2001 Δημοσ. 18 Δεκεμβρίου 2001 Σημερα ασχοληθηκα με αυτο, ναι ευκολο ειναι να σπασει. Παρτε και το παρακατω που ειναι 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 <p>[ 18-12-2001: Message edited by: placid ]</p>
Γηρυόνης Δημοσ. 18 Δεκεμβρίου 2001 Δημοσ. 18 Δεκεμβρίου 2001 Για καλό decompiler θα σου πρότεινα το JAD (JAva Decompiler) όπως είπε και ο placid και τον Mocha.<p> Για obfuscator υπάρχει παρόμοιο θέμα. Για anti-obfuscator δυστυχώς δεν υπάρχουνε.
apoc Δημοσ. 18 Δεκεμβρίου 2001 Δημοσ. 18 Δεκεμβρίου 2001 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!
The_Mentor Δημοσ. 19 Δεκεμβρίου 2001 Δημοσ. 19 Δεκεμβρίου 2001 Gia to LEVEL 6 Username: AlmostAHacker Password: ZqrE01A2d<p>The Mentor
greco Δημοσ. 19 Δεκεμβρίου 2001 Δημοσ. 19 Δεκεμβρίου 2001 Re paidia, mporei kapoios na mou steilei ton JAD giati to link einai down kai apo search den vriskw ena link pou na douleyei. Thanx mail: [email protected]
Γηρυόνης Δημοσ. 19 Δεκεμβρίου 2001 Δημοσ. 19 Δεκεμβρίου 2001 Κοίτα εδώ: http://spacejug.org/resources/Java_Utilities/Decompilers/jad.html
-nick- Δημοσ. 20 Δεκεμβρίου 2001 Μέλος Δημοσ. 20 Δεκεμβρίου 2001 <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?
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.