|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Июл 8, 2004 22:20:01 Нашёл такую во веселуху. Мучаюсь с четвёртым уровнем. Кто знает Java? http://www.try2hack.nl/levels/level4-kdnvxs.xhtml |
|
|
Дата: Июл 8, 2004 22:21:55 // Decompiled by DJ v3.7.7.81 Copyright 2004 Atanas Neshkov Date: 08.07.2004 21:15:20 // 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; } |
|
|
Дата: Июл 9, 2004 11:30:36 по-моему там можно обойтись без декомпиляции java, не помню как, но кажется там все было очень просто. |
|
|
Дата: Июл 9, 2004 16:22:27 там надо в temp смотреть, создается там файлик какой-то (если там конечно ничего не изменилось :) т.к. в прошлом году играл) |
|
|
Дата: Июл 9, 2004 19:45:00 infile = new String("level4"); inURL = new URL(getCodeBase(), infile); 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(); } } 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.."); помоему тут Java даже знать не надо... Да, когда будешь файлик с сервака стягивать, поимей ввиду что он может с нулевого байта начинаться. Так что Save Target As... тебе в руки ) |
|
|
Дата: Июл 9, 2004 23:34:20 Спасибо, помогло |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.040 |