翰林优商.apk(点击下载) / SensitiveDataUtil.java


package com.mbridge.msdk.optimize;

import android.content.Context;
import android.net.wifi.WifiManager;
import android.os.Build;
import android.os.Environment;
import android.provider.Settings;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
import com.efs.sdk.base.core.util.NetworkUtil;
import com.mbridge.msdk.optimize.a.a.c;
import com.mbridge.msdk.optimize.a.a.d;
import com.mbridge.msdk.optimize.a.a.e;
import com.mbridge.msdk.optimize.a.a.f;
import com.mbridge.msdk.optimize.a.a.g;
import com.mbridge.msdk.optimize.a.a.h;
import com.mbridge.msdk.optimize.a.a.i;
import com.mbridge.msdk.optimize.a.b;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.RandomAccessFile;
import java.lang.reflect.Method;
import java.net.NetworkInterface;
import java.util.Arrays;
import java.util.Collections;
import java.util.UUID;

public class SensitiveDataUtil {
    private static String androidID;
    private static String deviceid;
    private static String imsi;
    private static String mSelfId;
    private static String macAddress;
    private static String oaid;

    private static void writeFile(Context context, File file, String str) throws IOException {
        FileOutputStream fileOutputStream;
        Throwable th;
        if (!file.getParentFile().exists()) {
            file.getParentFile().mkdirs();
        }
        file.createNewFile();
        try {
            fileOutputStream = new FileOutputStream(file);
            try {
                fileOutputStream.write(str.getBytes());
            } catch (Throwable th2) {
                th = th2;
            }
        } catch (Throwable th3) {
            fileOutputStream = null;
            th = th3;
            try {
                th.printStackTrace();
            } finally {
                if (fileOutputStream != null) {
                    fileOutputStream.close();
                }
            }
        }
    }

    private static String writeInstallationFile(Context context, File file) throws IOException {
        UUID randomUUID = UUID.randomUUID();
        writeFile(context, file, randomUUID.toString());
        return randomUUID.toString();
    }

    /* JADX WARNING: Removed duplicated region for block: B:13:0x0024 A[DONT_GENERATE] */
    private static String readInstallationFile(File file) throws IOException {
        Throwable th;
        RandomAccessFile randomAccessFile;
        try {
            randomAccessFile = new RandomAccessFile(file, "r");
            try {
                byte[] bArr = new byte[((int) randomAccessFile.length())];
                randomAccessFile.readFully(bArr);
                String str = new String(bArr);
                randomAccessFile.close();
                return str;
            } catch (Throwable th2) {
                th = th2;
                try {
                    th.printStackTrace();
                    return null;
                } finally {
                    if (randomAccessFile != null) {
                        randomAccessFile.close();
                    }
                }
            }
        } catch (Throwable th3) {
            th = th3;
            randomAccessFile = null;
            th.printStackTrace();
            return null;
        }
    }

