XBrowser v4.1.2版本的 MD5 值为:9e8467439de984f122e2f3c73e4a70b4
以下内容为反编译后的 Browser.java 源代码,内容仅作参考
package com.mmbox.xbrowser;
import android.app.Application;
import android.content.IntentFilter;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
import android.util.Log;
import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedList;
import org.json.JSONException;
import org.json.JSONObject;
public class Browser extends Application {
public static Browser a;
@Override
public void onCreate() {
HashMap<String, String> hashMap;
Browser browser;
super.onCreate();
s2.I("Browser APP Create");
if (t2.b == null) {
t2.b = new t2();
}
t2 t2Var = t2.b;
if (t2Var != null) {
t2Var.a = Thread.getDefaultUncaughtExceptionHandler();
Thread.setDefaultUncaughtExceptionHandler(t2Var);
e6 n = e6.n();
n.g = this;
SharedPreferences defaultSharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
n.h = defaultSharedPreferences;
defaultSharedPreferences.registerOnSharedPreferenceChangeListener(n);
n.z();
n.b = new LinkedList<>();
l2.b.execute(n.G0);
n.R();
n.S();
k7.c().a = this;
h2 b = h2.b();
if (b != null) {
b.b = new ArrayList<>();
b.c = new ArrayList<>();
b.d = new c2(this);
b.a = this;
oa oaVar = new oa();
oaVar.c = "browser.qa";
h2.b().b.add(oaVar);
qa qaVar = new qa();
qaVar.c = "browser.sug.topsite";
h2.b().b.add(qaVar);
ka kaVar = new ka();
kaVar.c = "browser.conf";
h2.b().b.add(kaVar);
ja jaVar = new ja();
jaVar.c = "browser.cmd";
h2.b().b.add(jaVar);
da daVar = new da();
daVar.c = "browser.ad_rule";
h2.b().b.add(daVar);
ia iaVar = new ia();
iaVar.c = "browser.blacklist";
h2.b().b.add(iaVar);
h2.b().b.add(new pa());
h2.b().b.add(new ma());
h2.b().b.add(new ea());
BrowserReceiver browserReceiver = new BrowserReceiver();
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction("android.net.conn.CONNECTIVITY_CHANGE");
intentFilter.addAction("android.intent.action.PACKAGE_ADDED");
intentFilter.addAction("android.intent.action.PACKAGE_REMOVED");
intentFilter.addAction("android.intent.action.DOWNLOAD_COMPLETE");
registerReceiver(browserReceiver, intentFilter);
if (o2.f == null) {
o2.f = new o2();
}
o2 o2Var = o2.f;
k7 c = k7.c();
if (c.j == null) {
c.j = c.a("%server_base_uri%/api/service_hash?country_code=%country_code%&language_code=%language_code%&channel_code=%channel_code%&device_code=%device_code%&density=%density%&version_code=%version_code%×tamp=%timestamp%");
}
String str = c.j;
o2Var.a = this;
o2Var.b = getSharedPreferences("mcms_services", 0);
o2Var.c = str;
o2Var.a(str, false);
uc c2 = uc.c();
xc xcVar = new xc("syncable_user_info");
c2.d.put(xcVar.b, xcVar);
uc c3 = uc.c();
qc qcVar = new qc("syncable_quick_access");
c3.d.put(qcVar.b, qcVar);
uc c4 = uc.c();
hc hcVar = new hc("syncable_bookmark");
c4.d.put(hcVar.b, hcVar);
uc c5 = uc.c();
ec ecVar = new ec("syncable_ad_rule");
c5.d.put(ecVar.b, ecVar);
uc c6 = uc.c();
nc ncVar = new nc("syncable_host");
c6.d.put(ncVar.b, ncVar);
uc c7 = uc.c();
mc mcVar = new mc("syncable_history");
c7.d.put(mcVar.b, mcVar);
uc c8 = uc.c();
rc rcVar = new rc("syncable_setting");
c8.d.put(rcVar.b, rcVar);
uc c9 = uc.c();
oc ocVar = new oc("syncable_menu");
c9.d.put(ocVar.b, ocVar);
uc c10 = uc.c();
wc wcVar = new wc("syncable_tool_menu");
c10.d.put(wcVar.b, wcVar);
uc c11 = uc.c();
ic icVar = new ic("syncable_context_menu");
c11.d.put(icVar.b, icVar);
uc c12 = uc.c();
dd ddVar = new dd("syncable_user_script");
c12.d.put(ddVar.b, ddVar);
uc c13 = uc.c();
ed edVar = new ed("syncable_user_tabs");
c13.d.put(edVar.b, edVar);
yc l = yc.l();
l.a = this;
l.b = r2.k().f();
l.c = new je();
File file = new File(l.b);
if (!file.exists()) {
file.mkdirs();
}
jc.d().g(0, sc.class);
jc.d().g(1, sc.class);
jc.d().g(2, sc.class);
jc.d().g(54, sc.class);
jc.d().g(18, sc.class);
jc.d().g(12, pc.class);
jc.d().g(14, pc.class);
jc.d().g(15, pc.class);
jc.d().g(16, pc.class);
jc.d().g(11, pc.class);
jc.d().g(10, pc.class);
jc.d().g(9, pc.class);
jc.d().g(8, pc.class);
jc.d().g(7, pc.class);
jc.d().g(6, pc.class);
jc.d().g(5, pc.class);
jc.d().g(4, pc.class);
jc.d().g(3, pc.class);
jc.d().g(13, pc.class);
jc.d().g(17, pc.class);
jc.d().g(19, fc.class);
jc.d().g(20, fc.class);
jc.d().g(21, fc.class);
jc.d().g(22, fc.class);
jc.d().g(52, fc.class);
jc.d().g(50, lc.class);
jc.d().g(51, lc.class);
jc.d().g(53, sc.class);
l.g();
Log.i("find-bug", "Browser onCreate >>>>>>>>>>>>>>>>>>>>>>>>>");
f7 c14 = f7.c();
c14.a.put("x:history", "file:///android_asset/history.html");
c14.a.put("x:bookmark", "file:///android_asset/bookmark.html");
c14.a.put("x:bm", "file:///android_asset/bookmark.html");
c14.a.put("x:dl", "file:///android_asset/download.html");
c14.a.put("x:settings", "file:///android_asset/setting.html");
c14.a.put("x:as", "file:///android_asset/adv_setting.html");
c14.a.put("x:add-qa", "file:///android_asset/h5store.html");
c14.a.put("file:///android_asset/h5store.html", "x:add-qa");
c14.a.put("x:ua", "file:///android_asset/custom_ua_string.html");
c14.a.put("file:///android_asset/custom_ua_string.html", "x:ua");
c14.a.put("x:se", "file:///android_asset/custom_search.html");
c14.a.put("file:///android_asset/custom_search.html", "x:se");
c14.a.put("x:cr", "file:///android_asset/custom_rule.html");
c14.a.put("file:///android_asset/custom_rule.html", "x:cr");
c14.a.put("x:home", "file:///android_asset/start-page/index.html");
c14.a.put("file:///android_asset/start-page/index.html", "x:home");
String str2 = "";
if (r2.k().p()) {
c14.a.put("x:sh", "");
c14.a.put("", "x:sh");
c14.a.put("x:rh", "");
c14.a.put("", "x:rh");
c14.a.put("x:help", "");
c14.a.put("", "x:help");
c14.a.put("x:pp", "");
c14.a.put("", "x:pp");
c14.a.put("x:fb", "");
c14.a.put("", "x:fb");
c14.a.put("x:thk", "");
c14.a.put("", "x:thk");
HashMap<String, String> hashMap2 = c14.a;
StringBuilder h = g1.h("");
h.append(r2.k().c());
hashMap2.put("x:hp", h.toString());
HashMap<String, String> hashMap3 = c14.a;
StringBuilder h2 = g1.h("");
h2.append(r2.k().c());
hashMap3.put(h2.toString(), "x:hp");
c14.a.put("x:plyr", "file:///android_asset/xplayer.html");
c14.a.put("", "x:addon");
hashMap = c14.a;
str2 = "";
} else {
c14.a.put("x:sh", "");
c14.a.put("", "x:sh");
c14.a.put("x:rh", "");
c14.a.put("", "x:rh");
c14.a.put("x:help", "");
c14.a.put("", "x:help");
c14.a.put("x:pp", "");
c14.a.put("", "x:pp");
c14.a.put("x:fb", "");
c14.a.put("", "x:fb");
HashMap<String, String> hashMap4 = c14.a;
StringBuilder h3 = g1.h("");
h3.append(r2.k().c());
hashMap4.put("x:hp", h3.toString());
HashMap<String, String> hashMap5 = c14.a;
StringBuilder h4 = g1.h("");
h4.append(r2.k().c());
hashMap5.put(h4.toString(), "x:hp");
c14.a.put("x:thk", "");
c14.a.put("", "x:thk");
c14.a.put("x:plyr", "file:///android_asset/xplayer_en.html");
c14.a.put("", "x:addon");
hashMap = c14.a;
}
hashMap.put("x:addon", str2);
c14.a.put("x:sc", "file:///android_asset/myscript.html");
c14.a.put("file:///android_asset/myscript.html", "x:sc");
c14.a.put("x:sf", "file:///android_asset/sf.html");
c14.a.put("file:///android_asset/sf.html", "x:sf");
c14.a.put("x:log", "file:///android_asset/log.html");
c14.a.put("file:///android_asset/log.html", "x:log");
c14.a.put("x:donate", "file:///android_asset/donation.html");
c14.a.put("file:///android_asset/donation.html", "x:donate");
c14.a.put("x:sd", "file:///android_asset/files.html");
c14.a.put("file:///android_asset/files.html", "x:sd");
c14.a.put("x:site", "file:///android_asset/site.html");
c14.a.put("file:///android_asset/site.html", "x:site");
c14.a.put("x:rl", "file:///android_asset/files.html?path=offlines");
c14.a.put("file:///android_asset/files.html?path=offlines", "x:rl");
c14.a.put("x:adb", "file:///android_asset/adblock_setting.html");
c14.a.put("file:///android_asset/adblock_setting.html", "x:adb");
c14.a.put("x:rf", "file:///android_asset/rf.html");
c14.a.put("file:///android_asset/rf.html", "x:rf");
c14.a.put("x:res", "file:///android_asset/res.html");
c14.a.put("file:///android_asset/res.html", "x:res");
c14.a.put("x:mc", "file:///android_asset/menu_conf.html");
c14.a.put("file:///android_asset/menu_conf.html", "x:mc");
c14.a.put("x:gs", "file:///android_asset/gesture_setting.html");
c14.a.put("file:///android_asset/gesture_setting.html", "x:gs");
c14.a.put("x:custom", "file:///android_asset/custom.html");
c14.a.put("file:///android_asset/custom.html", "x:custom");
c14.a.put("x:gens", "file:///android_asset/general_set.html");
c14.a.put("file:///android_asset/general_set.html", "x:gens");
c14.a.put("x:me", "file:///android_asset/user_center.html");
c14.a.put("file:///android_asset/user_center.html", "x:me");
c14.a.put("x:sp", "file:///android_asset/privacy_set.html");
c14.a.put("file:///android_asset/privacy_set.html", "x:sp");
c14.a.put("x:about", "file:///android_asset/about.html");
c14.a.put("file:///android_asset/about.html", "x:about");
c14.a.put("x:adb-log", "file:///android_asset/adb_log.html");
c14.a.put("file:///android_asset/adb_log.html", "x:adb-log");
c14.a.put("x:info", "file:///android_asset/info.html");
c14.a.put("x:hosts", "file:///android_asset/hosts.html");
c14.a.put("file:///android_asset/hosts.html", "x:hosts");
c14.a.put("x:block-rule", "file:///android_asset/user_ad_rule.html");
c14.a.put("x:t", "file:///android_asset/test.html");
c14.a.put("file:///android_asset/history.html", "x:history");
c14.a.put("file:///android_asset/bookmark.html", "x:bookmark");
c14.a.put("file:///android_asset/bookmark.html", "x:bm");
c14.a.put("file:///android_asset/setting.html", "x:settings");
c14.a.put("file:///android_asset/adv_setting.html", "x:as");
c14.a.put("file:///android_asset/download.html", "x:dl");
c14.a.put("file:///android_asset/info.html", "x:info");
c14.a.put("file:///android_asset/user_ad_rule.html", "x:block-rule");
c14.a.put("file:///android_asset/test.html", "x:t");
c14.h("baidu.com", "url-to-icon-by-domain", 10);
c14.h("taobao.com", "url-to-icon-by-domain", 10);
c14.h("m.taobao.com", "url-to-icon-by-domain", 10);
c14.h("mos.m.taobao.com", "url-to-icon-by-domain", 10);
c14.h("google.com", "url-to-icon-by-domain", 10);
c14.h("twitter.com", "url-to-icon-by-domain", 10);
c14.h("youtube.com", "url-to-icon-by-domain", 10);
c14.h("facebook.com", "url-to-icon-by-domain", 10);
c14.h("ebay.com", "url-to-icon-by-domain", 10);
c14.h("amazon.com", "url-to-icon-by-domain", 10);
c14.h("toutiao.com", "url-to-icon-by-domain", 10);
c14.h("iwebshuttle.com", "url-to-icon-by-domain", 10);
c14.h("qq.com", "url-to-icon-by-domain", 10);
c14.h("guokr.com", "url-to-icon-by-domain", 10);
c14.h("36kr.com", "url-to-icon-by-domain", 10);
c14.h("youku.com", "url-to-icon-by-domain", 10);
c14.h("aiqiyi.com", "url-to-icon-by-domain", 10);
c14.h("weibo.com", "url-to-icon-by-domain", 10);
c14.h("v.qq.com", "url-to-icon-by-domain", 10);
c14.h("sina.com", "url-to-icon-by-domain", 10);
c14.h("zhihu.com", "url-to-icon-by-domain", 10);
c14.h("bing.com", "url-to-icon-by-domain", 10);
c14.h("bilibili.com", "url-to-icon-by-domain", 10);
c14.h("x:bookmark", "url-to-icon-by-domain", 10);
c14.h("x:history", "url-to-icon-by-domain", 10);
c14.h("x:his", "url-to-icon-by-domain", 10);
c14.h("hupu.com", "url-to-icon-by-domain", 10);
c14.h("weibo.cn", "url-to-icon-by-domain", 10);
c14.h("xbext.com", "url-to-icon-by-domain", 10);
c14.h("union-click.jd.com", "url-to-icon-by-domain", 10);
c14.h("coolapk.com", "url-to-icon-by-domain", 10);
c14.h("sm.cn", "url-to-icon-by-domain", 10);
c14.h("gamezop.com", "url-to-icon-by-domain", 10);
c14.h("atmegame.com", "url-to-icon-by-domain", 10);
c14.h("atmequiz.com", "url-to-icon-by-domain", 10);
c14.h("sogou.com", "url-to-icon-by-domain", 10);
c14.h("https://ww55.affinity.net/sssdomweb?enk=f22c65f06952917b0746605835ffffc962d68ee5c9c538fc847beb151f58c840d5978d3011f650737d4321895a2d798c3acec33b49c3549d297065f2975465e8f2c8d29d83cedfdb&di={device_identifier}&cid={click_id}&subid={subid}&qld={app_domain}&ch_ua_fvl={ch_ua_fvl}&ch_ua_bit={ch_ua_bit}&ch_ua_model={ch_ua_model}&ch_ua_pf_v={ch_ua_pf_v}&ch_ua_pf={ch_ua_pf}&ch_ua_fv={ch_ua_fv}&ch_ua_mob={ch_ua_mob}&ch_ua={ch_ua}&dc={dc}", "croma.com", 10);
c14.h("https://ww55.affinity.net/sssdomweb?enk=f22c65f06952917b0746605835ffffc962d68ee5c9c538fcf7e4ce043dd4e313b41c4c05b86c2a316dfd482904d9d17b3acec33b49c3549d297065f2975465e8f2c8d29d83cedfdb&di={device_identifier}&cid={click_id}&subid={subid}&qld={app_domain}&ch_ua_fvl={ch_ua_fvl}&ch_ua_bit={ch_ua_bit}&ch_ua_model={ch_ua_model}&ch_ua_pf_v={ch_ua_pf_v}&ch_ua_pf={ch_ua_pf}&ch_ua_fv={ch_ua_fv}&ch_ua_mob={ch_ua_mob}&ch_ua={ch_ua}&dc={dc}", "amazon.com", 10);
c14.h("https://ww55.siteplug.com/sssdomweb?enk=f22c65f06952917b0746605835ffffc962d68ee5c9c538fc294687d1771cf04b7c20567570c10fbacf1d0451eb0837b13acec33b49c3549d297065f2975465e8f2c8d29d83cedfdb&di={device_identifier}&cid={click_id}&subid={subid}&qld={app_domain}&ch_ua_fvl={ch_ua_fvl}&ch_ua_bit={ch_ua_bit}&ch_ua_model={ch_ua_model}&ch_ua_pf_v={ch_ua_pf_v}&ch_ua_pf={ch_ua_pf}&ch_ua_fv={ch_ua_fv}&ch_ua_mob={ch_ua_mob}&ch_ua={ch_ua}&dc={dc}", "myntra.com", 10);
c14.f();
if (e6.n().Q || !e6.n().S) {
browser = this;
} else {
browser = this;
h1.g().a = new j1(browser);
h1.g().b = true;
}
b7 d = b7.d();
d.a = browser;
e6.n().q("xproxy_node_select_strategy", "best").equals("rand");
d.c = yc.l().d;
String q = e6.n().q("xproxy_current_config", null);
if (q != null) {
nd ndVar = new nd();
try {
JSONObject jSONObject = new JSONObject(q);
ndVar.a = jSONObject.getString("config_id");
ndVar.c = jSONObject.getString("proxy_host");
ndVar.h = jSONObject.getInt("base_port");
ndVar.g = jSONObject.getInt("server_type");
ndVar.d = c.T(jSONObject, "country", "");
ndVar.b = c.P(jSONObject, "local_port", 8989);
} catch (JSONException e) {
e.printStackTrace();
ndVar = null;
}
d.d = ndVar;
}
if (d.d == null) {
nd ndVar2 = new nd();
ndVar2.a = "default-proxy";
ndVar2.b = 8989;
ndVar2.c = "t.xbext.com";
ndVar2.h = 9999;
ndVar2.g = 1;
d.d = ndVar2;
ndVar2.d = "us";
}
a = browser;
s2.G();
return;
}
throw null;
}
throw null;
}
}