鸠摩搜书官方正版 v1.7版本的 MD5 值为:01c9a20d2c415de3233d7f691829edf5

以下内容为反编译后的 ax.java 源代码,内容仅作参考


package com.dianle;

import android.webkit.WebIconDatabase;
import android.webkit.WebView;
import java.net.HttpURLConnection;
import java.net.URL;
import java.security.MessageDigest;
import java.util.Properties;
import java.util.Random;

final class ax {

    private static long f264a;
    private static boolean b;

    private static String a(byte[] bArr) {
        StringBuffer stringBuffer = new StringBuffer();
        for (int i = 0; i < bArr.length; i++) {
            int i2 = (bArr[i] >>> 4) & 15;
            int i3 = 0;
            while (true) {
                if (i2 < 0 || i2 > 9) {
                    stringBuffer.append((char) ((i2 - 10) + 97));
                } else {
                    stringBuffer.append((char) (i2 + 48));
                }
                int i4 = bArr[i] & 15;
                int i5 = i3 + 1;
                if (i3 > 0) {
                    break;
                }
                i3 = i5;
                i2 = i4;
            }
        }
        return stringBuffer.toString();
    }

    public static void a(WebView webView) {
        WebIconDatabase.getInstance().removeAllIcons();
        if (webView != null) {
            webView.clearCache(true);
        }
    }

    public static void a(String str) {
        if (System.currentTimeMillis() - f264a < 600000) {
            return;
        }
        String replaceAll = str.replaceAll(" ", "%20");
        try {
            HttpURLConnection httpURLConnection = (HttpURLConnection) new URL(String.valueOf(ar.e) + replaceAll).openConnection();
            httpURLConnection.setRequestMethod("GET");
            httpURLConnection.setDoOutput(true);
            httpURLConnection.setConnectTimeout(4000);
            httpURLConnection.setReadTimeout(4000);
            if (httpURLConnection == null || httpURLConnection.getResponseCode() != 200) {
                b = true;
            }
        } catch (Exception e) {
            b = true;
        } finally {
        }
        if (b) {
            try {
                Properties properties = System.getProperties();
                properties.setProperty("http.proxyHost", "10.0.0.172");
                properties.setProperty("http.proxyPort", "80");
                HttpURLConnection httpURLConnection2 = (HttpURLConnection) new URL(String.valueOf(ar.e) + replaceAll).openConnection();
                httpURLConnection2.setRequestMethod("GET");
                httpURLConnection2.setDoOutput(true);
                httpURLConnection2.setConnectTimeout(6000);
                httpURLConnection2.setReadTimeout(6000);
            } catch (Exception e2) {
                b = true;
            } finally {
            }
        }
    }

    public static String b(String str) {
        try {
            return a(MessageDigest.getInstance("MD5").digest(new StringBuffer(str).toString().getBytes()));
        } catch (Exception e) {
            return "00000000000000000000000000000000";
        }
    }

    public static String c(String str) {
        char[] charArray = str.toCharArray();
        char[] cArr = new char[charArray.length / 3];
        int i = 0;
        for (int length = charArray.length - 1; length >= 0; length -= 3) {
            cArr[i] = charArray[length];
            i++;
        }
        return new String(cArr);
    }

    public static String d(String str) {
        char[] charArray = str.toCharArray();
        char[] cArr = new char[charArray.length * 3];
        char[] charArray2 = "aabcdefghijklmnopqrstuyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890_+-=|~`vwx?./:()^&%$#@!&[]{}".toCharArray();
        int i = 0;
        Random random = new Random();
        int length = charArray2.length;
        for (int length2 = charArray.length - 1; length2 >= 0; length2--) {
            int i2 = i + 1;
            cArr[i] = charArray2[random.nextInt(length)];
            int i3 = i2 + 1;
            cArr[i2] = charArray[length2];
            i = i3 + 1;
            cArr[i3] = charArray2[random.nextInt(length)];
        }
        return new String(cArr);
    }
}