    public static String getSelfId(Context context) {
        if (mSelfId == null) {
            File file = new File(Environment.getExternalStorageDirectory().toString(), "/.a/track_id.bin");
            try {
                if (!file.exists()) {
                    mSelfId = writeInstallationFile(context, file);
                } else {
                    mSelfId = readInstallationFile(file);
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        String str = mSelfId;
        return str == null ? "" : str;
    }

    public static String getIMEI(Context context) {
        try {
            if (TextUtils.isEmpty(deviceid)) {
                String deviceId = ((TelephonyManager) context.getSystemService("phone")).getDeviceId();
                deviceid = deviceId;
                if (deviceId == null) {
                    deviceid = "";
                }
            }
        } catch (Throwable unused) {
            deviceid = "";
        }
        return deviceid;
    }

    public static String getMacAddress(Context context) {
        String str;
        try {
            if (!TextUtils.isEmpty(macAddress)) {
                return macAddress;
            }
            if (Build.VERSION.SDK_INT >= 23) {
                str = getMac();
            } else {
                str = ((WifiManager) context.getSystemService(NetworkUtil.NETWORK_TYPE_WIFI)).getConnectionInfo().getMacAddress();
            }
            if (str == null) {
                return "";
            }
            String lowerCase = str.replaceAll(":", "").toLowerCase();
            macAddress = lowerCase;
            return lowerCase;
        } catch (Exception unused) {
            return "";
        }
    }

    private static String getMac() {
        try {
            for (NetworkInterface networkInterface : Collections.list(NetworkInterface.getNetworkInterfaces())) {
                if (networkInterface.getName().equalsIgnoreCase("wlan0")) {
                    byte[] hardwareAddress = networkInterface.getHardwareAddress();
                    if (hardwareAddress == null) {
                        return "";
                    }
                    StringBuilder sb = new StringBuilder();
                    int length = hardwareAddress.length;
                    for (int i = 0; i < length; i++) {
                        sb.append(String.format("%02X:", Byte.valueOf(hardwareAddress[i])));
                    }
                    if (sb.length() > 0) {
                        sb.deleteCharAt(sb.length() - 1);
                    }
                    return sb.toString();
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return "";
    }

    public static String getAndroidID(Context context) {
        try {
            if (TextUtils.isEmpty(androidID)) {
                String string = Settings.Secure.getString(context.getContentResolver(), "android_id");
                androidID = string;
                if (string == null) {
                    androidID = "";
                }
                return androidID;
            }
        } catch (Exception unused) {
            androidID = "";
        }
        return androidID;
    }

    public static String getImsi(Context context) {
        try {
            if (TextUtils.isEmpty(imsi)) {
                String subscriberId = ((TelephonyManager) context.getSystemService("phone")).getSubscriberId();
                imsi = subscriberId;
                if (subscriberId == null) {
                    imsi = "";
                }
            }
        } catch (Exception unused) {
            imsi = "";
        }
        return imsi;
    }

    public static String getOaid(Context context) {
        if (!TextUtils.isEmpty(oaid)) {
            return oaid;
        }
        try {
            String str = new a(context).b;
            oaid = str;
            if (!TextUtils.isEmpty(str)) {
                return oaid;
            }
            String str2 = Build.MANUFACTURER;
            if (isFreeMeOS()) {
                str2 = "FERRMEOS";
            } else if (isSSUIOS()) {
                str2 = "SSUI";
            }
            if (TextUtils.isEmpty(str2)) {
                return "";
            }
            String upperCase = str2.toUpperCase();
            if (Arrays.asList("ASUS", "HUAWEI", "OPPO", "ONEPLUS", "ZTE", "FERRMEOS", "SSUI", "SAMSUNG", "MEIZU", "MOTOLORA", "LENOVO").contains(upperCase)) {
                getFormNewThread(context, upperCase);
                return "";
            } else if ("VIVO".equals(upperCase)) {
                oaid = new h(context).a();
                return "";
            } else if (!"NUBIA".equals(upperCase)) {
                return "";
            } else {
                oaid = new d(context).a();
                return "";
            }
        } catch (Throwable unused) {
            return "";
        }
    }

    public static boolean isFreeMeOS() {
        String property = getProperty("ro.build.freeme.label");
        return !TextUtils.isEmpty(property) && property.equalsIgnoreCase("FREEMEOS");
    }

    public static boolean isSSUIOS() {
        String property = getProperty("ro.ssui.product");
        return !TextUtils.isEmpty(property) && !property.equalsIgnoreCase("unknown");
    }

    private static String getProperty(String str) {
        if (str == null) {
            return null;
        }
        try {
            Class<?> cls = Class.forName("android.os.SystemProperties");
            return (String) cls.getMethod("get", String.class, String.class).invoke(cls, str, "unknown");
        } catch (Exception unused) {
            return null;
        }
    }

    static final class a {
        private static Object e;
        private static Class<?> f;
        private static Method g;
        private static Method h;
        private static Method i;
        private static Method j;
        final String a;
        final String b;
        final String c;
        final String d;

        static {
            try {
                Class<?> cls = Class.forName("com.android.id.impl.IdProviderImpl");
                f = cls;
                e = cls.newInstance();
                g = f.getMethod("getUDID", Context.class);
                h = f.getMethod("getOAID", Context.class);
                i = f.getMethod("getVAID", Context.class);
                j = f.getMethod("getAAID", Context.class);
            } catch (Throwable unused) {
            }
        }

        a(Context context) {
            this.a = a(context, g);
            this.b = a(context, h);
            this.c = a(context, i);
            this.d = a(context, j);
        }

        private static String a(Context context, Method method) {
            Object obj = e;
            if (obj == null || method == null) {
                return null;
            }
            try {
                Object invoke = method.invoke(obj, context);
                if (invoke != null) {
                    return (String) invoke;
                }
                return null;
            } catch (Throwable unused) {
                return null;
            }
        }
    }

    private static void getFormNewThread(final Context context, final String str) {
        new Thread(new Runnable() {
            /* class com.mbridge.msdk.optimize.SensitiveDataUtil.AnonymousClass1 */

            public final void run() {
                AnonymousClass1 r0 = new b() {
                    /* class com.mbridge.msdk.optimize.SensitiveDataUtil.AnonymousClass1.AnonymousClass1 */

                    @Override // com.mbridge.msdk.optimize.a.b
                    public final void a(String str) {
                    }

                    @Override // com.mbridge.msdk.optimize.a.b
                    public final void a(String str, boolean z) {
                        String unused = SensitiveDataUtil.oaid = str;
                    }
                };
                if ("ASUS".equals(str)) {
                    new com.mbridge.msdk.optimize.a.a.a(context).a(r0);
                } else if ("OPPO".equals(str)) {
                    new f(context).a(r0);
                } else if ("ONEPLUS".equals(str)) {
                    new e(context).a(r0);
                } else if ("ZTE".equals(str) || "FERRMEOS".equals(str) || "SSUI".equals(str)) {
                    new i(context).a(r0);
                } else if ("HUAWEI".equals(str)) {
                    new com.mbridge.msdk.optimize.a.a(context).a(r0);
                } else if ("SAMSUNG".equals(str)) {
                    new g(context).a(r0);
                } else if ("LENOVO".equals(str) || "MOTOLORA".equals(str)) {
                    new com.mbridge.msdk.optimize.a.a.b(context).a(r0);
                } else if ("MEIZU".equals(str)) {
                    new c(context).a(r0);
                }
            }
        }).start();
    }
}