APK反编译源代码展示 - 南明离火平台提供

应用版本信息
应用名称:SUWAS SSH VPN
版本号:3.0
包名称:suwas.vpn.inject

MD5 校验值:1fc9c7d9bea45dd359a8e0644d6972ec

反编译源代码说明

g.java 文件包含反编译后的源代码,请注意,该内容仅供学习和参考使用,不得用于非法用途。


package com.trilead.ssh2.b;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;

class g implements Runnable {

    final f f2993a;

    private Socket f2994b;

    private InputStream f2995c;
    private OutputStream d;

    public g(f fVar, Socket socket) {
        this.f2993a = fVar;
        this.f2994b = socket;
        fVar.setName("DynamicAcceptRunnable");
    }

    private void a() {
        this.f2995c = this.f2994b.getInputStream();
        this.d = this.f2994b.getOutputStream();
        c.a.a.a aVar = new c.a.a.a(this.f2995c, this.d);
        try {
            if (!aVar.a() || !aVar.b()) {
                System.out.println("Could not start SOCKS session");
            } else if (aVar.c() == c.a.a.b.CONNECT) {
                a(aVar);
            } else {
                aVar.a(c.a.a.c.COMMAND_NOT_SUPPORTED);
            }
        } catch (IOException e) {
            aVar.a(c.a.a.c.GENERAL_FAILURE);
        }
    }

    private void a(c.a.a.a aVar) {
        d dVar;
        String e = aVar.e();
        if (e == null) {
            e = aVar.d().getHostAddress();
        }
        try {
            dVar = this.f2993a.f2991a;
            a a2 = dVar.a(e, aVar.f(), "127.0.0.1", 0);
            aVar.a(c.a.a.c.SUCCESS);
            try {
                p pVar = new p(a2, null, this.f2994b, a2.d(), this.d, "RemoteToLocal");
                p pVar2 = new p(a2, pVar, this.f2994b, this.f2995c, a2.c(), "LocalToRemote");
                pVar.setDaemon(true);
                pVar2.setDaemon(true);
                pVar.start();
                pVar2.start();
            } catch (IOException e2) {
                try {
                    a2.f2978b.a(a2, "Weird error during creation of StreamForwarder (" + e2.getMessage() + ")", true);
                } catch (IOException e3) {
                }
            }
        } catch (IOException e4) {
            try {
                aVar.a(c.a.a.c.GENERAL_FAILURE);
            } catch (IOException e5) {
            }
            try {
                this.f2994b.close();
            } catch (IOException e6) {
            }
        }
    }

    @Override
    public void run() {
        try {
            a();
        } catch (IOException e) {
            try {
                this.f2994b.close();
            } catch (IOException e2) {
            }
        }
    }
}