13Poker by gametower unlimited gems v0.4版本的 MD5 值为:51324fc0f195c34821074948ab266846
以下内容为反编译后的 g.java 源代码,内容仅作参考
package com.adeco.analytics;
import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.text.TextUtils;
import android.util.Log;
import com.adsdk.sdk.Const;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.net.ssl.HttpsURLConnection;
import org.apache.http.HttpVersion;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.conn.params.ConnManagerParams;
import org.apache.http.conn.params.ConnPerRoute;
import org.apache.http.conn.routing.HttpRoute;
import org.apache.http.conn.scheme.PlainSocketFactory;
import org.apache.http.conn.scheme.Scheme;
import org.apache.http.conn.scheme.SchemeRegistry;
import org.apache.http.conn.ssl.SSLSocketFactory;
import org.apache.http.conn.ssl.X509HostnameVerifier;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.impl.conn.SingleClientConnManager;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpProtocolParams;
public class g extends Thread {
private static final String f12a = "http://s.net2share.com:8888/beacon";
private static final int b = 30000;
private static final int c = 60000;
private static final DefaultHttpClient d = a();
private final Context e;
private final a f;
public static boolean a(Context context) {
NetworkInfo activeNetworkInfo = ((ConnectivityManager) context.getSystemService("connectivity")).getActiveNetworkInfo();
return (activeNetworkInfo == null || activeNetworkInfo.getState() == NetworkInfo.State.DISCONNECTED || activeNetworkInfo.getState() == NetworkInfo.State.DISCONNECTING) ? false : true;
}
public static DefaultHttpClient a() {
try {
X509HostnameVerifier x509HostnameVerifier = SSLSocketFactory.BROWSER_COMPATIBLE_HOSTNAME_VERIFIER;
BasicHttpParams basicHttpParams = new BasicHttpParams();
SchemeRegistry schemeRegistry = new SchemeRegistry();
SSLSocketFactory socketFactory = SSLSocketFactory.getSocketFactory();
socketFactory.setHostnameVerifier(x509HostnameVerifier);
HttpsURLConnection.setDefaultHostnameVerifier(x509HostnameVerifier);
HttpProtocolParams.setVersion(basicHttpParams, HttpVersion.HTTP_1_1);
HttpProtocolParams.setContentCharset(basicHttpParams, Const.ENCODING);
schemeRegistry.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), 80));
schemeRegistry.register(new Scheme("https", socketFactory, 443));
SingleClientConnManager singleClientConnManager = new SingleClientConnManager(basicHttpParams, schemeRegistry);
HttpConnectionParams.setConnectionTimeout(basicHttpParams, b);
HttpConnectionParams.setSoTimeout(basicHttpParams, c);
HttpConnectionParams.setStaleCheckingEnabled(basicHttpParams, true);
basicHttpParams.setParameter("http.protocol.handle-redirects", true);
ConnManagerParams.setMaxConnectionsPerRoute(basicHttpParams, new ConnPerRoute() {
public int getMaxForRoute(HttpRoute httpRoute) {
return 20;
}
});
ConnManagerParams.setTimeout(basicHttpParams, 60000L);
return new DefaultHttpClient(singleClientConnManager, basicHttpParams);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
public g(Context context) {
this.e = context.getApplicationContext();
this.f = f.a(context);
}
private static Map<String, String> a(String str) {
String[] split = TextUtils.split(str, "&");
HashMap hashMap = new HashMap();
for (String str2 : split) {
String[] split2 = TextUtils.split(str2, "=");
if (split2.length > 1) {
hashMap.put(split2[0], split2[1]);
}
}
return hashMap;
}
private HttpClient b() {
return d;
}
@Override
public void run() {
synchronized (g.class) {
List<d> a2 = this.f.a();
if (a2 == null) {
return;
}
for (d dVar : a2) {
Map<String, String> a3 = a(dVar.d);
HttpPost httpPost = new HttpPost(f12a);
ArrayList arrayList = new ArrayList();
for (Map.Entry<String, String> entry : a3.entrySet()) {
arrayList.add(new BasicNameValuePair(entry.getKey(), entry.getValue()));
}
if (!a(this.e)) {
break;
}
long currentTimeMillis = System.currentTimeMillis();
try {
httpPost.setEntity(new UrlEncodedFormEntity(arrayList));
int i = 5;
while (true) {
int i2 = i - 1;
if (i <= 0) {
break;
}
try {
HttpClient b2 = b();
httpPost.setHeader("User-Agent", System.getProperty("http.agent"));
httpPost.removeHeaders("Connection");
b2.execute(httpPost);
Log.d("Analytics", "hit sended for " + (System.currentTimeMillis() - currentTimeMillis));
i = 0;
} catch (NullPointerException e) {
i = i2;
}
}
this.f.a(Collections.singletonList(dVar));
} catch (IOException e2) {
Log.d("Analytics", "hit failed for " + (System.currentTimeMillis() - currentTimeMillis));
this.f.a(Collections.singletonList(dVar));
} catch (ClientProtocolException e3) {
Log.d("Analytics", "hit failed for " + (System.currentTimeMillis() - currentTimeMillis));
this.f.a(Collections.singletonList(dVar));
}
}
}
}
}