安卓逆向工具的使用(四)

特別提醒:本文僅供學(xué)習(xí)交流之用,如用于其他用途概不負責(zé)!!!
軟件下載鏈接在文末!!!
1.?Fiddler抓包工具的配置與使用
第一步,下載Fiddler軟件抓包工具的安裝包FiddlerSetup.exe,本文所有工具下載地址在文末。找到安裝包的下載路徑,點擊可執(zhí)行文件進行安裝。彈出許可協(xié)議的提示框之后點擊“I Agree”按鈕,同意協(xié)議,然后進入到下一步。
?

接下來,會彈出軟件安裝目錄的選項框,點擊“Browser”按鈕,選擇本地的目錄,作為軟件的安裝路徑。最后,點擊右下方的“Install”按鈕,正式進入Fiddler軟件的安裝流程。
?

第二步,切換到Fiddler安裝路徑,雙擊Fiddler軟件的可執(zhí)行文件,進入到Fiddler抓包軟件的主界面。在Fiddler主界面中,左上角的“×”按鈕主要于清理數(shù)據(jù)包,“Decode”按鈕用于解碼,主要將gzip壓縮的流量進行解壓。左下角的“Capturing”菜單用于控制捕獲數(shù)據(jù)包。可通過左下方的“All processes”選項控制要抓取數(shù)據(jù)包的進程類型,可以選擇“All Processes”、“Web Browsers”、“Non-Browser”、“Hide All”四個選項。“All Processes”代表Fiddler抓取本機所有進程產(chǎn)生的數(shù)據(jù)包;“Web Browsers”表示只監(jiān)聽來自網(wǎng)頁的流量數(shù)據(jù)包;“Non-Browser”表示只抓取來自非網(wǎng)頁的數(shù)據(jù)包;“Hide All”表示隱藏所有的流量數(shù)據(jù)包。左側(cè)中間的選項卡用于展示抓取數(shù)據(jù)包的結(jié)果。
?

第三步,點擊“Tools”菜單中的“Options”選項,對抓包工具的代理進行配置,使其可以抓取https協(xié)議的明文數(shù)據(jù)包。點擊其中的“HTTPS”選項卡,點擊復(fù)選框“Decrypt HTTPS traffic”,同時勾選“Ignore server certificate errors(unsafe)”和“check for certificate revocation”兩個選項框。同時切換到“Connections”選項卡,勾選“Capture FTP requests”和“Allow remote computers to connect”兩個選項框。當(dāng)彈出提示框時,點擊“確定”按鈕。最后點擊“ok”按鈕完成配置。
?


第四步,重啟Fiddler軟件使配置生效。配置Fiddler腳本,使Fiddler可以抓取Websocket協(xié)議的數(shù)據(jù)包。將如下代碼粘貼到“FiddlerScript”選項卡的指定位置,點擊“Save Script”按鈕保存腳本。完成此項配置之后,如果APP中的數(shù)據(jù)包中包含Websocket協(xié)議,會在“l(fā)og”選項卡中輸出。
static function OnWebSocketMessage(oMsg: WebSocketMessage) {
?
// Log Message to the LOG tab
?
FiddlerApplication.Log.LogString(oMsg.ToString());
?
}
?

第五步,配置模擬器的代理和證書,確保Fiddler可以截獲https協(xié)議的明文數(shù)據(jù)包。打開雷電模擬器(安裝教程見文章安卓逆向工具的使用(三)),依次找到“設(shè)置-WLAN-wireless”,長按“wireless”按鈕,點擊修改網(wǎng)絡(luò),勾選高級選項的復(fù)選框。將代理選項框的內(nèi)容設(shè)置為“手動”。最后,設(shè)置好代理服務(wù)器主機名和代理服務(wù)器端口。代理服務(wù)器主機名為安裝Fiddler軟件的PC端IP,在windows平臺可通過cmd命令行輸入“ipconfig”命令得到;代理服務(wù)器端口為Fiddler軟件“Connections”選項卡中“Fiddler listens on port”設(shè)置的端口號,默認使用端口號8888,可以進行修改。點擊“保存”按鈕完成相關(guān)配置。
?

在模擬器中瀏覽器的地址欄中輸入代理ip加冒號加端口號,跳轉(zhuǎn)到Fiddler證書的下載界面。
點擊“FiddlerRoot certificate”下載Fiddler證書。彈出輸入證書名稱的提示框之后,為證書命名,然后點擊確定。需要設(shè)置鎖屏密碼,才能夠安裝配置證書。完成操作之后,會提示證書已安裝。


