密码是 anVzdGFnYW1l
反编译Training.class后修改其中的部分代码后获得密码。
可是根据提示的页面不存在,有可能其它class文件中还有文章,没时间一行行的详细看了,在比赛论坛上有人也遇到这样的问题,说还得有脑筋急转弯的思想,呵呵~~~~你慢慢转吧

解决方案 »

  1.   

    用Java源代码反编译专家,安装好后用它打开.class文件就可以了这是我反编译的Training.class// Decompiled by Jad v1.5.7g. Copyright 2000 Pavel Kouznetsov.
    // Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
    // Decompiler options: packimports(3) fieldsfirst ansi 
    // Source File Name:   Training.javaimport 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;public class Training extends Applet
        implements ActionListener
    {    Label mylabel;
        Label answer;
        TextField code;
        String infile;
        String inpass;
        Button mybutton;
        InputStream countConn;
        BufferedReader countData;
        URL inURL;    public void init()
        {
            add(mylabel);
            add(code);
            add(mybutton);
            add(answer);
            mybutton.addActionListener(this);
            mylabel.setBackground(Color.white);
            answer.setBackground(Color.white);
            setBackground(Color.white);
            setLayout(new BorderLayout());
            add(mylabel, "West");
            add(code, "Center");
            add(mybutton, "East");
            add(answer, "South");
            try
            {
                inURL = new URL(getCodeBase(), infile);
            }
            catch(MalformedURLException malformedurlexception)
            {
                getAppletContext().showStatus("Bad Counter URL:" + inURL);
            }
            inFile();
        }    public void actionPerformed(ActionEvent actionevent)
        {
            String s = code.getText();
            try
            {
                String s1 = Base64.encodeString(inpass);
                if(s.equals(s1))
                {
                    s1 = s1.replaceAll("=", "");
                    code.setText(s1 + ".htm");
                    answer.setText("Go to: " + s1 + ".htm");
                } else
                {
                    answer.setText("密码错误");
                }
            }
            catch(Exception exception)
            {
                showStatus("验证失败!");
            }
        }    public Training()
        {
            mylabel = new Label("请输入密码:");
            answer = new Label("", 1);
            code = new TextField(10);
            mybutton = new Button("确定");
            infile = "Color.jpg";
            countConn = null;
            countData = null;
            inURL = null;
        }    public void inFile()
        {
            new StringBuffer();
            try
            {
                countConn = inURL.openStream();
                countData = new BufferedReader(new InputStreamReader(countConn));
                String s;
                if((s = countData.readLine()) != null)
                    inpass = s;
                else
                    getAppletContext().showStatus("IO Error:");
            }
            catch(IOException ioexception)
            {
                getAppletContext().showStatus("IO Error:" + ioexception.getMessage());
            }
            try
            {
                countConn.close();
                countData.close();
                return;
            }
            catch(Exception exception)
            {
                answer.setText("网络错误,请确认网络连通");
            }
        }
    }下面这一句替换语句我不知道他想做什么,好象在这里没什么作用,但是又象是在给什么提示
    s1 = s1.replaceAll("=", "");图象文件Color.jpg中其实就是一个字符串"justagame"
    他用了inFile()方法来获得这个字符串
    inpass = "justagame";就可以了String s1 = Base64.encodeString(inpass);
    本句后面只要加上
    System.out.println(s1);
    就可以在控制台把密码列出来
      

  2.   

    顶一下!楼上大哥能不能给个java反编译的工具的下载地址??谢谢了