正在查看: 万能钥匙 v1.1.23 应用的 c.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
正在查看: 万能钥匙 v1.1.23 应用的 c.java JAVA 源代码文件
本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。
package com.finogeeks.lib.applet.debugger.client;
import android.net.LocalSocket;
import android.net.LocalSocketAddress;
import com.finogeeks.lib.applet.f.c.o;
import com.finogeeks.lib.applet.f.c.t;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.InetSocketAddress;
import java.net.Socket;
import java.net.SocketAddress;
import java.util.Collections;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import javax.net.SocketFactory;
public class c extends SocketFactory implements o {
private final Map<String, String> b = new LinkedHashMap();
private final Map<String, String> c = new LinkedHashMap();
private int d = 1;
public class a extends Socket {
private LocalSocket a;
public a() {
}
@Override
public void bind(SocketAddress socketAddress) {
this.a.bind(new LocalSocketAddress(socketAddress.toString()));
}
@Override
public void connect(SocketAddress socketAddress, int i) {
String a = c.this.a(((InetSocketAddress) socketAddress).getAddress());
if (a == null) {
throw new IOException("can not find path with this socket");
}
LocalSocket localSocket = new LocalSocket();
this.a = localSocket;
localSocket.connect(new LocalSocketAddress(a));
}
@Override
public InputStream getInputStream() {
return this.a.getInputStream();
}
@Override
public OutputStream getOutputStream() {
return this.a.getOutputStream();
}
@Override
public boolean isConnected() {
return this.a.isConnected();
}
}
public synchronized String a(InetAddress inetAddress) {
return this.c.get(inetAddress.getHostName());
}
private synchronized String b(String str) {
String str2;
str2 = this.b.get(str);
if (str2 == null) {
StringBuilder sb = new StringBuilder();
int i = this.d;
this.d = i + 1;
sb.append(i);
sb.append(".fino");
str2 = sb.toString();
this.b.put(str, str2);
this.c.put(str2, str);
}
return str2;
}
public t a(String str, String str2, String str3, String str4) {
t.a c = new t.a().e("http").c(b(str));
if (str2 != null) {
c.a(str2);
}
if (str3 != null) {
c.a(str3);
}
if (str4 != null) {
c.a(str4);
}
return c.a();
}
@Override
public List<InetAddress> a(String str) {
return str.endsWith(".fino") ? Collections.singletonList(InetAddress.getByAddress(str, new byte[]{0, 0, 0, 0})) : o.a.a(str);
}
@Override
public Socket createSocket() {
return new a();
}
@Override
public Socket createSocket(String str, int i) {
throw new UnsupportedOperationException();
}
@Override
public Socket createSocket(String str, int i, InetAddress inetAddress, int i2) {
throw new UnsupportedOperationException();
}
@Override
public Socket createSocket(InetAddress inetAddress, int i) {
throw new UnsupportedOperationException();
}
@Override
public Socket createSocket(InetAddress inetAddress, int i, InetAddress inetAddress2, int i2) {
throw new UnsupportedOperationException();
}
}