鸠摩搜书官方正版 v1.7版本的 MD5 值为:01c9a20d2c415de3233d7f691829edf5
以下内容为反编译后的 AdsMOGOAction.java 源代码,内容仅作参考
package com.admogo;
import android.content.Context;
import android.net.wifi.WifiManager;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
import android.util.Log;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class AdsMOGOAction {
private static final String ADSMOGO = "AdsMogo Action SDK";
private static final int TIMEOUT_TIME = 30000;
private static Context con = null;
private static String pid = null;
private static final String urlAction0 = "http://cfg.adsmogo.com/Action.ashx?cid=%s&uid=%s";
private static final String urlAction1 = "http://cfg.adsmogo.net/Action.ashx?cid=%s&uid=%s";
private static final String urlAction2 = "http://cfg.adsmogo.org/Action.ashx?cid=%s&uid=%s";
private static final String urlAction3 = "http://cfg.adsmogo.mobi/Action.ashx?cid=%s&uid=%s";
private static final String[] urlAction = {urlAction0, urlAction1, urlAction2, urlAction3};
private static int testIndex = 0;
private static int random = 0;
private static String deviceIDHash = "";
private static boolean isSend = false;
private static Runnable actionRunnable = new v();
public static void action(Context context, String str) {
con = context;
pid = str;
String deviceID = getDeviceID(context);
deviceIDHash = deviceID;
deviceIDHash = convertToHex(deviceID);
random = (int) (Math.random() * 3.0d);
if (context.getSharedPreferences(ADSMOGO, 0).getBoolean("is_aciton", true)) {
new Thread(actionRunnable).start();
}
}
public static String convertToHex(String str) {
try {
if (!TextUtils.isEmpty(str)) {
if (str.equals("000000000000000")) {
return String.valueOf(str) + str + "00";
}
byte[] digest = MessageDigest.getInstance("MD5").digest(str.getBytes());
StringBuffer stringBuffer = new StringBuffer();
int i = 0;
while (true) {
int i2 = i;
if (i2 >= digest.length) {
return stringBuffer.toString();
}
int i3 = digest[i2];
if (i3 < 0) {
i3 += 256;
}
if (i3 < 16) {
stringBuffer.append("0");
}
stringBuffer.append(Integer.toHexString(i3));
i = i2 + 1;
}
}
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return "";
}
public static String getDeviceID(Context context) {
String str;
TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService("phone");
try {
} catch (Exception e) {
e.printStackTrace();
}
if (isPermission(context, "android.permission.READ_PHONE_STATE")) {
str = telephonyManager.getDeviceId();
if (TextUtils.isEmpty(str)) {
return str;
}
Log.w(ADSMOGO, "No IMEI");
String iDByMAC = getIDByMAC(context);
if (iDByMAC != null) {
return iDByMAC;
}
Log.w(ADSMOGO, "Failed to take mac as IMEI");
return "";
}
str = "";
if (TextUtils.isEmpty(str)) {
}
}
private static String getIDByMAC(Context context) {
try {
return ((WifiManager) context.getSystemService("wifi")).getConnectionInfo().getMacAddress();
} catch (Exception e) {
Log.i(ADSMOGO, "Could not read MAC, forget to include ACCESS_WIFI_STATE permission?", e);
return null;
}
}
public static boolean isPermission(Context context, String str) {
return context.getPackageManager().checkPermission(str, context.getPackageName()) == 0;
}
}