鸠摩搜书官方正版 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);
}
}