导航菜单

页面标题

页面副标题

OVO v3.139.0 - StrictSSLSocketFactory.java 源代码

正在查看: OVO v3.139.0 应用的 StrictSSLSocketFactory.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package com.vkey.android.secure.net;

import com.vkey.android.cz;
import java.io.IOException;
import java.net.Socket;
import java.security.KeyManagementException;
import java.security.KeyStoreException;
import java.security.NoSuchAlgorithmException;
import java.security.UnrecoverableKeyException;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSocket;
import javax.net.ssl.TrustManager;
import org.apache.http.conn.ssl.SSLSocketFactory;

@Deprecated
public class StrictSSLSocketFactory extends SSLSocketFactory {
    private static final byte[] b = {111, 58, -4, -113, 15, 8, -4, -15, 13, 4, -19, 15, 18, -28, 12, -8, 6, -15, 84, -78, -1, 79, -72, -7, -4, -1, 0, 7, -12, 2, 63, -72, 11, 6, -20, 75, -51, -13, 10, -14, 3, 6, 5, 54, -69, 14, 2, -18, 3, 13, 55, -64, 9, -15, 70, -37, -33, 2, 9, 6, -17, 33, 0, 7, -7, -28, 12, -8, 6, -15, 46, -27, -2, -17, 5, -3, -7, -15, 13, 4, -19, 15, 18, -28, 12, -8, 6, -15, 76, -43, -28, 12, -8, 6, -15, 84, -83, 4, 12, -8, 6, -15, 72, 12, -51, -33, 2, 9, -5, 7, 71, -72, -7, -4, -1, 72, 12, -73, -5, -6, 84, -80, 1, -3, -2, 72, 12, -66, -13, 0, 3, 7, 4, -13, 78, -65, -20, 1, 5, 44, -41, -3, -4, 14, 60, 9, -72, -7, -4, -1, 58, 26, 8, -7, -35, 69, -44, -6, 9, 8, 68, -78, -1, -5, 84, -69, -9, 13, -1, -10, 7, 69, -80, -2, 3, -5, 5, 12, -12, 3, 61, -68, 71, 12, -51, 0, 7, -42, 67, 7, 12, -52, 8, -7, -35, 69, 5, 12, -52, 8, -7, -35, 69, 3, -3, 5, 12, -52, 8, -7, -35, 69, 3, -4, 15, 8, -4, -15, 13, 4, -19, 15, 18, -28, 12, -8, 6, -15, 84, -72, -7, -4, -1, 8, -7, -35, 69, 3, -4, 8, -7, -35, 69, 3, -3};
    private static int c = 182;
    private SSLContext a;

    public StrictSSLSocketFactory() throws NoSuchAlgorithmException, KeyManagementException, KeyStoreException, UnrecoverableKeyException {
        super(null);
        SSLContext sSLContext = SSLContext.getInstance(a(c & 107, b[155], 228));
        this.a = sSLContext;
        sSLContext.init(null, new TrustManager[]{cz.a()}, null);
    }

    private static String a(int i, int i2, int i3) {
        int i4 = i3 + 4;
        int i5 = 76 - i2;
        byte[] bArr = b;
        int i6 = 118 - i;
        byte[] bArr2 = new byte[i5];
        int i7 = -1;
        int i8 = i5 - 1;
        while (true) {
            i7++;
            i4++;
            bArr2[i7] = (byte) i6;
            if (i7 == i8) {
                return new String(bArr2, 0).intern();
            }
            i6 -= bArr[i4];
        }
    }

    public static Socket vg_createSocket(Socket socket, String str, int i, boolean z) throws IOException, NoSuchAlgorithmException, KeyManagementException {
        byte[] bArr = b;
        a(bArr[40], -bArr[117], 21);
        byte b2 = bArr[26];
        a(b2, b2 | 56, 209);
        SSLContext sSLContext = SSLContext.getInstance(a(c & 107, bArr[155], 228));
        sSLContext.init(null, new TrustManager[]{cz.a(str)}, null);
        return sSLContext.getSocketFactory().createSocket(socket, str, i, z);
    }

    @Override
    public Socket createSocket(Socket socket, String str, int i, boolean z) throws IOException {
        byte[] bArr = b;
        int i2 = -bArr[10];
        byte b2 = bArr[151];
        a(i2, b2, b2 - 3);
        a(-bArr[10], bArr[26], bArr[102]);
        try {
            return a(vg_createSocket(socket, str, i, z));
        } catch (KeyManagementException | NoSuchAlgorithmException unused) {
            byte[] bArr2 = b;
            int i3 = -bArr2[10];
            byte b3 = bArr2[151];
            a(i3, b3, b3 - 3);
            int i4 = -bArr2[10];
            byte b4 = bArr2[151];
            a(i4, b4, b4 - 3);
            return a(this.a.getSocketFactory().createSocket(socket, str, i, z));
        }
    }

    private static Socket a(Socket socket) {
        if (socket instanceof SSLSocket) {
            try {
                int i = c & 107;
                byte[] bArr = b;
                ((SSLSocket) socket).setEnabledProtocols(new String[]{a(i, bArr[110], 147), a(c & 107, bArr[155], 234), a(c & 107, bArr[155], 228)});
                ((SSLSocket) socket).setEnabledCipherSuites(((SSLSocket) socket).getSupportedProtocols());
            } catch (IllegalArgumentException e4) {
                byte[] bArr2 = b;
                int i2 = -bArr2[10];
                byte b2 = bArr2[151];
                a(i2, b2, b2 - 3);
                int i3 = -bArr2[36];
                int i4 = -bArr2[60];
                a(i3, i4, i4 | 134);
                e4.getMessage();
            }
        }
        return socket;
    }

    @Override
    public Socket createSocket() throws IOException {
        try {
            return a(vg_createSocket());
        } catch (KeyManagementException | NoSuchAlgorithmException unused) {
            byte[] bArr = b;
            int i = -bArr[10];
            byte b2 = bArr[151];
            a(i, b2, b2 - 3);
            int i2 = -bArr[10];
            byte b3 = bArr[151];
            a(i2, b3, b3 - 3);
            return a(this.a.getSocketFactory().createSocket());
        }
    }

    public static Socket vg_createSocket() throws IOException, NoSuchAlgorithmException, KeyManagementException {
        byte[] bArr = b;
        a(bArr[40], -bArr[117], 21);
        byte b2 = bArr[26];
        a(b2, b2 | 53, bArr[20]);
        SSLContext sSLContext = SSLContext.getInstance(a(c & 107, bArr[155], 228));
        sSLContext.init(null, new TrustManager[]{cz.a()}, null);
        return sSLContext.getSocketFactory().createSocket();
    }
}