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) { } } } }