99999久久久久久亚洲,欧美人与禽猛交狂配,高清日韩av在线影院,一个人在线高清免费观看,啦啦啦在线视频免费观看www

熱線(xiàn)電話(huà):13121318867

登錄
首頁(yè)精彩閱讀最全總結(jié) | Android 系統(tǒng)抓包喂飯教程
最全總結(jié) | Android 系統(tǒng)抓包喂飯教程
2022-02-14
收藏
最全總結(jié) | Android 系統(tǒng)抓包喂飯教程

作者:星安果

來(lái)源:AirPython

1. 前言

大家好,我是安果!

在編寫(xiě)爬蟲(chóng)前,我們都需要對(duì)目標(biāo)應(yīng)用進(jìn)行抓包,然后分析一波后,才能進(jìn)入到編寫(xiě)腳本的階段

對(duì)于使用 iPhone 的小伙伴來(lái)說(shuō),日常抓包不要太容易。PC 端工具,比如:Charles、Fiddler 完全夠打;「 Stream」是 iOS 端一款非常強(qiáng)大的網(wǎng)絡(luò)抓包應(yīng)用,界面簡(jiǎn)潔的同時(shí)功能非常強(qiáng)大

但對(duì)于使用 Android 高版本系統(tǒng)的小伙伴來(lái)說(shuō),抓包就沒(méi)那么便利了!由于高版本系統(tǒng)提高了安全策略,要抓包必須將 CA 證書(shū)放置到系統(tǒng)證書(shū)目錄下才能進(jìn)行正常抓包,而用戶(hù)安裝的證書(shū)默認(rèn)為用戶(hù)證書(shū),導(dǎo)致很多 App 沒(méi)法進(jìn)行正常抓包

本篇文章將以常見(jiàn)場(chǎng)景介紹 Android 高版本系統(tǒng)抓包的操作步驟

2. 非 Root 設(shè)備

Android 同樣有一款強(qiáng)大的網(wǎng)絡(luò)抓包工具,即:小黃鳥(niǎo)「 HttpCanary 

具體的操作步驟如下:

2-1 導(dǎo)出 HttpCanary 根證書(shū)

安裝小黃鳥(niǎo) App 后,進(jìn)入到設(shè)置頁(yè)面,導(dǎo)出 HttpCanary 根證書(shū)

類(lèi)型選擇「 System Trusted(.0) 」

這樣,HttpCanary 根證書(shū)保存到「 內(nèi)部存儲(chǔ)路徑/HttpCanary/cert/...0 」目錄下

2-2 安裝 APKPure 和 VMOS Pro 應(yīng)用

VMOS PRO 下載地址:
https://apkpure.com/cn/vmos-pro/com.vmos.ggp

PS:由于 VMOS PRO 應(yīng)用格式為 XAPK,這里推薦通過(guò) APKPure 安裝 XAPK 格式的應(yīng)用

2-3 VMOS 導(dǎo)入 RE 應(yīng)用、目標(biāo)應(yīng)用及 HttpCanary 根證書(shū)

打開(kāi) VMOS Pro 應(yīng)用,導(dǎo)入 Root Explorer 應(yīng)用、目標(biāo)應(yīng)用及 HttpCanary 根證書(shū)文件

這樣,VMOS 中就包含了目標(biāo)應(yīng)用、RE 文件管理應(yīng)用,并且 HttpCanary 根證書(shū)文件默認(rèn)被保存到 「 VMOSfiletransferstatio/ 」下

2-4 導(dǎo)入證書(shū)到系統(tǒng)證書(shū)目錄下

在 VMOS Pro 中,通過(guò) RE 應(yīng)用將 HttpCanary 根證書(shū)文件移動(dòng)到系統(tǒng)證書(shū)目錄下

系統(tǒng)證書(shū)目錄:
/system/etc/security/cacerts/

2-5 開(kāi)始抓包

打開(kāi)小黃鳥(niǎo) App,在設(shè)置目標(biāo)應(yīng)用中設(shè)置為「 VMSO 」,然后在主界面開(kāi)啟抓包開(kāi)關(guān),最后在 VMOS 中操作目標(biāo)應(yīng)用

