黑客破解 APP 常用工具,低調低調!
抓包
HTTP 請求類
- Fiddler/Charles**(必備常用工具之一)**
最常見的代理抓包工具,這兩個就不用多說了吧?應該都知道了。
強制全局代理工具,詳細介紹見當你寫爬蟲抓不到 APP 請求包的時候該怎麼辦?【初級篇】。
- PacketCapture/HTTPCanary**(必備常用工具之一)**
VPN 抓包工具,詳細介紹見當你寫爬蟲抓不到 APP 請求包的時候該怎麼辦?【初級篇】。
- JustTrustMe**(必備常用工具之一)**
基於 Xposed 寫的反 SSL Pinning 工具,詳細介紹見當你寫爬蟲抓不到 APP 請求包的時候該怎麼辦?【中級篇】。
- ObjectionUnpinningPlus**(必備常用工具之一)**
瘦蛟舞寫的一個 Frida 腳本,功能與 JustTrustMe 相同,但因爲 Frida 的特殊性,可以隨時修改內容,面對一些特殊情況時會很方便。
- WireShark
也是一個很常見的抓包工具,但由於工作方式過於底層,對 HTTPS 請求的處理比較麻煩,一般不建議對使用 HTTP 協議的 APP 使用。
非 HTTP 請求類
- WireShark
非 HTTP 的還是使用 WireShark 這類工具方便些,通常需要配合反編譯找到協議的組成方式。
建議使用方式:電腦端開熱點,然後指定用於創建熱點的虛擬網卡,再把手機連上熱點開始抓包。
- Tcpdump
在使用沒有無線網卡的電腦或無法開熱點的情況下可以直接在手機上運行 Tcpdump 然後導出文件在電腦端 WireShark 中打開,與直接使用 WireShark 抓包效果相同。
破解加密參數
Java 層
- Jadx**(必備常用工具之一)**
一個非常方便的 Java 反編譯工具,一般用到的功能主要是搜索、反混淆、查找方法調用這幾樣,性能和反編譯出來的代碼效果都比使用 dex2jar+jd-gui 之類的方式好。
- Xposed**(必備常用工具之一)**
Xposed 框架大家應該都知道吧?這是一個功能十分強大的 Hook 框架,很多逆向工具都是基於它來寫的,有特殊需求時也可以自己寫一個模塊使用。
- Frida**(必備常用工具之一)**
相對於 Xposed 而言,Frida 算是一個在安全圈外沒有那麼高知名度的 Hook 工具了,但它的功能在某些方面要比 Xposed 強得多(當然也有缺點),舉個常用到的例子:用它來 Hook So 庫中的函數~。
- inspeckage**(必備常用工具之一)**
這是一個基於 Xposed 寫的動態分析工具,Hook 了大量逆向時常見的方法,下面是它的 GitHub 中給出的列表:
Shared Preferences (log and file);
Serialization;
Crypto;
Hashes;
SQLite;
HTTP (an HTTP proxy tool is still the best alternative);
File System;
Miscellaneous (Clipboard, URL.Parse());
WebView;
IPC;Hooks (add new hooks dynamically)
注意它 Hook 列表中有 Crypto 和 Hash,這兩個類型在破解大部分 APP 的加密參數時可以說是降維打擊,因爲大部分 APP 的加密參數都逃不過 MD5、SHA1、AES、DES 這四種,而它們都被 Hook 了(不僅僅只有這四種)。基本上就是打開 Inspeckage 再打開它的 Web 端,然後打開指定的 APP 操作一下,一個搜索,加密參數就原形畢露了。
- DeveloperHelper
一個基於 Xposed 寫的輔助工具,通常會用到的功能是查看 Activity 名、查看加固類型、查看 Activity 結構、自動脫殼這幾個。
- UCrack
也是一個基於 Xposed 寫的輔助工具,集成了自動網絡抓包、網絡堆棧爆破、文件日誌、WebView 調試環境、自動脫殼、Native 函數註冊監控、記錄程序自殺堆棧等功能,這個工具是我之前偶然發現的,還沒有使用過,有興趣的同學可以用用看。
C/C++ 層(So 庫)
- IDA**(必備常用工具之一)**
非常強大的反彙編和動態調試工具,強烈不推薦使用 NSA 開源的 Ghidra,效果跟 IDA 比起來差太多了。IDA 可以在反彙編之後將彙編代碼轉成僞 C 代碼,並且能在手機端啓動了服務端之後注入 APP 進程使用動態調試功能。
- Frida**(必備常用工具之一)**
上面講過了
-
有殼(加固)的
-
DeveloperHelper
上面講過了
- UCrack
上面講過了
- FDex2
其實就是把幾行代碼包了一層而已,原理就是 Hook ClassLoader 的 loadClass 方法,反射調用 getDex 方法取得 Dex(com.android.dex.Dex 類對象),再將裏面的 dex 寫出。
逆鋒起筆
是一個專注於程序員圈子的技術平臺,你可以收穫最新技術動態
、最新內測資格
、BAT等大廠大佬的經驗
、增長自身
、學習資料
、職業路線
、賺錢思維
,微信搜索逆鋒起筆
關注!
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/_fM2RrlTtkU0JE3bPd1UJg