背景
在APP的逆向過程中避免借助使用一些反匯編工具,動靜態(tài)調(diào)試分析工具,自然也免不了和frida這個工具打交道,frida作為強大的逆向分析工具在攻防過程中具有不可撼動的地位。
很多frida玩得很溜的牛人,將frida強大的功能集成一個工具便于大家去使用它,這個工具就是objection。
frida github 地址
objection github地址
objection 它的功能非常強大,支持的命令眾多。它是基于Frida開發(fā)的命令行工具,它可以實現(xiàn)不用寫一行代碼,便可實現(xiàn)諸如內(nèi)存搜索、類和模塊搜索、方法hook打印參數(shù)返回值調(diào)用棧等常用功能,因此稱它為一款非常便捷高端的逆向工程內(nèi)存漫游神器都不為過。
Objection功能雖然強大,但它有個比較大的遺憾就是缺少對native層的支持。
分析準(zhǔn)備
由于objection是基于frida的,因此在使用objection前,也是需要啟動frida-server和端口轉(zhuǎn)發(fā)。
1.啟動frida-server
2.端口轉(zhuǎn)發(fā)
3.objection功能的啟動(它也是通過想目標(biāo)app進行注入frida的so文件然后進行做對應(yīng)功能操作)
一切就緒后目標(biāo)APP就多了個frida的so文件了
四大組件分析
Android 四大組件分別為:
Activity
Service
BroadCast Receiver
Content Provider
可通過android hooking list 組件名稱的命令列出想查詢分析的四大組件信息
通過android hooking list activities可將應(yīng)用中的所有activity列出
通過android hooking list services可將應(yīng)用中的所有services列出
通過android hooking list receivers可將應(yīng)用中的所有receivers列出
搜索功能分析
以下命令用于搜索內(nèi)存相關(guān)的
枚舉當(dāng)前進程模塊
查看指定模塊的導(dǎo)出函數(shù)
memory list exports [lib_name]
將結(jié)果保存到j(luò)son文件中
memory list exports libart.so --json /root/libart.json
搜索內(nèi)存包含指定的字符串信息
memory search --string --offsets-only
dump整個內(nèi)存
memory dump all from_base
列出內(nèi)存中所有的類
android hooking list classes
在內(nèi)存中所有已加載的類中搜索包含特定關(guān)鍵詞的類
android hooking search classes [search_name]
在內(nèi)存中所有已加載的方法中搜索包含特定關(guān)鍵詞的方法
android hooking search methods [search_name]
直接生成hook代碼
android hooking generate simple [class_name]
查詢指定模塊的所有接口
搜索APP指定字符串信息
查詢類的詳細(xì)信息
轉(zhuǎn)存APP的運行內(nèi)存數(shù)據(jù)
搜索內(nèi)存中的所有函數(shù)
HOOK功能分析
hook指定方法, 如果有重載會hook所有重載,如果有疑問可以看
--dump-args : 打印參數(shù)
--dump-backtrace : 打印調(diào)用棧
--dump-return : 打印返回值
android hooking watch class_method com.xxx.xxx.methodName --dump-args --dump-backtrace --dump-return
hook指定類, 會打印該類下的所以調(diào)用
android hooking watch class com.xxx.xxx
設(shè)置返回值(只支持bool類型)
android hooking set return_value com.xxx.xxx.methodName false
查看目前所有hook的方法
Jobs list
androidhookingwatchclassio.virtualapp.home.HomeActivity
進行hook 類io.virtualapp.home.HomeActivity
其他功能分析
通過執(zhí)android shell_exec命令,可以實現(xiàn)調(diào)用執(zhí)行指定命令功能
通過執(zhí)行 android shell_exec “ps”查詢當(dāng)前環(huán)境所有運行的進程信息
通過調(diào)用env命令查看APP相關(guān)的目錄
通過命令,關(guān)閉ssl校驗
android sslpinning disable
審核編輯:劉清
-
Android系統(tǒng)
+關(guān)注
關(guān)注
0文章
56瀏覽量
13675
原文標(biāo)題:Objection高效對APP逆向分析實踐
文章出處:【微信號:哆啦安全,微信公眾號:哆啦安全】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
Windows/Ubuntu安裝frida和objection
frida-inject工具使用及說明 內(nèi)置frida-inject工具到手機系統(tǒng)

電子產(chǎn)品逆向設(shè)計完整解決方案
[原創(chuàng)電子產(chǎn)品逆向設(shè)計的相關(guān)資料〈抄板軟件+PCB返原理圖〉
[資料分享]+《Android軟件安全與逆向分析》
三維逆向工程的成果及應(yīng)用案例
眼睛按摩器需要找誰來逆向開發(fā)
IC驗證“UVM驗證平臺加入objection機制和virtual interface機制“(七)
3d打印逆向工程操作步驟、流程及作用講解
app漏洞題 安裝包8.apk,要求獲得flag
逆向基礎(chǔ)題:安裝包是11.ab,要求密碼驗證登陸
Android使用Wireshark抓包
聊一聊所謂的Objection機制

評論