// Decompiled by DJ v3.8.8.85 Copyright 2005 Atanas Neshkov Date: 6.9.2005 16:51:23 // Home Page : http://members.fortunecity.com/neshkov/dj.html - Check often for new version! // Decompiler options: packimports(3) // Source File Name: PasswdLevel4.java 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; public class PasswdLevel4 extends Applet implements ActionListener { 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(); } 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); } if(!flag) lblstatus.setText("Invaild Login or Password"); } void ButReset_ActionPerformed(ActionEvent actionevent) { txtlogin.setText(""); txtpass.setText(""); } public void actionPerformed(ActionEvent actionevent) { Object obj = actionevent.getSource(); if(obj == ButOk) { ButOk_ActionPerformed(actionevent); return; } if(obj == ButReset) ButReset_ActionPerformed(actionevent); } public void destroy() { ButOk.setEnabled(false); ButReset.setEnabled(false); txtlogin.setVisible(false); txtpass.setVisible(false); } 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()); } } 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(); } 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; }
Elikkä edelläoleva koodi on vedetty läpi DT Java Decompilerista (ja hankittu osoitteesta http://www.try2hack.nl/levels :D). Tiedostosta pitäisi löytyä tason salasana, käyttäjätunnus ja osoite johon siirrytään. Näitä ei kumminkaan tiedostossa näy. Johtuuko ongelma decompilerista, vai enkö vain löydä niitä, kun en javaa osaa?
Ei ne siellä selkokielisenä ole.
Hups, se avaakin tiedoston :D
Aihe on jo aika vanha, joten et voi enää vastata siihen.