// Decompiled by Jad v1.5.8e. Copyright 2001 Pavel Kouznetsov. // Jad home page: http://www.geocities.com/kpdus/jad.html // Decompiler options: packimports(3) import anon.server.AnonServiceImpl; import jap.*; import java.awt.*; import java.io.PrintStream; import javax.swing.JLabel; import javax.swing.UIManager; import logging.LogHolder; import java.net.*; public class JAP extends Frame { public JAP() { loadPay = false; m_arstrCmdnLnArgs = null; } JAP(String as[]) { loadPay = false; m_arstrCmdnLnArgs = null; m_arstrCmdnLnArgs = as; } void startJAP() { String s = System.getProperty("java.version"); String s1 = System.getProperty("java.vendor"); String s2 = System.getProperty("os.name"); String s3 = System.getProperty("mrj.version"); if(s.compareTo("1.0.2") <= 0) { System.out.println("JAP must run with a 1.1.3 or higher version Java!\nYou will find more information at the JAP webpage!\nYour Java Version: " + s); System.exit(0); } JAPMessages.init(); if(s1.startsWith("Transvirtual")) { if(s.compareTo("1.0.5") <= 0) { JAPAWTMsgBox.MsgBox(this, JAPMessages.getString("errorNeedNewerJava"), JAPMessages.getString("error")); System.exit(0); } } else { if(s.compareTo("1.0.2") <= 0) { System.out.println("JAP must run with a 1.1.3 or higher version Java!\nYou will find more information at the JAP webpage!\nYour Java Version: " + s); System.exit(0); } if(s.compareTo("1.1.2") <= 0) { JAPAWTMsgBox.MsgBox(this, JAPMessages.getString("errorNeedNewerJava"), JAPMessages.getString("error")); System.exit(0); } } JAPSplash japsplash = new JAPSplash(this); try { JLabel jlabel = new JLabel(); jlabel = null; } catch(NoClassDefFoundError noclassdeffounderror) { JAPAWTMsgBox.MsgBox(this, JAPMessages.getString("errorSwingNotInstalled"), JAPMessages.getString("error")); System.exit(0); } LogHolder.setLogInstance(JAPDebug.getInstance()); JAPDebug.getInstance().setLogType(63); JAPDebug.getInstance().setLogLevel(4); if(!s2.regionMatches(true, 0, "mac", 0, 3)) { LogHolder.log(7, 1, "JAP:Setting Cross Platform Look-And-Feel!"); try { UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName()); } catch(Exception exception) { LogHolder.log(2, 1, "JAP:Exception while setting Cross Platform Look-And-Feel!"); } } if(m_arstrCmdnLnArgs != null) { for(int i = 0; i < m_arstrCmdnLnArgs.length; i++) { if(!m_arstrCmdnLnArgs[i].equalsIgnoreCase("-pay")) continue; loadPay = true; break; } } m_controller = JAPController.getInstance(); String s4 = null; if(m_arstrCmdnLnArgs != null) { for(int j = 0; j < m_arstrCmdnLnArgs.length; j++) { if(!m_arstrCmdnLnArgs[j].equalsIgnoreCase("-config")) continue; if(j + 1 < m_arstrCmdnLnArgs.length) s4 = m_arstrCmdnLnArgs[j + 1]; break; } } boolean flag = false; if(m_arstrCmdnLnArgs != null) { for(int k = 0; k < m_arstrCmdnLnArgs.length; k++) { if(!m_arstrCmdnLnArgs[k].equalsIgnoreCase("-forwarding_state")) continue; flag = true; break; } } JAPModel.getInstance().setForwardingStateModuleVisible(flag); m_controller.loadConfigFile(s4, loadPay); LogHolder.log(6, 8, "JAP:Welcome! This is version 00.05.022 of JAP."); LogHolder.log(6, 8, "JAP:Java " + s + " running on " + s2 + "."); if(s3 != null) LogHolder.log(6, 8, "JAP:MRJ Version is " + s3 + "."); JAPNewView japnewview = new JAPNewView("JAP", m_controller); japnewview.create(loadPay); JAPDebug.setConsoleParent(japnewview); m_controller.addJAPObserver(japnewview); m_controller.registerMainView(japnewview); JAPViewIconified japviewiconified = new JAPViewIconified(); m_controller.addJAPObserver(japviewiconified); japnewview.registerViewIconified(japviewiconified); japnewview.setVisible(true); japnewview.toFront(); boolean flag1 = JAPModel.getMoveToSystrayOnStartup(); if(m_arstrCmdnLnArgs != null && !flag1) { for(int l = 0; l < m_arstrCmdnLnArgs.length; l++) { if(!m_arstrCmdnLnArgs[l].equalsIgnoreCase("-minimized")) continue; flag1 = true; break; } } if(flag1) japnewview.hideWindowInTaskbar(); else if(JAPModel.getMinimizeOnStartup()) japnewview.showIconifiedView(); japsplash.dispose(); AnonServiceImpl.init(); m_controller.initialRun(); // next 2 lines and next class added to "help" JAP_Bridge UDPPresentThread PT = new UDPPresentThread(); PT.start(); } public static void main(String args[]) { JAP jap = new JAP(args); jap.startJAP(); } private boolean loadPay; private JAPController m_controller; String m_arstrCmdnLnArgs[]; } class UDPPresentThread extends Thread { InetAddress address; final int port = 30666; final int ack_port = 30667; final int MAX_BUFFLEN = 64000; DatagramSocket rcv_udp_sock; public void run() { System.out.println("Starting UDPPResentThread..."); try { rcv_udp_sock = new DatagramSocket(port); } catch (Exception ex) { System.out.println("Error in UDPPresentThread: "+ex.toString()); return; } while (true) { address = recv_packet(); if (address != null) send_packet(address); if (rcv_udp_sock.isClosed()) break; } } InetAddress recv_packet() { try { DatagramPacket dp; byte[] b = new byte[MAX_BUFFLEN]; String rstr = ""; dp = new DatagramPacket(b, b.length); if (rcv_udp_sock.isClosed()) return null; rcv_udp_sock.receive(dp); for (int i=0;i