龙城战记 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;
    }
}