目標(biāo)應(yīng)用的網(wǎng)絡(luò)請(qǐng)求都會(huì)展示在小黃鳥(niǎo)主界面列表中了

需要補(bǔ)充的是,小黃鳥(niǎo) HttpCanary 應(yīng)用中更推薦使用「 平行空間 」進(jìn)行抓包,但是實(shí)際使用過(guò)程發(fā)現(xiàn)存在閃退及安裝插件等問(wèn)題,不太推薦使用

3. Root 設(shè)備

如果手機(jī)已經(jīng)完成 Root,我們只需要將第三方證書(shū)移動(dòng)(比如:小黃鳥(niǎo)、Charles 等)移動(dòng)到系統(tǒng)證書(shū)目錄即可

這里通過(guò)小黃鳥(niǎo) App 及 Charles 進(jìn)行講解,F(xiàn)iddler 類(lèi)似

3-1 小黃鳥(niǎo) App 抓包

操作步驟如下:

  • 手機(jī)解鎖并 Root
  • 安裝小黃鳥(niǎo) HttpCanary 應(yīng)用,并導(dǎo)出 HttpCanary 根證書(shū),格式選擇和上面一樣
  • 通過(guò)數(shù)據(jù)線(xiàn),拷貝 CA 證書(shū)到 PC 上
  • PC 端下載 adb 并配置環(huán)境變量
  • 通過(guò)下面一系列 adb 命令,將證書(shū) PUSH 到系統(tǒng)證書(shū)目錄下
  • 打開(kāi)小黃鳥(niǎo)應(yīng)用,設(shè)置目標(biāo)應(yīng)用
  • 在小黃鳥(niǎo)主界面點(diǎn)擊抓包按鈕,即可以對(duì)目標(biāo)應(yīng)用進(jìn)行抓包了
# 授予adb root權(quán)限 adb root # 禁用系統(tǒng)驗(yàn)證 adb disable-verity  # 重啟手機(jī) adb reboot  # 授予adb root權(quán)限 adb root  # 在將文件 push 到 '/system' 文件夾之前,必須先輸入命令 'adb remount' adb remount  # 拷貝證書(shū)到/system/etc/security/cacerts/下面 # adb push 87bc3517.0 /system/etc/security/cacerts/  # 重啟 adb reroot  # 查看是否包含導(dǎo)入的CA證書(shū) adb root adb shell cd /system/etc/security/cacerts/ ls 

3-2 Charles 抓包

操作步驟如下:

  • Charles 在幫助中下載證書(shū)(比如:CER 證書(shū)),通過(guò)數(shù)據(jù)線(xiàn)拷貝到手機(jī)上
  • 在文件管理中找到這個(gè)證書(shū)手動(dòng)進(jìn)行安裝默認(rèn)會(huì)安裝到用戶(hù)證書(shū)中安裝目錄:/data/misc/user/0/cacerts-added/
  • 使用下面 adb 命令開(kāi)啟手機(jī) system 目錄的讀寫(xiě)權(quán)限
  • 安裝 RE 文件管理應(yīng)用并授予 Root 權(quán)限,將上面的證書(shū)從用戶(hù)證書(shū)目錄移動(dòng)到系統(tǒng)證書(shū)目錄下系統(tǒng)的證書(shū)目錄:/system/etc/security/cacerts
  • 重啟手機(jī)
  • 抓包測(cè)試查看 PC 端的 ip 地址,手機(jī)保持在同一局域網(wǎng),然后設(shè)置為手動(dòng)代理,最后抓包進(jìn)行測(cè)試

# 以 root 權(quán)限執(zhí)行
adb root
# 禁用系統(tǒng)驗(yàn)證
adb disable-verity
# 重啟手機(jī)
adb reboot
# 以 root 權(quán)限運(yùn)行
adb root
# 重新掛載
adb remount

4. 最后

上面以手機(jī)是否 Root 簡(jiǎn)單闡述了高版本 Android 系統(tǒng)各種場(chǎng)景的抓包流程