第六步,選擇一個測試APP,對Fiddler的抓包功能進行測試。將待測試的APK文件拖拽至模擬器中進行安裝,打開APP,可以選擇帶有登錄界面的APP嘗試輸入任意的賬號和密碼抓取登錄報文。同時在PC端打開Fiddler抓包軟件,F(xiàn)iddler會自動抓取數(shù)據(jù)包,選中左側(cè)的某條數(shù)據(jù)包記錄,右側(cè)切換至“Inspectors”選項卡,在右側(cè)上方請求端數(shù)據(jù)包選項卡界面和下方響應(yīng)端數(shù)據(jù)包選項卡界面的“raw”選項菜單中,可顯示該數(shù)據(jù)包的原始數(shù)據(jù)詳細信息。其他選項菜單包括“Headers”、“TextView”、“SyntaxView”等為數(shù)據(jù)包不同格式的展示菜單。

另外,可通過勾選右側(cè)上方的“Filters”選項卡,過濾符合條件的數(shù)據(jù)包。需要勾選“Filters”選項卡中的“Use Filters”選項,然后在“Hosts”選項中選擇框設(shè)置為“Show only the following Hosts”,在下方的文本框中填寫要過濾的主機域名,依此點擊“Actions->Run Filterset now”按鈕即可實現(xiàn)對特定數(shù)據(jù)包的過濾功能。

可通過點擊上方的“Find”菜單,查找滿足條件的數(shù)據(jù)包,并對其進行高亮展示。通過“Search:”選項設(shè)置搜索的范圍,本例選擇“Requests and responses”表示搜索請求和響應(yīng)數(shù)據(jù)包;
“Result Highlight”用于設(shè)置高亮的顯示顏色;“Examine”用于設(shè)置搜索的具體內(nèi)容,“Headers and bodies”表示搜索數(shù)據(jù)包的頭部和主體。
通過上方菜單的“×”號刪除數(shù)據(jù)包;通過“save”菜單保存數(shù)據(jù)包,以便下次直接通過fiddler軟件打開;通過“Replay”菜單進行重新抓取數(shù)據(jù)包;可通過“Rules->UserAgent”修改頭部中的用戶代理字段。

當(dāng)遇到無法抓取登錄數(shù)據(jù)包時,可通過在模擬器中安裝xposed框架和xposed模塊解決這一問題。需要注意的是使用xposed框架和xposed模塊需要root權(quán)限。將下載好的xposed模塊(JustTrustMePlus.apk)和xposed框架(de.robv.android.xposed.installer_v33_36570c.apk)拖拽至逍遙模擬器(模擬器安裝教程見文章安卓逆向工具的使用(三))。因為需要使用Fiddler抓包工具,所以逍遙模擬器也需要完成配置代理和證書的操作,與雷電模擬器類似,配置完成之后需要重啟以生效。重啟之后,點擊模擬器桌面上的“Xposed Installer”app,進入Xposed框架,點擊“框架”菜單,如果界面中存在“58”和“54”兩個綠色的數(shù)字說明Xposed框架正常可用。
?

xposed模塊通過hook技術(shù)轉(zhuǎn)發(fā)發(fā)包層實現(xiàn),安裝完成后會在模擬器的通知中顯示模塊未激活,點擊該通知。勾選右側(cè)的選項框,會提示“Xposed模塊列表已更新,重啟后更改將生效”的提示。退出到xposed框架界面,點擊“軟重啟”按鈕,點擊“確定”。每次更新模塊都需要重啟。完成上述配置操作之后,再次對無法抓包的APP進行測試,或許可以抓取登錄數(shù)據(jù)包。
?

2.?HTTPDebuggerPro抓包工具的使用
如果還是遇到無法抓包的情況,可嘗試使用HTTPDebuggerPro抓包工具解決。下載HTTPDebuggerPro,下載地址見文末。雙擊安裝文件,選擇接受協(xié)議,依次點擊“next->install->Finish”完成安裝。

如需漢化,可將HTTPDebuggerUI_CN.exe文件拖拽至HTTPDebuggerPro安裝目錄完成漢化的功能。打開HTTPDebuggerUI_CN.exe文件即可看到中文板界面。
?

?
使用該抓包工具需要按照如下步驟進行操作:第一步,斷開,重新連接網(wǎng)絡(luò)。第二步,使用generic.keygen.exe激活HTTPDebugger抓包工具。需要依次點擊“Gen”和“Activate”按鈕完成激活操作。第三步,重新連接網(wǎng)絡(luò)。

打開HTTPDebuggerUI_CN.exe,同時打開模擬器運行測試樣例APP,此時在HTTPDebugger界面可以抓到https協(xié)議的報文,https協(xié)議的報文用黑色字體顯示。

涉及到的工具在鏈接中(https://pan.baidu.com/s/15vtPM-CNeVmaaPNy2fDcs,秘密:9mv9)