1、工具集
?吾愛 工具集
官網(wǎng):https://www.52pojie.cn/
工具集:https://down.52pojie.cn?
:https://www.52pojie.cn/thread-811805-1-1.html
看雪 工具集
官網(wǎng):https://bbs.kanxue.com/
工具集:https://tools.pediy.com
看雪 知識(shí)庫(kù)
看雪 知識(shí)庫(kù):https://www.kanxue.com/chm.htm?id=14693
安卓 逆向環(huán)境?r0env
安裝設(shè)置 r0env
- :https://mp.weixin.qq.com/s/umxxDAxRZw3kyCPDV-63RQ
- :https://mp.weixin.qq.com/s/gBdcaAx8EInRXPUGeJ5ljQ
原味鏡像介紹視頻:https://www.bilibili.com/video/BV1qQ4y1R7wW/
百度盤:鏈接:https://pan.baidu.com/s/1anvG0Ol_qICt8u7q5_eQJw?提取碼:3x2a
阿里盤:http://49.235.84.125:8080/r0env
登錄時(shí)用戶名:root 密碼:toor
環(huán)境部署 r0env
:https://www.52pojie.cn/thread-1755913-1-1.html
1.更新系統(tǒng)源:apt update
2.KaliLinux 默認(rèn)不帶中文 安裝中文字體
? ? ? ? apt install xfonts-inti-chinese
? ? ? ? apt install ttf-wqy-microhei
3.簡(jiǎn)單的防盜版:nano /etc/hostname、ctrl +x退出
4.鏈接手機(jī):數(shù)據(jù)線、wifi adb
5.快速調(diào)出terminal:ctrl + alt + T
6.安裝幾個(gè)必備軟件
? ? ? ? apt install tmux jnettop htop
? ? ? ? jnettop 實(shí)時(shí)看下載的流量和端口
7.htop ?看當(dāng)前系統(tǒng)的內(nèi)存
8.uname -a ?查看當(dāng)前手機(jī)架構(gòu)
安卓 逆向 必備工具
- 1、一塊安卓手機(jī)。(最好google手機(jī),用于安裝應(yīng)用,調(diào)試等)
- 2、Charles。主要用于抓包,抓取應(yīng)用的接口。
- 3、jadx-gui。也可以選擇使用jeb,拖入即可。
- 4、Android Killer。一般用來(lái)把反編譯的APP重新編譯,用來(lái)編輯samil代碼來(lái)調(diào)試。
- 5、Android Studio。安卓的開發(fā)IDE,雖然是做逆向,但是正向的工具絕對(duì)不能少,里面也自帶了monitor調(diào)試查看工具,截圖工具等,而且在我們逆向的時(shí)候常常遇到一些比較疑惑的代碼,可以用Android studio來(lái)重現(xiàn)出代碼的執(zhí)行意義。
- 6、IDA pro。分析SO層必不可少的神器,它也可以只是動(dòng)態(tài)調(diào)試SO層代碼。
- 7、Visual Studio。主要用來(lái)把so層的代碼還原出來(lái),因?yàn)镾O層是ARM指令,但是它可以轉(zhuǎn)換成偽代碼,一定條件下我們可以將偽代碼扣成C++代碼用來(lái)重現(xiàn)執(zhí)行效果。
- 8、Frida。這個(gè)hook工具可以直接hook so層函數(shù),也可以hook java層的函數(shù),并且不需要重啟手機(jī),非常的方便,比xposed方便多了。
- 9、IDEA。這個(gè)主要用來(lái)寫java和frida腳本的,但是需要在里面添加進(jìn)python的支持
- 10、python。這個(gè)是必須的,因?yàn)閒rida就是通過python來(lái)進(jìn)行安裝的。
- 11、winHex。十六進(jìn)制編輯器,分析so或者查看Android的dex的時(shí)候需要。
- MT管理器 / RE文件管理器
2、抓 包
charles
?:https://www.charlesproxy.com/
mac端很舒服輕松的小花瓶,抓應(yīng)用層Http(s)請(qǐng)求,
Fiddler
:https://www.telerik.com/fiddler
windows端的 “Charles", 抓應(yīng)用層Http(s)請(qǐng)求。但不推薦使用,因?yàn)樗鼰o(wú)法導(dǎo)入客戶端證書(p12、Client SSL Certificates),對(duì)于服務(wù)器校驗(yàn)客戶端證書的情況無(wú)法 Bypass
BrupSuite
一個(gè)較為專業(yè)的抓包工具
mitmproxy
可以使用攔截 request、response 的 代理工具
WireShark
https://www.wireshark.org/
會(huì)話層抓包很方便,通常需要配合反編譯找到協(xié)議的組成方式。 建議使用方式:電腦端開熱點(diǎn),然后指定用于創(chuàng)建熱點(diǎn)的虛擬網(wǎng)卡,再把手機(jī)連上熱點(diǎn)開始抓包
TcpDump
適用于會(huì)話層抓包,可以直接在手機(jī)上運(yùn)行 Tcpdump 然后導(dǎo)出文件在電腦端WireShark中打開,與直接使用 WireShark 抓包效果相同
Postern
Android系統(tǒng)里一款非常流行的代理/ 虛擬專用網(wǎng)絡(luò)管理程序,是一個(gè)全局代理工具。支持的代理協(xié)議有: HTTPS/HTTP、SSH隧道、Shadowsocks、SOCKS5 代理等
Jnettop
實(shí)時(shí)查看流量走勢(shì)和對(duì)方IP地址,直觀生動(dòng)
ProxyDroid
強(qiáng)制全局代理工具,適用于常規(guī)charles等工具抓不到包的情況。原理是通過 iptables 將所有TCP連接重定向到代理服務(wù)器上,強(qiáng)制性地讓APP的HTTP請(qǐng)求通過代理。
PacketCapture
VPN 抓包工具,原理是在本地創(chuàng)建一個(gè)VPN,使所有請(qǐng)求都從VPN中流過,從而實(shí)現(xiàn)不適用代理抓包的效果
HTTPCanary
VPN 抓包工具,原理是在本地創(chuàng)建一個(gè)VPN,使所有請(qǐng)求都從 VPN 中流過,從而實(shí)現(xiàn)不適用代理抓包的效果
Hping
面向命令行的用于生成和解析TCP/IP協(xié)議數(shù)據(jù)包匯編/分析的開源工具。它支持TCP,UDP,ICMP和RAW-IP協(xié)議,具有跟蹤路由模式 ?
?
3、反編譯
逆向工具清單:https://zhuanlan.zhihu.com/p/390212630
Android-Crack-Tool For Mac
:https://github.com/Jermic/Android-Crack-Tool
mac 下 Android 逆向神器,實(shí)用工具集
AndroidCrackTool集成了Android開發(fā)中常見的一些編譯/反編譯工具,方便用戶對(duì)Apk進(jìn)行逆向分析,提供Apk信息查看功能.目前主要功能包括(詳細(xì)使用方法見使用說(shuō)明):
- 反編譯APK
- 重建APK
- 簽名APK
- 優(yōu)化APK
- DEX2JAR(APK2JAR)
- JDGUI
- 提取DEX
- 提取XML
- Class to smail
- Apk信息查看
- Unicode轉(zhuǎn)換
apktool
?:https://github.com/iBotPeaches/Apktool
一款功能強(qiáng)大且操作簡(jiǎn)單的apk反編譯工具,能夠?qū)⒎淳幾g的apk文件保存到同名目錄中,還能幫用戶將反編譯的dex、odex 重新編譯成dex文件
Android Killer
一般用來(lái)把反編譯的APP重新編譯,用來(lái)編輯 samil 代碼來(lái)調(diào)試。
JEB
JEB是一個(gè)功能強(qiáng)大的安卓應(yīng)用程序反編譯工具,用于逆向工程或者審計(jì)apk文件。
使用:jeb >?Jadx/Jadx-gui > apktool
jd-gui
?:https://github.com/java-decompiler/jd-gui
可將安卓可執(zhí)行文件dex轉(zhuǎn)為jar包,并提供可視化代碼閱讀能力
dex2jar
?:https://github.com/pxb1988/dex2jar
將安卓可執(zhí)行文件 dex 轉(zhuǎn)為 jar 包
Jadx、Jadx-gui
?:https://github.com/skylot/jadx
非常方便的 Java 反編譯工具,一般用到的功能主要是搜索、反混淆、查找方法調(diào)用這幾樣,性能和反編譯出來(lái)的代碼效果都比使用 dex2jar+jd-gui 之類的方式好。
wxUnpacker
:https://github.com/geilige/wxappUnpacker
github上牛人寫的小程序反編譯工具 , 現(xiàn)已被封,但有其他fork版本
ByteViewer
?:https://github.com/Konloch/bytecode-viewer
支持apk、dex等多種文件格式的反編譯
4、Hook 框架
Xposed、VirtualXposed、EdXposed、taichi (太極)、LSPosed
- Xposed:是一個(gè)模塊框架,可以在不接觸任何APK的情況下更改系統(tǒng)和應(yīng)用程序的行為。但是自從 android 7.0 之后,xposed 的開發(fā)者 rovo89 基本就不維護(hù)了
- VirtualXposed:是基于VirtualApp 和 epic,可以在非ROOT環(huán)境下運(yùn)行Xposed模塊(支持5.0~8.1)。Virtual Xposed 的機(jī)制為模擬 Xposed 環(huán)境,可以把它簡(jiǎn)單的理解為一臺(tái)已經(jīng)刷了 Xposed 框架的虛擬機(jī)
- EdXposed:android 7.0 之后,xposed 雖然死了,但它卻不再是唯一。這就是 Edxposed 框架,Edxposed 全稱 Elder driver Xposed Framework,簡(jiǎn)稱 edxp,或者 ed。
- taichi:太極是一個(gè)類似于Xposed的框架,但它本身與Xposed沒有任何關(guān)系,唯一有關(guān)系的可能是太極與Xposed 模塊兼容,它能夠加載 Xposed模塊、然后通過模塊改變系統(tǒng)和應(yīng)用的行為。 如:修改系統(tǒng)和APP、攔截方法,執(zhí)行hook邏輯等。 太極既能以傳統(tǒng)的 Root/刷機(jī) 方式運(yùn)作,也能 免Root/免刷機(jī) 運(yùn)行,但是有 Root 后能解鎖更多的能力?,F(xiàn)在支持包括 Android 5.0 ~ 12 在內(nèi)的幾乎所有機(jī)型
- LSPosed:是 Edxposed 的一個(gè)新的分支,LSPosed 與Edxposed 相互兼容,卻比 Edxposed 更加簡(jiǎn)潔、易用和高效,是現(xiàn)如今飽受詬病的 Edxposed 的極佳替代品。
相關(guān)模塊:?
- JustTrustMe:https://github.com/Fuzion24/JustTrustMe?;赬posed寫的可以繞過SSL Pinning檢測(cè)的工具
- Inspeckage:https://github.com/ac-pm/Inspeckage。 基于Xposed寫的動(dòng)態(tài)分析工具,Hook了大量逆向時(shí)常見的方法,如Crypto、Hash,這兩個(gè)類型在破解大部分APP的加密參數(shù)時(shí)可以說(shuō)是降維打擊,因?yàn)榇蟛糠諥PP的加密參數(shù)都逃不過MD5、SHA1、AES、DES這四種,而它們都被Hook了(不僅僅只有這四種)。基本上就是打開Inspeckage再打開它的Web端,然后打開指定的APP操作一下,一個(gè)搜索,加密參數(shù)就原形畢露了
?
平頭哥
github:https://github.com/virjarRatel
平頭哥(ratel)是一個(gè) Android 逆向分析工具套件,他提供一系列漸進(jìn)式app逆向分析工具。同時(shí)平頭哥也是一個(gè)app二次開發(fā)的沙箱環(huán)境,支持在免root環(huán)境下hook和重定義app功能。 對(duì)于大部分app來(lái)說(shuō),平頭哥打開了潘多拉魔盒,請(qǐng)不要在授權(quán)之外違法使用平頭哥(僅建議用于個(gè)人定制化使用、app攻防安全研究等領(lǐng)域),在ratel官方授權(quán)之外違規(guī)使用ratel造成的一些后果由使用者自定承擔(dān)
平頭哥是一個(gè)app逆向分析的生態(tài),開發(fā)進(jìn)度歷時(shí)3年。目前正考慮推出商業(yè)版本的開源化。同時(shí)作為一套完善閉環(huán)的工具鏈,平頭哥的相關(guān)功能是非常多的。能夠在免root手機(jī)中使用xposed的框架。支持5.0-10.0。使用ratel可以任意控制app的行為,如同開啟上帝模式一樣。
Frida
?github:https://github.com/frida/frida
作為Hook工具,相對(duì)于Xposed而言Frida的受歡迎度不斷上升,它的功能在某些方面要比Xposed強(qiáng)得多。 它是一種動(dòng)態(tài)插樁工具,可以插入一些代碼到原生app的內(nèi)存空間去,動(dòng)態(tài)地監(jiān)視和修改其行為,可對(duì)內(nèi)存空間里的對(duì)象方法實(shí)現(xiàn)監(jiān)視、修改甚至替換
Objection
?github:https://github.com/sensepost/objection
Frida 的集成化工具,簡(jiǎn)單易用
hooker
hooker 逆向工作臺(tái):https://github.com/CreditTone/hooker
基于 frida 實(shí)現(xiàn)的逆向工具包。為逆向開發(fā)人員提供統(tǒng)一化的腳本包管理方式、通殺腳本、自動(dòng)化生成hook腳本、內(nèi)存漫游探測(cè) activity 和 service、firda 版JustTrustMe。
hooker 和 frida、objection 有什么不同
- 職責(zé)不同:frida 注重打造調(diào)試引擎、objection 注重將 frida 的 api 簡(jiǎn)單封裝一下讓你好快速上手 frida。而 hooker 是重新站在一個(gè)安卓應(yīng)用開發(fā)和安卓逆向工程師的角度去打造的更加專業(yè) Android 逆向工作臺(tái),重新定義了逆向 android 的工作方式。
- 封裝不同:frida 是基于gumjs(V8)、C/C++封裝的調(diào)試引擎,用于動(dòng)態(tài) Hook 跟蹤、攔截和主動(dòng)調(diào)用函數(shù)等。hooker 是基于 frida 作為引擎和自己打造的 Dex 庫(kù)(radar)調(diào)用 Android Framework 層代碼完成的。
- 交互方式不一樣:frida 和 objection 只有 attach 上才能操作各種指令,而 hooker 提供 shell 命令行交互式讓你可以通過 jadx 進(jìn)行動(dòng)靜結(jié)合分析。
- 更注提供重 Android 逆向 思路和線索:frida 和 objection 沒有對(duì)任何 Android Freamwork 層 的 hook 和能主動(dòng)調(diào)用代碼點(diǎn)位進(jìn)行封裝,這使得難以有逆向思路。而 hooker 的幾乎所有命令都是圍繞 Android Freamwork 進(jìn)行封裝,讓一個(gè)即使沒有 Android 開發(fā)經(jīng)驗(yàn)的人也能快速找到逆向分析思路。
- hook 腳本產(chǎn)出方式不一樣:frida 你需要先進(jìn)行很多語(yǔ)法方面的學(xué)習(xí),才能完成對(duì)各種類的各種方法進(jìn)行frida腳本的編寫。hooker 不需要你了解 frida 語(yǔ)法細(xì)節(jié)。比如你只需通過 j okhttp3.OkHttpClient:newCall 就可以生成一個(gè) hook okhttp3.OkHttpClient 類的 newCall 方法的腳本, 即使對(duì)于任何一個(gè)被混淆的類操作也是如此。(你應(yīng)該把更多的時(shí)間和精力放在逆向思路上,而不是熟悉某些語(yǔ)法上。)
- 提供操作原生 AndroidUI 功能:你可以 ./attach 每個(gè) app 目錄下的 android_ui.js 腳本,它提供了通過 ViewId、ViewText 找到 Android 原生的 View 并點(diǎn)擊,或者你想強(qiáng)制打開某個(gè) Activity(比如某個(gè)界面只有會(huì)員才能進(jìn)入,這時(shí)候你就可以采用 Android "原生代碼" 打開的方式)。
hooker 僅支持在 Linux 和 MacOS 下運(yùn)行,并且現(xiàn)在和將來(lái)都不會(huì)支持 windows 操作系統(tǒng)!
hooker-for-windows:https://github.com/p1s1lver/hooker-for-windows
hooker:https://github.com/CreditTone/hooker
cd hooker
pip install -r requirements.txt通過 requirements.txt 可以發(fā)現(xiàn) hooker 支持的 frida版本是 14.2.2,也可以升級(jí)到最新的frida,但是使用時(shí)需要修改下hooker 的源碼,因?yàn)?14 版本的 frida 使用?"com.xxx.xxx" 包名?,14+ 版本的 frida 使用?"app的名字"?
- 提示1: 第一次調(diào)試你的應(yīng)用時(shí)hooker將在當(dāng)前目錄生成以進(jìn)程Identifier命名的應(yīng)用專有工作目錄,并初始化生成一些你可能會(huì)用到的通殺腳本。
- 提示2: 成功attach一個(gè)應(yīng)用時(shí),命令將pause在等待輸入調(diào)試指令的階段。pause狀態(tài)下使用命令進(jìn)行高級(jí)調(diào)試請(qǐng)直接跳到hooker調(diào)試命令行
- 提示3: attach時(shí)hooker會(huì)將radar.dex文件拷貝到手機(jī)的/data/user/0/{package}/目錄下。如果沒有復(fù)制過去,需要手動(dòng) adb push 過去
5、脫殼
Frida 的 dexDump
號(hào)稱“葫蘆娃”,F(xiàn)rida集成工具,實(shí)現(xiàn)一鍵脫殼
Fart
?github:https://github.com/hanbinglengyue/FART
內(nèi)存中DexFile結(jié)構(gòu)體完整dex的dump進(jìn)行脫殼
DeveloperHelper
基于Xposed寫的輔助工具,常用于查看Activity名、查看加固類型、查看Activity結(jié)構(gòu)、自動(dòng)脫殼。
UCrack
基于Xposed寫的輔助工具,集成了自動(dòng)網(wǎng)絡(luò)抓包、網(wǎng)絡(luò)堆棧爆破、文件日志、WebView調(diào)試環(huán)境、自動(dòng)脫殼、Native函數(shù)注冊(cè)監(jiān)控、記錄程序自殺堆棧等功能
6、調(diào)試
postman
官網(wǎng):https://www.postman.com/
http 請(qǐng)求接口調(diào)試,支持cURL導(dǎo)入
adb
安卓調(diào)試橋,逆向中用于軟件安裝、服務(wù)啟動(dòng)、動(dòng)態(tài)調(diào)試等,用法相當(dāng)于Linux shell
IDA Pro
強(qiáng)大的調(diào)試工具,逆向中常用于so動(dòng)靜態(tài)分析,幫助破解Native加密邏輯
unidbg
unidbg 是一個(gè)標(biāo)準(zhǔn)的 java 項(xiàng)目,是一款基于 unicorn 和 dynarmic 的逆向工具。可以直接黑盒調(diào)用 Android 和 IOS 的 so 文件,無(wú)論是黑盒調(diào)用 so 層算法,還是白盒 trace 輸出 so 層寄存器值變化都是一把利器~ 尤其是動(dòng)態(tài) trace 方面堪比 ida trace。
DDMS、Monitor
Dalvik Debug Monitor Service,是 Android 開發(fā)環(huán)境中的Dalvik虛擬機(jī)調(diào)試監(jiān)控服務(wù),它提供查看線程和堆信息、logcat、進(jìn)程、廣播狀態(tài)信息等功能
7、自動(dòng)化
appium
用于自動(dòng)化 iOS 手機(jī)、 Android 手機(jī)和 Windows 桌面平臺(tái)上的原生、移動(dòng) Web 和混合應(yīng)用。核心是一個(gè)是暴露 REST API 的 WEB 服務(wù)器。它接受來(lái)自客戶端的連接,監(jiān)聽命令并在移動(dòng)設(shè)備上執(zhí)行,答復(fù) HTTP 響應(yīng)來(lái)描述執(zhí)行結(jié)果
selenium
Selenium( selenium 中文網(wǎng):http://www.selenium.org.cn/ )是一個(gè)強(qiáng)大的網(wǎng)絡(luò)數(shù)據(jù)采集工具,最初是為了網(wǎng)站自動(dòng)化測(cè)試而開發(fā)的,被用來(lái)測(cè)試 Web 應(yīng)用程序在不同的瀏覽器和操作系統(tǒng)上運(yùn)行能力。Selenium 不帶瀏覽器,它需要與第三方瀏覽器結(jié)合在一起使用。例如,如果你在 Chrome 上運(yùn)行 Selenium
playwright
Playwright 可以在所有瀏覽器中實(shí)現(xiàn)快速、可靠和強(qiáng)大的自動(dòng)化測(cè)試。
8、虛擬機(jī)、模擬器
VMOS
VMOS(虛擬大師)是 Android 系統(tǒng)上的 Vmvare,完整的且自帶 Root 系統(tǒng)能夠讓你實(shí)現(xiàn)無(wú)限可能,不論是 Xposed 還是游戲輔助,后臺(tái)掛機(jī)都能完美適配。
安卓 模擬器
:https://www.bear20.com/xxzt/pcmnq/?f=bdf_443527文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-485629.html
- 模擬器 (雷電、夜神、逍遙 等)
9、爬蟲 必備 庫(kù)
requests
httpx
fake_useragent
Linux cURL
scrapy
scrapy-redis
Selenium、ChomeDrive ? ? ? ??
aiohttp
lxml
pyquery
beautifulsoup
jupyter 在線記事本。
pymql
pymongo
Redis
Flask
mitmproxy文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-485629.html
到了這里,關(guān)于安卓逆向_0 --- 逆向、安全、工具集的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!