除了上面的抓包方式,還有很多方案可以選擇。對(duì)于 Root 設(shè)備我們可以安裝 Magisk 面具,再配合 movecert 模塊進(jìn)行抓包;或者我們也可以通過(guò) EdXposed 框架 + trustmealredy 模塊進(jìn)行抓包,實(shí)際工作中,我們可以根據(jù)需求自行選擇適合自己的方式

如果你覺(jué)得文章還不錯(cuò),請(qǐng)大家 點(diǎn)贊、分享、留言 下,因?yàn)檫@將是我持續(xù)輸出更多優(yōu)質(zhì)文章的最強(qiáng)動(dòng)力!

數(shù)據(jù)分析咨詢(xún)請(qǐng)掃描二維碼

若不方便掃碼,搜微信號(hào):CDAshujufenxi

數(shù)據(jù)分析師資訊
更多

OK
客服在線(xiàn)
立即咨詢(xún)
客服在線(xiàn)
立即咨詢(xún)
') } function initGt() { var handler = function (captchaObj) { captchaObj.appendTo('#captcha'); captchaObj.onReady(function () { $("#wait").hide(); }).onSuccess(function(){ $('.getcheckcode').removeClass('dis'); $('.getcheckcode').trigger('click'); }); window.captchaObj = captchaObj; }; $('#captcha').show(); $.ajax({ url: "/login/gtstart?t=" + (new Date()).getTime(), // 加隨機(jī)數(shù)防止緩存 type: "get", dataType: "json", success: function (data) { $('#text').hide(); $('#wait').show(); // 調(diào)用 initGeetest 進(jìn)行初始化 // 參數(shù)1:配置參數(shù) // 參數(shù)2:回調(diào),回調(diào)的第一個(gè)參數(shù)驗(yàn)證碼對(duì)象,之后可以使用它調(diào)用相應(yīng)的接口 initGeetest({ // 以下 4 個(gè)配置參數(shù)為必須,不能缺少 gt: data.gt, challenge: data.challenge, offline: !data.success, // 表示用戶(hù)后臺(tái)檢測(cè)極驗(yàn)服務(wù)器是否宕機(jī) new_captcha: data.new_captcha, // 用于宕機(jī)時(shí)表示是新驗(yàn)證碼的宕機(jī) product: "float", // 產(chǎn)品形式,包括:float,popup width: "280px", https: true // 更多配置參數(shù)說(shuō)明請(qǐng)參見(jiàn):http://docs.geetest.com/install/client/web-front/ }, handler); } }); } function codeCutdown() { if(_wait == 0){ //倒計(jì)時(shí)完成 $(".getcheckcode").removeClass('dis').html("重新獲取"); }else{ $(".getcheckcode").addClass('dis').html("重新獲取("+_wait+"s)"); _wait--; setTimeout(function () { codeCutdown(); },1000); } } function inputValidate(ele,telInput) { var oInput = ele; var inputVal = oInput.val(); var oType = ele.attr('data-type'); var oEtag = $('#etag').val(); var oErr = oInput.closest('.form_box').next('.err_txt'); var empTxt = '請(qǐng)輸入'+oInput.attr('placeholder')+'!'; var errTxt = '請(qǐng)輸入正確的'+oInput.attr('placeholder')+'!'; var pattern; if(inputVal==""){ if(!telInput){ errFun(oErr,empTxt); } return false; }else { switch (oType){ case 'login_mobile': pattern = /^1[3456789]\d{9}$/; if(inputVal.length==11) { $.ajax({ url: '/login/checkmobile', type: "post", dataType: "json", data: { mobile: inputVal, etag: oEtag, page_ur: window.location.href, page_referer: document.referrer }, success: function (data) { } }); } break; case 'login_yzm': pattern = /^\d{6}$/; break; } if(oType=='login_mobile'){ } if(!!validateFun(pattern,inputVal)){ errFun(oErr,'') if(telInput){ $('.getcheckcode').removeClass('dis'); } }else { if(!telInput) { errFun(oErr, errTxt); }else { $('.getcheckcode').addClass('dis'); } return false; } } return true; } function errFun(obj,msg) { obj.html(msg); if(msg==''){ $('.login_submit').removeClass('dis'); }else { $('.login_submit').addClass('dis'); } } function validateFun(pat,val) { return pat.test(val); }