⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chatserver_normal_encoded.jad

📁 《透视Java》的源码
💻 JAD
字号:
// 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) 
// Source File Name:   d.java

package covertjava.chat;

import covertjava.a.b;
import java.io.PrintStream;
import java.net.InetAddress;
import java.rmi.Naming;
import java.rmi.RemoteException;
import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
import java.rmi.server.UnicastRemoteObject;

// Referenced classes of package covertjava.chat:
//            b, MessageInfo, c

public class d extends UnicastRemoteObject
    implements covertjava.chat.b
{

    protected d()
        throws Exception
    {
        b = 1149;
    }

    public static d a()
        throws Exception
    {
        if(a == null)
            a = new d();
        return a;
    }

    public void b()
        throws Exception
    {
        System.out.println(a("[\036pF6s\034pH6|\0279F7wPzZ>fPjW-d\025k\034q<"));
        String s = System.getProperty(a("q\030xFqa\025kD:` v@+"));
        if(s != null)
            b = Integer.parseInt(s);
        c = a(b);
        java.rmi.Remote remote = null;
        String s1 = String.valueOf(String.valueOf((new StringBuffer(a("=_(\000h<@7\002q#J"))).append(b).append(a("=\023qS+a\025kD:`"))));
        try
        {
            remote = Naming.lookup(s1);
        }
        catch(Exception exception) { }
        if(remote != null)
        {
            throw new Exception(a("S\036vF7w\0029[1a\004x\\<wPvT\177Q\030xF\036b\000u[<s\004p]12\031j\022>~\002|S;kPkG1|\031wU\177}\0369F7{\0039_>q\030p\\:"));
        } else
        {
            Naming.rebind(s1, this);
            e = InetAddress.getLocalHost().getHostName();
            f = System.getProperty(a("g\003|@q|\021tW"));
            System.out.println(a("Q\030xF\036b\000u[<s\004p]12\003|@)w\0029[1{\004pS3{\n|V"));
            return;
        }
    }

    public void a(String s, String s1)
        throws Exception
    {
        boolean flag = MessageInfo.c;
        if(s == null || s.trim().length() == 0)
            throw new Exception(a("B\034|S,wPjB:q\031\177K\177z\037jF\177|\021tW"));
        System.out.println(String.valueOf(String.valueOf((new StringBuffer(a("A\025wV6|\0279_:a\003xU:2\004v\0227}\003m\022"))).append(s).append(a("(P")).append(s1))));
        String s2 = String.valueOf(String.valueOf((new StringBuffer(a("=_"))).append(s).append(":").append(b).append(a("=\023qS+a\025kD:`"))));
        covertjava.chat.b b1 = (covertjava.chat.b)Naming.lookup(s2);
        MessageInfo messageinfo = new MessageInfo(e, f);
        b1.receiveMessage(s1, messageinfo);
        System.out.println(a("_\025jA>u\0259A:|\0049F02\030vA+2").concat(String.valueOf(String.valueOf(s))));
        if(flag)
            b.c = !b.c;
    }

    public void a(c c1)
    {
        d = c1;
    }

    public Registry a(int i)
        throws Exception
    {
        System.out.println(a("F\002`[1uPm]\177u\025m\022+z\0259@:u\031jF-kPv\\\177b\037kF\177").concat(String.valueOf(String.valueOf(i))));
        Registry registry = null;
        try
        {
            registry = LocateRegistry.getRegistry(i);
            registry.list();
        }
        catch(Exception exception)
        {
            System.out.println(a("@\025~[,f\002`\022(s\0039\\0fPkG1|\031wUs2\004kK6|\0279F02\023kW>f\0259]1w^7\034"));
            registry = LocateRegistry.createRegistry(i);
            registry.list();
        }
        return registry;
    }

    public void receiveMessage(String s, MessageInfo messageinfo)
        throws RemoteException
    {
        System.out.println(a("@\025zW6d\025}\0222w\003jS8wP\177@0\177Pq],fP").concat(String.valueOf(String.valueOf(messageinfo.a()))));
        if(d != null)
            d.a(s, messageinfo);
    }

    private static String a(String s)
    {
        char ac[];
        int i;
        int j;
        ac = s.toCharArray();
        i = ac.length;
        j = 0;
        if(i > 1) goto _L2; else goto _L1
_L1:
        ac;
        j;
_L10:
        JVM INSTR dup2 ;
        JVM INSTR caload ;
        j % 5;
        JVM INSTR tableswitch 0 3: default 72
    //                   0 52
    //                   1 57
    //                   2 62
    //                   3 67;
           goto _L3 _L4 _L5 _L6 _L7
_L4:
        0x12;
          goto _L8
_L5:
        112;
          goto _L8
_L6:
        25;
          goto _L8
_L7:
        50;
          goto _L8
_L3:
        95;
_L8:
        JVM INSTR ixor ;
        (char);
        JVM INSTR castore ;
        j++;
        if(i != 0) goto _L2; else goto _L9
_L9:
        ac;
        i;
          goto _L10
_L2:
        if(j >= i)
            return new String(ac);
        if(true) goto _L1; else goto _L11
_L11:
    }

    protected static d a;
    protected int b;
    protected Registry c;
    c d;
    String e;
    String f;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -