x5調(diào)試頁面提取內(nèi)核及問題匯總

1. 下載并集成X5 最新SDK

  • 下載:本人測(cè)試使用的最新sdk為tbs_sdk_thirdapp_v4.3.0.39_43939_sharewithdownloadwithfile_withoutGame_obfs_20200713_223411.jar
  • 集成sdk:把得到的這個(gè)tbs_sdk_*.jar 復(fù)制到項(xiàng)目的libs目錄中迟螺,同時(shí)再module下的gradle中添加如下依賴
implementation files('libs/tbs_sdk_thirdapp_v4.3.0.39_43939_sharewithdownloadwithfile_withoutGame_obfs_20200713_223411.jar')

2. app內(nèi)訪問tbs調(diào)試頁面

package com.example.x5debug;

import androidx.appcompat.app.AppCompatActivity;

import android.graphics.Bitmap;
import android.os.Bundle;
import android.util.Log;

import android.view.WindowManager;
import android.widget.Toast;

import com.tencent.smtt.sdk.WebSettings;
import com.tencent.smtt.sdk.WebView;
import com.tencent.smtt.sdk.WebViewClient;


public class MainActivity extends AppCompatActivity {

    private WebView webView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);//隱藏狀態(tài)欄
        setContentView(R.layout.activity_main);

        String CPU_ABI = android.os.Build.CPU_ABI;//查看Android設(shè)備的ABI
        Log.d("ABI", "CPU_ABI = " + CPU_ABI);
        Toast.makeText(this,CPU_ABI,Toast.LENGTH_SHORT).show();

        webView = (WebView) findViewById(R.id.activity_web_webView);
        WebSettings webSettings = webView.getSettings();
        webSettings.setSavePassword(false);
        webSettings.setSaveFormData(false);
        webSettings.setJavaScriptEnabled(true);//設(shè)置支持解析javascript腳本
        webSettings.setSupportZoom(false);//設(shè)置支持縮放
        webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);//設(shè)置緩存
        webSettings.setDomStorageEnabled(true);//是否開啟本地DOM存儲(chǔ):設(shè)置適應(yīng)Html5(不設(shè)置時(shí)可能出現(xiàn)頁面一片空白或只加載一部分)
        webView.loadUrl("http://debugtbs.qq.com");
        webView.setWebViewClient(new WebViewClient(){

            /**
             * 攔截 url 跳轉(zhuǎn),在里邊添加點(diǎn)擊鏈接跳轉(zhuǎn)或者操作
             */
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return true;//返回true,立即跳轉(zhuǎn);返回false,打開網(wǎng)頁有延時(shí)
            }

            /**
             * 在開始加載網(wǎng)頁時(shí)會(huì)回調(diào)
             */
            @Override
            public void onPageStarted(WebView view, String url, Bitmap favicon) {
                super.onPageStarted(view, url, favicon);
            }

            /**
             * 在結(jié)束加載網(wǎng)頁時(shí)會(huì)回調(diào)
             */
            @Override
            public void onPageFinished(com.tencent.smtt.sdk.WebView view, String url) {
                super.onPageFinished(view, url);
            }
        });
    }
}

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <com.tencent.smtt.sdk.WebView
        android:id="@+id/activity_web_webView"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    </com.tencent.smtt.sdk.WebView>
</LinearLayout>

3. 問題匯總

(1) 網(wǎng)頁無法打開情形一

  • 提示:網(wǎng)頁可能暫時(shí)無法打開或已永久移至新網(wǎng)址


    image.png
  • 原因:未配置網(wǎng)絡(luò)權(quán)限
<uses-permission android:name="android.permission.INTERNET" />

(2) 網(wǎng)頁無法打開情形二

  • 提示:網(wǎng)頁無法加載共螺,因?yàn)閚et::ERR_CLEARTEXT_NOT_PERMITTED


    image.png
  • 原因分析:Android P(即安卓9.0)以上系統(tǒng)限制了明文流量的網(wǎng)絡(luò)請(qǐng)求距误,非加密的流量請(qǐng)求都會(huì)被系統(tǒng)禁止掉。(andorid9.0及以上對(duì)明文的流量不再信任導(dǎo)致的webview無法加載網(wǎng)頁)
  • 解決:在配置文件manifest.json的application節(jié)點(diǎn)中添加配置android:usesCleartextTraffic="true"
    image.png

