龙城战记 v1.0.1版本的 MD5 值为:00000931b93a3ccf40631848e86a593d
以下内容为反编译后的 b.java 源代码,内容仅作参考
package com.qq.gdt.action.j;
import android.support.v4.media.TransportMediator;
import com.qq.gdt.action.e;
import com.qq.gdt.action.g.b.i;
import com.qq.gdt.action.g.f;
import com.qq.gdt.action.k.g;
import com.qq.gdt.action.k.j;
import com.qq.gdt.action.k.k;
import com.qq.gdt.action.k.p;
import com.qq.gdt.action.k.r;
import com.qq.gdt.action.k.t;
import java.io.IOException;
import javax.crypto.SecretKey;
import org.json.JSONException;
import org.json.JSONObject;
public class b {
public static f a() {
try {
JSONObject b = b();
SecretKey f = e.a().f();
k.a("LaunchService#launch 加密前\n" + j.a(b.toString()), new Object[0]);
String a = a(b, f);
JSONObject jSONObject = new JSONObject();
jSONObject.putOpt("data", a);
jSONObject.putOpt("os", "Android");
jSONObject.putOpt("sdkv", com.qq.gdt.action.f.a());
jSONObject.putOpt("sdkvc", Integer.valueOf(com.qq.gdt.action.f.b()));
k.a("LaunchService#launch 正式请求\n" + j.a(jSONObject.toString()), new Object[0]);
i a2 = com.qq.gdt.action.g.b.d().a("http://a.gdt.qq.com/getSdkConf").a(jSONObject.toString().getBytes()).b().a();
f fVar = new f(-1, "Unknown message");
if (a2 != null) {
try {
JSONObject jSONObject2 = new JSONObject(a2.e().b());
fVar.a(jSONObject2.optInt("code", -3));
fVar.a(jSONObject2.optString("message", "Deserialize message error"));
if (jSONObject2.has("data")) {
JSONObject jSONObject3 = jSONObject2.getJSONObject("data");
if (jSONObject3.has("conf")) {
com.qq.gdt.action.b.a(e.a().c()).a(jSONObject3.getJSONObject("conf"));
}
}
} catch (IOException | JSONException e) {
k.a("Deserialize service response error", new Object[0]);
fVar.a(-3);
fVar.a("Deserialize service response error");
}
}
return fVar;
} catch (Throwable th) {
k.b(r.a("LaunchService launch(%s) exception", "http://a.gdt.qq.com/getSdkConf"), th);
return null;
}
}
public static String a(JSONObject jSONObject, SecretKey secretKey) throws Exception {
byte[] b = com.qq.gdt.action.k.a.b(secretKey, jSONObject.toString().getBytes());
byte[] bArr = new byte[48];
System.arraycopy(p.b(b), 0, bArr, 0, 16);
System.arraycopy(secretKey.getEncoded(), 0, bArr, 16, 32);
byte[] a = com.qq.gdt.action.k.i.a(bArr);
byte[] bArr2 = new byte[b.length + TransportMediator.KEYCODE_MEDIA_RECORD];
System.arraycopy(new byte[]{0, 1}, 0, bArr2, 0, 2);
System.arraycopy(a, 0, bArr2, 2, 128);
System.arraycopy(b, 0, bArr2, TransportMediator.KEYCODE_MEDIA_RECORD, b.length);
return g.a(bArr2);
}
private static JSONObject b() {
JSONObject jSONObject = new JSONObject();
try {
jSONObject.putOpt("did", e.a().i());
jSONObject.putOpt("sdkv", com.qq.gdt.action.f.a());
jSONObject.putOpt("asid", e.a().d());
jSONObject.putOpt("hash_imei", com.qq.gdt.action.k.f.a());
jSONObject.putOpt("hash_android_id", com.qq.gdt.action.k.f.f());
t.a(jSONObject, e.a().c());
jSONObject.putOpt("conf_version", com.qq.gdt.action.b.a(e.a().c()).a());
} catch (JSONException e) {
k.b("Json Exception while build init req", e);
}
return jSONObject;
}
}