當前位置:首頁 » 工具五金 » 抓包工具如何反編譯
擴展閱讀
快遞電子產品多少稅 2025-03-01 03:16:13
鑽石燈怎麼掛漂亮 2025-03-01 03:09:03

抓包工具如何反編譯

發布時間: 2025-02-28 23:11:19

A. 2023frida使用教程(1)

1.使用材料:

(Windous10)pc

Python3環境

雷電模擬器

frida16.0.9(hook框架)

vscode

Charles(抓包)

APP(駕培訓創業教練)未加固

jadx4.1

2.逆向目標:hook介面:逆向登錄參數sigin加密

3.詳細逆向過程:

3.1抓包

設置ssl代理,在雷電模擬器WIFI設置代理,下載證書並安裝證書,重啟雷電模擬器

打開 駕培訓創業教練 APP的登錄頁面

打開抓包工具

輸入手機號抓包,抓包結果如下:

vscode note記錄抓包結果,養成好習慣!

3.2反編譯app搜索逆向關鍵詞

APP未加殼,如果加殼需要先破殼,安卓逆向中最重要的就是:演算法分析和脫殼

打開jadx 導入APP後開始反編譯 搜索關鍵詞:getSmscode 雙擊轉到代碼區

代碼審計:

這段代碼就是構造請求體,包括了 類型 手機 時間 簽名 。其中簽名是用了stringMD5toUpperCase函數來生成,

其中stringMD5toUpperCase函數又使用了yyyyMMddHHmmss + i + str + str2這幾個參數生成,我們不知道str是什麼,所有可以使用frida進行hook!!!!!!

3.3編寫hook代碼

目錄如下:

我們直接使用模板frida

python模板

模板介紹:frida兩種模式,我們這里使第二種。他們的區別:

-spawn模式,Frida會自行啟動並注入進目標App,Hook的時機非常早 自動重啟 設置包名

-attach模式,Frida會附加到當前的目標進程中,即需要App處於啟動狀態,這也意味著只能從當前時機往後Hook 手動啟動 設置APP名

js模板:

結合反編譯Java代碼編寫:

補充:java方法的重載

什麼是重載?

幾個相同的函數,參數不相同

該怎麼hook呢?

Java.use('包名.類名').方法.overload('java.lang.String')

例如:

Java.use('com.jx885.library.http.CommAction').getSmscode..overload('int')implementation=function(mi){}

完整代碼:

3.4 連接frida伺服器,對app進行hook

終端命令:

埠轉發

運行

結果如下:

補充:grpc直接調用

B. 抓包工具(如Charles)抓取Https數據包

1、HTTPS 不是單獨的一個協議,它是 HTTP + SSL/TLS 的組合;

2、TLS 是傳輸層安全性協議,它會對傳輸的 HTTP 數據進行加密,使用非對稱加密和對稱加密的混合方式;

3、抓包工具的原理就是「偽裝「,對客戶端偽裝成伺服器,對伺服器偽裝成客戶端;

4、使用抓包工具抓 HTTPS 包必須要將抓包工具的證書安凱襲裝到客戶端本地,並設置信任;

5、HTTPS 數據只是在傳輸時進行了加密,而抓包工具是接收到數據後再重新加密轉發,所以抓包工具抓到的 HTTPS 包可以直接看到明文;

1、HTTPS 的數據是加密的,常規下抓包工具代盯源兄理請求後抓到的包內容是加密狀態,無法直接查看。但是,正如前文所說,瀏覽器只會提示安全風險,如果用戶授權仍然可以繼續訪問網站,完成請求。因此,只要客戶端是我們自己的終端,我們授權的情況下,便可以組建中間人網路,而抓包工具便是作為中間人的代理。

2、通常HTTPS抓包工具的使用方法是會生成一個證書裂塌,用戶需要手動把證書安裝到客戶端中,然後終端發起的所有請求通過該證書完成與抓包工具的交互,然後抓包工具再轉發請求到伺服器,最後把伺服器返回的結果在控制台輸出後再返回給終端,從而完成整個請求的閉環。

HTTPS可以防止用戶在不知情的情況下通信鏈路被監聽,對於主動授信的抓包操作是不提供防護的,因為這個場景用戶是已經對風險知情。要防止被抓包,需要採用應用級的安全防護,例如採用私有的對稱加密,同時做好移動端的防反編譯加固,防止本地演算法被破解。