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

应用版本信息
应用名称:MiXplorer
版本号:6.67.3
包名称:com.mixplorer

MD5 校验值:13e9f681f5bed77188ac69741746def0

反编译源代码说明

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


package libs;

import java.io.InputStream;
import java.net.InetAddress;
import java.net.Socket;
import java.security.KeyStore;
import java.security.SecureRandom;
import java.util.List;
import javax.net.ssl.KeyManager;
import javax.net.ssl.KeyManagerFactory;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSocket;
import javax.net.ssl.SSLSocketFactory;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;

public final class o33 extends SSLSocketFactory {
    public final SSLSocketFactory a;
    public final boolean b;

    public o33(X509TrustManager x509TrustManager, p81 p81Var, boolean z) {
        TrustManager[] trustManagerArr;
        KeyManager[] keyManagerArr;
        SecureRandom secureRandom;
        char[] charArray;
        this.b = z;
        if (p81Var != null) {
            String b = p81Var.b();
            char[] cArr = new char[0];
            if (ui3.x(b)) {
                charArray = new char[0];
            } else {
                charArray = b.toCharArray();
            }
            InputStream stream = p81Var.stream();
            KeyStore S = ll.S(stream, cArr, ll.s(stream));
            KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance("x509");
            keyManagerFactory.init(S, charArray);
            keyManagerArr = keyManagerFactory.getKeyManagers();
            trustManagerArr = new TrustManager[]{jm3.c};
            secureRandom = new SecureRandom();
        } else {
            trustManagerArr = new TrustManager[]{x509TrustManager};
            keyManagerArr = null;
            secureRandom = null;
        }
        x8.g.getClass();
        SSLContext d = x8.d();
        d.init(keyManagerArr, trustManagerArr, secureRandom);
        this.a = d.getSocketFactory();
    }

    public final void a(Socket socket) {
        if (socket instanceof SSLSocket) {
            SSLSocket sSLSocket = (SSLSocket) socket;
            List list = p33.a;
            sSLSocket.setEnabledProtocols(p33.e(sSLSocket.getSupportedProtocols(), this.b));
            sSLSocket.setEnabledCipherSuites(p33.d(sSLSocket.getSupportedCipherSuites()));
        }
    }

    @Override
    public final Socket createSocket() {
        Socket createSocket = this.a.createSocket();
        a(createSocket);
        return createSocket;
    }

    @Override
    public final String[] getDefaultCipherSuites() {
        return this.a.getDefaultCipherSuites();
    }

    @Override
    public final String[] getSupportedCipherSuites() {
        return this.a.getSupportedCipherSuites();
    }

    @Override
    public final Socket createSocket(Socket socket, String str, int i, boolean z) {
        Socket createSocket = this.a.createSocket(socket, str, i, z);
        a(createSocket);
        return createSocket;
    }

    @Override
    public final Socket createSocket(String str, int i) {
        Socket createSocket = this.a.createSocket(str, i);
        a(createSocket);
        return createSocket;
    }

    @Override
    public final Socket createSocket(String str, int i, InetAddress inetAddress, int i2) {
        Socket createSocket = this.a.createSocket(str, i, inetAddress, i2);
        a(createSocket);
        return createSocket;
    }

    @Override
    public final Socket createSocket(InetAddress inetAddress, int i) {
        Socket createSocket = this.a.createSocket(inetAddress, i);
        a(createSocket);
        return createSocket;
    }

    @Override
    public final Socket createSocket(InetAddress inetAddress, int i, InetAddress inetAddress2, int i2) {
        Socket createSocket = this.a.createSocket(inetAddress, i, inetAddress2, i2);
        a(createSocket);
        return createSocket;
    }
}