android:usesCleartextTraffic 指示應(yīng)用程序是否打算使用明文網(wǎng)絡(luò)流量币砂,例如明文HTTP。目標(biāo)API級(jí)別為27或更低的應(yīng)用程序的默認(rèn)值為“ true”。面向API級(jí)別28或更高級(jí)別的應(yīng)用默認(rèn)為“ false”筛圆。
當(dāng)屬性設(shè)置為“ false”時(shí),平臺(tái)組件(例如椿浓,HTTP和FTP堆棧太援,DownloadManager和MediaPlayer)將拒絕應(yīng)用程序使用明文流量的請(qǐng)求。強(qiáng)烈建議第三方庫也采用此設(shè)置扳碍。避免明文通信的主要原因是缺乏機(jī)密性提岔,真實(shí)性和防篡改保護(hù);網(wǎng)絡(luò)攻擊者可以竊聽所傳輸?shù)臄?shù)據(jù)笋敞,并且還可以對(duì)其進(jìn)行修改而不會(huì)被檢測(cè)到碱蒙。

(3) 點(diǎn)擊“安裝線上內(nèi)核”或“拷貝內(nèi)核”等操作時(shí)時(shí)程序崩潰

  • 原因:缺少以下權(quán)限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />

x5調(diào)試下載內(nèi)核的apk下載地址:鏈接: https://pan.baidu.com/s/10NUkeUenCsuhJtENVwIwTQ 提取碼: qfc6

4. 訪問調(diào)試界面成功

image.png

image.png

(1) 下載安裝內(nèi)核:點(diǎn)擊“安裝線上內(nèi)核”,它會(huì)自動(dòng)識(shí)別App的架構(gòu)液样,下載到armeabi振亮、armeabi-v7a或者arm64-v8a架構(gòu)的TBS內(nèi)核包,下載完后重啟App就可以進(jìn)行內(nèi)核提取操作了

點(diǎn)擊“查看版本信息”


image.png

(2) 提取內(nèi)核(2種方法)

  • 方法一(直接拷貝):安裝線上內(nèi)核后重啟App鞭莽,點(diǎn)擊“拷貝內(nèi)核”


    拷貝內(nèi)核.png

    內(nèi)核文件.png
  • 方法二(得到下載地址進(jìn)行下載):可以在安裝時(shí)監(jiān)控App的網(wǎng)絡(luò)請(qǐng)求從而得到下載地址(示例下載地址)坊秸,經(jīng)測(cè)試在控制臺(tái)中可能直接獲取到內(nèi)核下載地址。

備注:使用臺(tái)電7.0平板(cpu架構(gòu)為arme64-v8a)調(diào)試獲取到的內(nèi)核下載地址

image.png

下載內(nèi)核.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末澎怒,一起剝皮案震驚了整個(gè)濱河市褒搔,隨后出現(xiàn)的幾起案子阶牍,更是在濱河造成了極大的恐慌,老刑警劉巖星瘾,帶你破解...
    沈念sama閱讀 207,113評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件走孽,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡琳状,警方通過查閱死者的電腦和手機(jī)磕瓷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來念逞,“玉大人困食,你說我怎么就攤上這事◆岢校” “怎么了硕盹?”我有些...
    開封第一講書人閱讀 153,340評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)叨咖。 經(jīng)常有香客問我瘩例,道長(zhǎng),這世上最難降的妖魔是什么甸各? 我笑而不...
    開封第一講書人閱讀 55,449評(píng)論 1 279
  • 正文 為了忘掉前任垛贤,我火速辦了婚禮,結(jié)果婚禮上趣倾,老公的妹妹穿的比我還像新娘南吮。我一直安慰自己,他們只是感情好誊酌,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評(píng)論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著露乏,像睡著了一般碧浊。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上瘟仿,一...
    開封第一講書人閱讀 49,166評(píng)論 1 284
  • 那天箱锐,我揣著相機(jī)與錄音,去河邊找鬼劳较。 笑死驹止,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的观蜗。 我是一名探鬼主播臊恋,決...
    沈念sama閱讀 38,442評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼墓捻!你這毒婦竟也來了抖仅?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,105評(píng)論 0 261
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎撤卢,沒想到半個(gè)月后环凿,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,601評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡放吩,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評(píng)論 2 325
  • 正文 我和宋清朗相戀三年智听,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片渡紫。...
    茶點(diǎn)故事閱讀 38,161評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡到推,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出腻惠,到底是詐尸還是另有隱情环肘,我是刑警寧澤,帶...
    沈念sama閱讀 33,792評(píng)論 4 323
  • 正文 年R本政府宣布集灌,位于F島的核電站悔雹,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏欣喧。R本人自食惡果不足惜腌零,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望唆阿。 院中可真熱鬧益涧,春花似錦、人聲如沸驯鳖。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽浅辙。三九已至扭弧,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間记舆,已是汗流浹背鸽捻。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評(píng)論 1 261
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留泽腮,地道東北人御蒲。 一個(gè)月前我還...
    沈念sama閱讀 45,618評(píng)論 2 355
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像诊赊,于是被迫代替她去往敵國(guó)和親厚满。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評(píng)論 2 344